ISTQB CTFL v2018. 2.Prueba a lo largo del ciclo de vida. Presentación y ejemplos básicos.

  • Autor de la entrada:
  • Categoría de la entrada:ISTQB

Intro

La unidad 2. Prueba a lo largo del ciclo de vida del desarrollo de software, se compone de los siguientes puntos:

2. Prueba a lo largo del ciclo de vida de desarrollo de software
2.1. Modelos de ciclo de vida del desarrollo de software
2.1.1. Desarrollo de software y prueba de software
2.1.2. Modelos de ciclo de vida del desarrollo de software en contexto
2.2. Niveles de prueba
2.2.1. Prueba de componente
2.2.2. Prueba de integración
2.2.3. Prueba de sistema
2.2.4. Prueba de aceptación
2.3. Tipos de prueba
2.3.1. Prueba funcional
2.3.2. Prueba no funcional
2.3.3. Prueba de caja blanca
2.3.4. Prueba asociada al cambio
2.3.5. Tipos de prueba y niveles de prueba
2.4. Prueba de mantenimiento
2.4.1. Activadores para el mantenimiento
2.4.2. Análisis de impacto para el mantenimiento

Presentación

La prueba de software es un proceso integral que se lleva a cabo a lo largo del ciclo de vida del desarrollo de software. En esta síntesis, exploraremos los conceptos claves relacionados con la prueba en el marco del Programa de Estudios Nivel Básico ISTQB CTFL versión 2018.

Comenzamos examinando los modelos de ciclo de vida del desarrollo de software. Estos modelos describen las etapas y actividades involucradas en la creación de software. Es importante entender cómo el desarrollo de software y la prueba de software están interconectados en estos modelos. Además, se explora cómo los diferentes modelos de ciclo de vida del desarrollo de software se adaptan a diferentes contextos.

Luego, se abordan los niveles de prueba, que representan diferentes etapas en las que se puede llevar a cabo la prueba. Estos niveles incluyen la prueba de componente, que se centra en probar unidades individuales de software, la prueba de integración, que se enfoca en probar la interacción entre diferentes componentes, la prueba de sistema, que verifica el funcionamiento adecuado del sistema en su conjunto, y la prueba de aceptación, que se realiza para verificar si el sistema cumple con los requisitos del usuario final.

A continuación, se exploran los tipos de prueba, que abarcan diversas perspectivas de evaluación. Estos incluyen la prueba funcional, que se enfoca en verificar si el software cumple con los requisitos funcionales, y la prueba no funcional, que se concentra en aspectos como el rendimiento, la seguridad y la usabilidad del sistema. También se aborda la prueba de caja blanca, que analiza la estructura interna del software, y la prueba asociada al cambio, que se realiza después de realizar modificaciones en el software existente. Además, se destaca cómo los diferentes tipos de prueba se relacionan con los niveles de prueba mencionados anteriormente.

Por último, se examina la prueba de mantenimiento, que se realiza después de que el software ha sido implementado y utilizado en producción. Se exploran los activadores que pueden desencadenar la necesidad de realizar pruebas de mantenimiento, así como el análisis de impacto, que evalúa los efectos de los cambios en el software existente durante el mantenimiento.

En resumen, la prueba de software es un proceso que se realiza a lo largo del ciclo de vida del desarrollo de software. Los diferentes modelos de ciclo de vida, niveles de prueba, tipos de prueba y la importancia de la prueba de mantenimiento son aspectos clave que deben entenderse para llevar a cabo pruebas efectivas y asegurar la calidad del software en todas las etapas del desarrollo.

Ejemplos básicos

Ejemplo: En un modelo de ciclo de vida en cascada, el equipo de testing realiza pruebas exhaustivas en cada etapa antes de pasar a la siguiente, como la prueba de integración después de completar el desarrollo de componentes individuales.
Niveles de prueba:

Prueba de componente:
Ejemplo: El tester realiza pruebas unitarias en una función específica del software, verificando que funcione correctamente y cumpla con los requisitos definidos.

Prueba de integración:
Ejemplo: El tester verifica que los componentes del software interactúen adecuadamente entre sí y cumplan con los requisitos de interoperabilidad establecidos.

Prueba de sistema:
Ejemplo: El equipo de testing realiza pruebas funcionales y de rendimiento en el sistema completo para asegurar que cumpla con los requisitos del cliente y funcione correctamente en su entorno objetivo.

Prueba de aceptación:
Ejemplo: El usuario final o el representante del cliente realiza pruebas de aceptación para verificar si el software satisface sus necesidades y requisitos específicos antes de su implementación.

Tipos de prueba:

Prueba funcional:
Ejemplo: El tester ejecuta pruebas de funcionalidad para verificar que todas las características y funciones del software se comporten según lo esperado y cumplan con los requisitos establecidos.

Prueba no funcional:
Ejemplo: El equipo de testing realiza pruebas de carga para evaluar el rendimiento del software bajo diferentes condiciones de carga y asegurar que responda adecuadamente sin degradar su rendimiento.

Prueba de caja blanca:
Ejemplo: El tester examina el código fuente del software y desarrolla pruebas de unidad para asegurar que todas las rutas lógicas sean evaluadas y que no haya segmentos de código sin probar.

Prueba asociada al cambio:
Ejemplo: Después de realizar una actualización o modificación en el software existente, el equipo de testing ejecuta pruebas de regresión para garantizar que los cambios realizados no hayan introducido nuevos errores ni afectado las funcionalidades existentes.

Activadores para el mantenimiento:
Ejemplo: Cuando se identifica un defecto en el software en producción, el equipo de testing realiza pruebas de corrección para resolver el problema y garantizar que el software vuelva a funcionar correctamente.

Análisis de impacto para el mantenimiento:
Ejemplo: Antes de realizar cambios significativos en el software, el equipo de testing realiza un análisis exhaustivo para evaluar el impacto de los cambios en otras áreas del sistema y planificar las pruebas necesarias para verificar que no se hayan introducido nuevos problemas.

Estos ejemplos ilustran cómo se aplican las actividades de testing en diferentes contextos y etapas del ciclo de vida del desarrollo de software. Es importante adaptarlos a situaciones específicas y requisitos particulares de cada proyecto.

Gus Terrera

Apasionado por el agile testing y la ia.