Bienvenida
En la Unidad 1. Fundamentos del aseguramiento de la calidad del software, se expuso el marco para el aseguramiento de la calidad; sin embargo, es necesario comprobar a través de una batería de pruebas que este marco efectivamente funciona; y si no, hacer los arreglos pertinentes para garantizar la calidad del software.
En la fase de diseño de pruebas es importante considerar que cada sistema de software es diferente. Habrá algunos sencillos, otros complejos; de cualquier modo, el equipo de pruebas tiene la función de guiar a todos los involucrados por el camino correcto, para que el proyecto se lleve a buen término. Después de todo, las pruebas arrojan información sobre que se basan las decisiones determinantes sobre el producto de software.
En el siguiente esquema se observa cómo las pruebas están en todo el proceso de desarrollo del sistema de software. Aunque se ubique gráficamente después del análisis y diseño, es precisamente desde el análisis y diseño del software donde se comienzan a elaborar los casos de prueba, que se aplican durante el desarrollo y antes de la implementación del sistema de software.

Fuente de consulta: https://n9.cl/f7b4p
En la presente unidad se sientan las bases para el diseño de pruebas de sistemas de software, y marca el precedente a la unidad 3. Mantenimiento de sistemas de software. Ya que un sistema puesto en marcha, después de un cierto tiempo, necesita mantenimiento para garantizar la calidad de su funcionabilidad.

Fuente: Imagen extraída de: https://www.docpath.com/art-the-importance-of-testing-your-software-development/?lang=es
Da clic en Competencias para continuar el estudio de la unidad 2.
Competencia específica
Diseñar un plan de pruebas para efectuar la revisión de productos de software durante el proceso de desarrollo, mediante el análisis de los requerimientos del software y el tipo de prueba correspondiente.
Logros
- Identificar en qué consiste la administración de procesos de pruebas de software.
- Identificar los tipos de técnicas de pruebas y sus aplicaciones.
- Relacionar los niveles de pruebas con su aplicación en el desarrollo de productos de software.
- Determinar el tipo de prueba y nivel requerido en un producto de software.
Da clic en Contenido para continuar el estudio de la unidad 2.
Contenido
Material de estudio
Da clic en el ícono, para descargar el contenido de la unidad 2.
Material de apoyo
Da clic en el ícono, para descargar el material de apoyo.
Da clic en Cierre para continuar el estudio de la unidad 2.
Cierre
Durante esta unidad se expusieron las fases de la administración del proceso de pruebas, la importancia de las mismas y la serie de actividades que están involucradas desde la planeación hasta el cierre del proyecto de pruebas. Dentro de la administración del proceso se encuentra el plan de pruebas que, a su vez, implica una serie de pasos que van desde la creación de casos de prueba, hasta la aplicación y evaluación de las mismas. Por supuesto, se incluye el cierre del proyecto de pruebas cuyo fin es el liberar el producto de software para su implantación.
También se identificaron los tipos de evaluación y las técnicas de pruebas disponibles, de acuerdo con lo que se desea evaluar, con su respectiva batería de pruebas:
- Caja blanca
- Caja negra
Se identificaron los niveles de pruebas que se evalúan, según las necesidades del proyecto de software:
- Pruebas unitarias
- Pruebas de integración
- Pruebas de implantación
- Pruebas de aceptación
- Pruebas de regresión
Cada nivel tiene un propósito definido que marca un precedente para el siguiente. La estrategia de pruebas está dada por el nivel de pruebas y la técnica a aplicar, así como los casos de pruebas y el personal capacitado y adecuado. El proceso de pruebas debe arrojar resultados base para las mejoras y correcciones necesarias que garanticen un sistema tolerante a fallos.
Después de haber superado las pruebas, el sistema está listo para su implantación y puesto en marcha. Lo que sigue es una fase importante en todo desarrollo de software: el mantenimiento, ya que es muy probable que un sistema en funcionamiento evolucione según las necesidades de la empresa. Para esto, es necesario que el mantenimiento de sistemas de software esté definido y de respuesta a las necesidades de crecimiento de una organización.
Recuerda que la mejor manera de aprender y comprender estos temas es practicar, por ello, es recomendable que repases los contenidos, así como que realices prácticas de elaboración de casos y planes de prueba. Considera todos los elementos, desde la selección de la estrategia hasta el diseño de los casos y la ejecución de las mismas. No olvides el análisis de los resultados y las acciones a realizar a partir de éste.
Antes de concluir con la unidad, se integran algunas reflexiones sobre las pruebas de software. Hace ocho años, el profesor Luis Vinicio León Carrillo (2007) afirmó que hasta el año 2006 aún no se contaba con una industria de prueba de software suficientemente grande y especializada en el país, con una oferta integral de servicios de alto valor agregado bien diferenciados.
Hoy se pueden observar en el mercado varias empresas que se dedican exclusivamente a la prueba de software. Las ofertas de trabajo también se han incrementado, ya sea para las empresas especializadas que realizan las pruebas de software a terceros o para aquellas que diseñan y prueban sus sistemas. También hay empresas que ofrecen la certificación de pruebas de software, alineada al programa de certificación del ISTQB, reconocido como un estándar internacional para probadores de software. La certificación del ISTQB consta de tres niveles: fundamentos, avanzado y experto. La actividad de pruebas de software sigue siendo un área de oportunidad importante a considerar como futuros profesionistas.

