Fundamentos, estrategias, organización y estrategia general de pruebas de software
Introducción a las Estrategias de Pruebas de Software
Definición y Conceptos Básicos
- Se da la bienvenida a la lección sobre estrategias de organización y pruebas en software, comenzando con una definición básica de pruebas.
- Las pruebas son un proceso que abarca todas las actividades del ciclo de vida del software, tanto estáticas como dinámicas, para asegurar que los productos cumplan con los requisitos especificados.
Errores y Defectos
- Se define el error como un resultado incorrecto generado por acciones humanas durante el desarrollo del software.
- Un defecto es cuando algo no funciona correctamente debido a errores en su construcción; mientras que una falla se refiere a errores detectados durante el uso del software.
Tipos y Niveles de Pruebas
- Las pruebas funcionales buscan diferencias entre la funcionalidad real y los requerimientos definidos, mientras que las pruebas no funcionales verifican aspectos como rendimiento y usabilidad.
- Los niveles de prueba incluyen:
- Pruebas unitarias (errores en algoritmos o código).
- Pruebas de integración (errores en interfaces entre componentes).
- Pruebas de sistema (verificación del cumplimiento con requerimientos).
Verificación vs. Validación
Proceso de Verificación y Validación
- La verificación asegura que se construyó el producto correctamente; responde a la pregunta "¿Construimos el producto correctamente?".
- La validación asegura que el software cumple con los requerimientos establecidos; responde a "¿Construimos el producto correcto?".
Estrategia General de Pruebas
Componentes Clave
- La estrategia de pruebas describe los niveles y pasos necesarios para realizar las pruebas, incluyendo recursos y tiempo requeridos.
- Los roles involucrados incluyen desarrolladores, analistas de pruebas, testers y líderes de prueba, cada uno con responsabilidades específicas.
Consideraciones Importantes
- Un individuo puede desempeñar más de un rol dentro del proceso; aunque tradicionalmente se dice que un desarrollador no puede ser tester, esto puede variar en la práctica.
Modelo Espiral en Estrategias de Prueba
Enfoque Espiral
- La estrategia para probar software puede visualizarse mediante un modelo espiral donde:
- Las pruebas unitarias inician en el vértice concentrándose en cada unidad del código.
- A medida que se avanza hacia afuera, se realizan pruebas integradas enfocadas en la arquitectura del software.
Validación Final