Prueba de software y Ciclo de vida de Desarrollo de Software Un proyecto de desarrollo de software comprende las siguientes etapas: Análisis de Requerimientos Diseño del Sistema Implementación Testing
Mantenimiento
27/07/2009
2
Prueba de software y Ciclo de vida de Desarrollo de Software Etapa de Análisis de Requerimientos Se verifica que los requerimientos cumplan con las siguientes características: Correcto: refleja correctamente lo que el usuario quiere. Completo: describe todos los posibles valores, incluyendo los aspectos de seguridad, performance y accesibilidad. Consistente: no hay contradicciones entre los requerimientos. Realizable: puede ser entregado mas allá de las limitaciones dadas por la tecnología, el tiempo y el presupuesto. Testeable: El resultado esperado es conocido y puede ser programáticamente o visualmente verificado. Palabras como “maximizar” o “adecuado” no pueden ser verificadas y no deben usarse en los requerimientos. Trazable: Está claro a que parte del sistema aplica el requerimiento, y si aplica a mas de una. No ambiguo: Buscar por palabras ambiguas como “deberia” “puede” “etc.” “usualmente” “y/o” “rápido”.
27/07/2009
3
Prueba de software y Ciclo de vida de Desarrollo de Software
Etapa de diseño del sistema Durante esta etapa surgen los casos de prueba. Un caso de prueba consta
mínimamente de : Condición de la prueba Procedimiento Resultado esperado Desde desarrollo surgen los tests unitarios, con los cuales se verifica que cada unidad del código fuente esta apta para su uso.
27/07/2009
4
Prueba de software y Ciclo de vida de Desarrollo de Software
Etapa de Implementación Durante
el desarrollo de la solución se ejecutan los test unitarios contra las unidades en desarrollo.
Test Unitario Es el proceso de prueba para verificar la correctitud del código en un modulo en particular, asegurando que cada una de las unidades es correcta y el sistema no se prueba como una sola pieza
27/07/2009
5
Prueba de software y Ciclo de vida de Desarrollo de Software Etapa de Testing El código se prueba contra los requerimientos para asegurar que el sistema entregado cubre las necesidades del usuario. Existen distintos tipos de test: Test de Integración: verifica el diseño a alto nivel y demuestra que todos los componentes pueden combinarse juntos en un sistema que puede realizar operaciones básicas sin ninguna falla. System Test: se lleva a cabo para validar funcionalidades del producto con respecto a los requerimientos del sistema y también medir su performance. Este es el último escalón del testing antes de la entrega al cliente. Test de Aceptación: es el nivel final de validación del software. Se verifica que el sistema satisface las necesidades del usuario. Este tipo de test es ejecutado por el usuario utilizando escenarios relacionados con el negocio. 27/07/2009
6