Fuente de consulta: https://n9.cl/r7mjq
Da clic en Fuentes de consulta para concluir el estudio de la unidad 2.
Fuentes de consulta
Básica
- Abran, C. y Moore J. (2004). Guide to the Software Engineering Body of Knowledge. EU. IEEE Computer Society Software TestinG. Disponible en https://cs.fit.edu/~kgallagher/Schtick/Serious/SWEBOKv3.pdf
- Bohem, B., Brown J., Kaspar, H., Lipow M., McLeod G. y Merritt, M. (1978). Characteristics of Software Quality (tomo 1). Cleveland: TRW Systems and Energy.
- Bourque, P. y Fairley, R. (2014). Guide to the Software Engineering Body of Knowledge Version 3.0. Disponible en https://cs.fit.edu/~kgallagher/Schtick/Serious/SWEBOKv3.pdf
- Calero, C. et. ál. (2010). Calidad del producto y proceso software. Madrid: RA-MA.
- Carrol, S. et. ál. (2007). Fundamental Concepts for the Software Quality Engineer, 2a. ed. Milwaukee: American Society for Quality.
- Davis, C. (2006). Test management best practices.
- DRAE. (s. f.). [Entrada: Prueba]. Disponible en https://dle.rae.es/prueba?m=form
- Fowler, M. (2000). UML Distilled, 2a. ed. Boston, MA: Addison Wesley Longman.
- Gutiérrez, R. Escalona, C., Mejías, R. y Torres, J. (2006). Generation of Test Cases from Functional Requirements: a Survey. Disponible en https://www.researchgate.net/publication/228979324_Generation_of_test_cases_from_functional_requirements_A_survey
- Heumman, J. (2001). Generating Test Cases from Use Cases. The Rational Edge. Disponible en https://www.researchgate.net/publication/220724437_Generating_Test_Cases_from_Sequences_of_Use_Cases
- IBM Rational Unified Process. RUP. (1998). Rational Unified Process. Best Practices for Software. Development Teams Rational Software. Disponible https://www.academia.edu/4962602/Rational_Unified_Process_Best_Practices_for_Software_Development_Teams
- IEEE (2017). 12207-2017 - ISO/IEC/IEEE International Standard - Systems and software engineering -- Software life cycle processes. Disponible en: https://standards.ieee.org/ieee/12207/5672/
- IEEE Standard. (2014). 610.12-1990 IEEE Standard Glossary of Software Engineering Terminology. Disponible en https://n9.cl/3q2u3
- ISTQB. (2023). Standard Glossary of Terms Used in Software Testing Disponible en https://glossary.istqb.org/es_ES/search
- Koirala, S. y Sheikh, S. (2008). Software Testing. Burlington, MA: Jones & Bartlet Publishers.
- León, L. (2007). La industria de prueba de software en México. Buenas oportunidades si nos especializamos y crecemos. Disponible en https://sg.com.mx/content/view/369
- Llorens, J. (2005) Gerencia de proyectos de tecnología de información. Caracas: CEC.
- Ministerio de Comunicaciones (2008). Plan de pruebas detallado Sistema de notificación en línea. Bogotá, Colombia. Disponible en https://www.mintic.gov.co/portal/715/articles-125156_recurso_00.pdf
- Myers, G. Wiley, J. y Sons (2004). The Art of Software Testing, 2a. ed. New Jersey: John Wiley & Sons.
- MSDN Microsoft Developer Network (2014a). How to: Generate a Coded UI Test by Recording the Application Under Test. Disponible en https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/dd286608(v=vs.100)?redirectedfrom=MSDN
- MSDN Microsoft Developer Network. (2022b). Informes del progreso de las pruebas para los planes de pruebas. Disponible en https://docs.microsoft.com/es-es/azure/devops/test/progress-report?view=azure-devops
- Ness, p. y Thomas, L. (2005). The Rational Unified Process for testers. IBM.
- Périssé, M. y Pepe, L. (2007). Casos de prueba.
- Reynolds, G. (1995). Information Systems for Managers, 3a. Ed. New York: West Publishing Company.
- Sommerville, I. (2011). Ingeniería del software, 9a. ed. México: Pearson Educación.
- Srinivasan, D. (2006). Software Testing. Delhi: Dorling Kindersley.
- Testing Standards. (2014). BS 7925-1 Glossary of Terms Used in Software Testing. Disponible en http://www.testingstandards.co.uk/bs_7925-1_online.htm
- Thakare, S. y Chavan, S. (2012). Software Testing Strategies and Technique. International Journal of Emerging Technology and Advanced Engineering, (2).
- ISO/IEC/IEEE 29119 Software Testing. (2013). The International Software Testing Standard. Disponible en https://docplayer.es/1465403-Estado-actual-del-estandar-iso-iec-29119-software-testing.html
- ISO. (2001). ISO/IEC TR 9126-1. Software Engineering: Product Quality. Part 1. Quality Model. Switzerland: ISO.
- Pressman, R. (2010). Software Engineering: A Practitioner's Approach. Disponible en https://n9.cl/jiwrpx
Imágenes
- Kong, W. (2009). Towards a Formal and Scalable Approach for Quantifying Software Reliability at Early Development Stages. College Park: University of Maryland.
- SoftQaNetwork. (2009). El Famosíssim V-Model.
- The Bugzilla Guide. (2006). 6.4. Life Cycle of a Bug. Disponible en https://www.bugzilla.org/docs/2.18/html/lifecycle.html
- Tutorialspoint. (2014). Cause-Effect Graph. Disponible en http://www.tutorialspoint.com/software_testing_dictionary/cause_effect_graph.htm
- UnADM. Universidad Nacional Abierta y a Distancia. (2014). Lección 41. Enfoque de la Prueba del Software.
Muy bien, has concluido el estudio de la unidad 2, ahora realiza las Actividades de aprendizaje.