UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
UNIVERSIDAD DEL PER, DECANA DE AMERICA
Facultad de Ingeniera de Sistemas e Informtica Unidad de Post grado Curso: Aseguramiento de la Calidad de Software Curso: Aseguramiento de la Calidad de Software Curso: Aseguramiento de la Calidad de Software Curso: Aseguramiento de la Calidad de Software Curso: Aseguramiento de la Calidad de Software Curso: Aseguramiento de la Calidad de Software Curso: Aseguramiento de la Calidad de Software Curso: Aseguramiento de la Calidad de Software Ing. Luis Alarcn Loayza Abril -2014 Curso: Aseguramiento de la Calidad de Software Curso: Aseguramiento de la Calidad de Software Curso: Aseguramiento de la Calidad de Software Curso: Aseguramiento de la Calidad de Software Curso: Aseguramiento de la Calidad de Software Curso: Aseguramiento de la Calidad de Software Curso: Aseguramiento de la Calidad de Software Curso: Aseguramiento de la Calidad de Software 5. Gestin de Pruebas 5. Gestin de Pruebas 5. Gestin de Pruebas 5. Gestin de Pruebas 5. GESTIN DE PRUEBAS DE SOFTWARE 5. GESTIN DE PRUEBAS DE SOFTWARE 2 CONTENIDO 1. Organizacin de pruebas 2. Planificacin y estimacin del proceso de prueba 3. Seguimiento y control del estado de las pruebas Gestin de la configuracin 4. Gestin de la configuracin 5. Riesgo y proceso de prueba 6. Gestin de Incidencias 3 ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA La gestin de pruebas como parte del proceso de pruebas La gestin de pruebas como parte del proceso de pruebas La gestin de pruebas como parte del proceso de pruebas La gestin de pruebas como parte del proceso de pruebas La gestin de pruebas es la gestin de proyecto de los proyectos de pruebas. El proceso de pruebas proceso de pruebas proceso de pruebas proceso de pruebas es una actividad que cubre por completo el proceso de desarrollo de software. Las actividades propias de la gestin de pruebas son necesarias a lo largo de todo el proceso de pruebas. todo el proceso de pruebas. 4 Actividad Actividad Actividad Actividad Concepcin de Pruebas Concepcin de Pruebas Concepcin de Pruebas Concepcin de Pruebas Planificacin de Pruebas Planificacin de Pruebas Planificacin de Pruebas Planificacin de Pruebas Control de Pruebas Control de Pruebas Control de Pruebas Control de Pruebas Pruebas de Aceptacin Pruebas de Aceptacin Pruebas de Aceptacin Pruebas de Aceptacin Producto resultado del trabajo Producto resultado del trabajo Producto resultado del trabajo Producto resultado del trabajo Plan de Pruebas (Esttico) Plan de Pruebas (Esttico) Plan de Pruebas (Esttico) Plan de Pruebas (Esttico) Plan de Pruebas (Dinmico) Plan de Pruebas (Dinmico) Plan de Pruebas (Dinmico) Plan de Pruebas (Dinmico) Informe de estado, de incidencia y accin de control Informe de estado, de incidencia y accin de control Informe de estado, de incidencia y accin de control Informe de estado, de incidencia y accin de control Entrega (release) del producto software Entrega (release) del producto software Entrega (release) del producto software Entrega (release) del producto software ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Los equipos de prueba deberan ser independientes. Los equipos de prueba deberan ser independientes. Los equipos de prueba deberan ser independientes. Los equipos de prueba deberan ser independientes. Los equipos de prueba deberan ser independientes. Los equipos de prueba deberan ser independientes. Los equipos de prueba deberan ser independientes. Los equipos de prueba deberan ser independientes. Ventajas Ventajas Ventajas Ventajas Imparcialidad, no hay vinculacin personal con el objeto de pruebas. Se pueden cuestionar hechos respecto de la base de prueba (test basis) y verificar las suposiciones hechas durante el (test basis) y verificar las suposiciones hechas durante el diseo de pruebas. Mayor valoracin al resultado de pruebas de calidad. Desventajas Desventajas Desventajas Desventajas Aumenta el esfuerzo dedicado a la comunicacin, Presentacin de conflictos del tipo tener la ultima palabra en(desconocer sus errores) Los desarrolladores tienen tendencia a perder el sentido de la responsabilidad. 5 ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Otras formas de conformar Otras formas de conformar Otras formas de conformar Otras formas de conformar equipos de pruebas equipos de pruebas equipos de pruebas equipos de pruebas 1. Los probadores prueban sus propios programas 2. Los probadores tambin son miembros del equipo de desarrollo El orden de enumeracin refleja el grado de independencia. miembros del equipo de desarrollo 3. Los probadores tambin son miembros del equipo del proyecto o estructura de la organizacin. 4. Especialistas para tareas especificas 5. Equipos de prueba externos. 6 ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Perfiles del personal de pruebas Perfiles del personal de pruebas Perfiles del personal de pruebas Perfiles del personal de pruebas El proceso de pruebas requiere personas con una amplia variedad de competencias y calificaciones. Se explicarn en detalle los siguientes roles asociados al proceso de pruebas: Jefe de pruebas o director de pruebas (test manager) Diseador de Pruebas (test designer) Ingeniero de automatizacin de pruebas (test automation engineer) Administrador de pruebas (test administrator) / Administrador del sistema de pruebas (test system administrator) Probador (tester) Experto tcnico (technical expert) Nota: Nota: Nota: Nota: Se puede especificar roles adicionales, por ejemplo administrador de base de datos, probador de carga. 7 ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Jefe de pruebas (test leader) o gestor de pruebas (test manager) o coordinador Jefe de pruebas (test leader) o gestor de pruebas (test manager) o coordinador Jefe de pruebas (test leader) o gestor de pruebas (test manager) o coordinador Jefe de pruebas (test leader) o gestor de pruebas (test manager) o coordinador de pruebas (test de pruebas (test de pruebas (test de pruebas (test cordinator cordinator cordinator cordinator) ) ) ) Planifica, realiza el seguimiento y control del proyecto de pruebas. Competencias especiales necesarias, en: Gestin de pruebas y gestin de calidad de software Gestin de pruebas y gestin de calidad de software Planificacin y control de pruebas. Experiencia como jefe de proyecto. Habilidades de gestor. 8 ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Diseador de pruebas (test Diseador de pruebas (test Diseador de pruebas (test Diseador de pruebas (test designer designer designer designer) ) ) ) Disea los casos de prueba necesarios y establece el orden y condiciones en el cual tendr lugar la ejecucin de los casos de prueba. Competencias especiales necesaria en el rea de: Conocimiento y experiencia en el desarrollo y pruebas. Conocimiento y experiencia en el desarrollo y pruebas. Conocimiento de Ingeniera de software. Conocimiento y practica respecto de especificaciones tcnicas (mtodos) Conocimientos de requisitos funcionales 9 ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Ingeniero de automatizacin de pruebas(test Ingeniero de automatizacin de pruebas(test Ingeniero de automatizacin de pruebas(test Ingeniero de automatizacin de pruebas(test automation automation automation automation engineer engineer engineer engineer) ) ) ) Evala las posibilidades de la automatizacin de pruebas y las implementa Competencias especiales necesarias: Experiencias como probador (tester) Conocimientos tcnicos y prcticos (know-how) en el mbito de diseo y automatizacin de pruebas automatizacin de pruebas Conocimientos y habilidades de programacin Amplios conocimientos en el uso de las herramientas utilizadas 10 ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Administrador del sistema de pruebas(test Administrador del sistema de pruebas(test Administrador del sistema de pruebas(test Administrador del sistema de pruebas(test system system system systemadministrator administrator administrator administrator) ) ) ) Prepara y opera el entorno de pruebas Es responsable de cumplir los requisitos del sistema de pruebas Competencias especiales necesarias: Administracin de sistemas (o acceso al administrador del sistema) Conocimiento de herramientas de desarrollo y pruebas Sistema de base de datos, si aplica Redes, si aplica Instalacin y operacin de software del sistema(por ejemplo sistemas operativos) 11 ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Probador Software (Software Probador Software (Software Probador Software (Software Probador Software (Software tester tester tester tester) ) ) ) Ejecuta las pruebas de acuerdo con la especificacin de los casos de prueba. Competencias especiales necesarias: Conocimiento bsico del software Conocimiento bsico del software Conocimiento bsico de pruebas Operacin y uso de herramientas de pruebas Experiencia en la ejecucin de pruebas Conocimiento respecto de los objetos de prueba 12 ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Experto tcnico ( Experto tcnico ( Experto tcnico ( Experto tcnico (technical technical technical technical expert expert expert expert) ) ) ) Asiste al equipo de pruebas cuando es necesario Competencias especiales necesarias: Administracin de bases de datos o diseo de bases de datos Experto de interfaces de usuario Experto en redes Dependiendo del tipo de problema o del entorno de pruebas puede ser necesario que expertos adicionales formen parte del equipo de pruebas En algunas ocasiones son necesarias competencias especiales que no se encuentren directamente relacionadas con las pruebas, por ejemplo expertos en usabilidad, expertos en seguridad, etc. 13 ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Competencias no tcnicas requeridas ( Competencias no tcnicas requeridas ( Competencias no tcnicas requeridas ( Competencias no tcnicas requeridas (soft soft soft soft skills skills skills skills) ) ) ) Con carcter complementario a las competencias tcnicas, los miembros del equipo de pruebas requieren de las siguientes competencias y experiencias: Miembros del equipo: Instinto (poltico y) diplomtico. Miembros del equipo: Instinto (poltico y) diplomtico. Disposicin a preguntar sobre hechos aparentemente obvios Persistencia, fuerte personalidad Meticulosidad y creatividad Capacidad para tratar situaciones complejas, o de presin. Capacidad de aprender rpidamente 14 ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Organizacin de equipos de pruebas Organizacin de equipos de pruebas Organizacin de equipos de pruebas Organizacin de equipos de pruebas Utilizar una organizacin apropiada para cada proyecto especifico Direccin Direccin Direccin Direccin de equipos de pruebas Jefe de Jefe de Jefe de Jefe de Pruebas Pruebas Pruebas Pruebas Que Quien No es necesario que cada rol sea asumido por personas distintas. En grupos pequeos una persona puede asumir mltiples roles. 15 Planificacin Especificacin de casos de prueba Ejecucin Evaluacin y control Actividades de Infraestructura de Pruebas y metodos Equipo de Pruebas Diseo de Casos de Prueba Equipo de pruebas funcionales Ejecucin de pruebas Equipo de pruebas Evaluacin de pruebas Equipo de pruebas funcionales ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Tareas del lder de pruebas Tareas del lder de pruebas Tareas del lder de pruebas Tareas del lder de pruebas Sumario Sumario Sumario Sumario Organizacin del equipo de pruebas Planificacin de pruebas(de acuerdo con el plan de calidad corporativo) Planificacin de los ciclos de pruebas Estrategia de pruebas, incluida la decisin de automatizacin de pruebas Estrategia de pruebas, incluida la decisin de automatizacin de pruebas Medicin y control de pruebas Introduccin de un sistema de gestin de incidencias adecuado Introduccin de un sistema de gestin de la configuracin* Generacin de informes de resultado y progreso para la direccin de la organizacin/ compaa * Esta no es una tarea propia del jefe de pruebas, la gestin de la configuracin es necesaria en todas las fases del desarrollo de un producto. 16 ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Tareas del lder de pruebas: Gestin de pruebas Tareas del lder de pruebas: Gestin de pruebas Tareas del lder de pruebas: Gestin de pruebas Tareas del lder de pruebas: Gestin de pruebas Redactar el plan de pruebas: Genera un documento que soporta mtodos, recursos y plazos / calendario para las actividades del proceso de pruebas. 17 ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Planificacin de pruebas Planificacin de pruebas Planificacin de pruebas Planificacin de pruebas(Test (Test (Test (Test planning planning planning planning)/ )/ )/ )/ Planificacin del ciclo de pruebas (Test Planificacin del ciclo de pruebas (Test Planificacin del ciclo de pruebas (Test Planificacin del ciclo de pruebas (Test cycle cycle cycle cycle planning planning planning planning) ) ) ) Enfoque de pruebas: Enfoque de pruebas: Enfoque de pruebas: Enfoque de pruebas: Implementacin de la estrategia de pruebas para un proyecto especifico. Ciclo de pruebas: Ciclo de pruebas: Ciclo de pruebas: Ciclo de pruebas: ciclo a travs del proceso de pruebas para un objeto de prueba especifico. Plan de pruebas Anlisis de pruebas y diseo de pruebas 18 pruebas para un objeto de prueba especifico. Actividades del proceso de pruebas (recordatorio): Planificacin y control de pruebas (Test planning and control). Especificacin de pruebas (test specification). Ejecucin de pruebas(Test execution) Evaluacin y generacin de informes de pruebas ( Test evaluation and reporting) Cierre de pruebas (test closure). C o n t r o l
d e
p r u e b a s diseo de pruebas Implementacin de pruebas y ejecucin de pruebas Evaluacin del criterio de salida y generacin de informes Actividades de cierre de pruebas ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Planificacin de pruebas(Test planning)/ Planificacin del ciclo de pruebas (Test cycle planning) Planificacin de pruebas Planificacin de pruebas Planificacin de pruebas Planificacin de pruebas Planificacin del proceso de pruebas: debe ser desarrollada en una fase temprana del proyecto. El resultado debe estar reflejado en un documento(plan de prueba maestro C o n t r o l
d e
p r u e b a s Plan de pruebas Anlisis de pruebas y diseo de pruebas 19 un documento(plan de prueba maestro master test plan) Planificacin del ciclo de pruebas Planificacin del ciclo de pruebas Planificacin del ciclo de pruebas Planificacin del ciclo de pruebas Planificacin detallada de un ciclo de pruebas: el plan de pruebas maestro(esttico) ser detallado para describir un ciclo de una prueba especifica. Los detalles dependen de la situacin particular del proyecto (por ejemplo progreso del desarrollo, resultado de pruebas, disponibilidad de recursos) Tareas del jefe de pruebas: Iniciacin, control y supervisin de pruebas y ciclos de pruebas. C o n t r o l
d e
p r u e b a s diseo de pruebas Implementacin y ejecucin de pruebas Evaluacin del criterio de salida y generacin de informes Actividades de cierre de pruebas ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Planificacin de pruebas(Test planning)/ Planificacin del ciclo de pruebas (Test cycle planning) La planificacin de las pruebas comienza al inicio del proyecto Hitos, presupuesto y prioridades de las diversas actividades del proceso de pruebas requieren ser C o n t r o l
d e
p r u e b a s Plan de pruebas Anlisis de pruebas y diseo de pruebas 20 actividades del proceso de pruebas requieren ser abordados , los riesgos deben ser comprendidos. El desarrollo del proyecto debe ser tenido en cuenta A lo largo del proyecto pueden ocurrir retrasos y la planificacin de las pruebas debe ser adaptada. Seleccin de herramientas y decisin respecto de la automatizacin de pruebas Diferentes herramientas y grados de automatizacin para los distintos niveles de pruebas. C o n t r o l
d e
p r u e b a s diseo de pruebas Implementacin y ejecucin de pruebas Evaluacin del criterio de salida y generacin de informes Actividades de cierre de pruebas ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Planificacin de pruebas(Test planning)/ Planificacin del ciclo de pruebas (Test cycle planning) Los recursos deben ser planificados Estos son escasos y, con frecuencia, deben ser asignados de forma individual. Durante los ciclos de pruebas, pueden ocurrir retrasos de tal forma que la planificacin de los recursos de pruebas debe ser revisada. C o n t r o l
d e
p r u e b a s Plan de pruebas Anlisis de pruebas y diseo de pruebas 21 debe ser revisada. El desarrollo del proyecto debe ser tenido en cuenta. A lo largo del proyecto pueden ocurrir retrasos de tal forma que puedan poner en peligro a la planificacin (plazos) En este caso, los casos de prueba planificados tienen que ser filtrados con el objeto de cumplir con los hitos. Este es, con mucha frecuencia, la primera medida tomada cuando los plazos se reducen. C o n t r o l
d e
p r u e b a s diseo de pruebas Implementacin y ejecucin de pruebas Evaluacin del criterio de salida y generacin de informes Actividades de cierre de pruebas ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Planificacin de pruebas(Test planning)/ Planificacin del ciclo de pruebas (Test cycle planning) Se debe tener en cuenta la evaluacin de pruebas anteriores. Los resultados (de las pruebas en curso) de las actividades de pruebas pueden influir en la planificacin de otras actividades, por ejemplo, C o n t r o l
d e
p r u e b a s Plan de pruebas Anlisis de pruebas y diseo de pruebas 22 planificacin de otras actividades, por ejemplo, dependiendo del numero de errores detectados en el primer ciclo pruebas, el segundo ciclo de pruebas puede variar su extensin(mas largo o mas corto) El control de las actividades de pruebas en curso se realiza utilizando mtricas especificadas y acordadas en el plan de pruebas. C o n t r o l
d e
p r u e b a s diseo de pruebas Implementacin y ejecucin de pruebas Evaluacin del criterio de salida y generacin de informes Actividades de cierre de pruebas ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Especificacin de pruebas (Test specification) El objetivo principal del proceso de pruebas es detectar la mayor cantidad de defectos relevantes con el menor esfuerzo posible. Todas las pruebas documentadas en el plan de C o n t r o l
d e
p r u e b a s Plan de pruebas Anlisis de pruebas y diseo de pruebas 23 Todas las pruebas documentadas en el plan de pruebas son especificadas, es decir, se establece como se estructura / presenta cada Caso de Prueba y como debe ser ejecutado. Este proceso es ejecutado por el jefe de pruebas: Los Casos de Prueba estn constituidos por pasos unitarios Los Casos de Prueba deberan ser obtenidos con la colaboracin de personal que cuente con conocimiento de los requisitos funcionales del software. Los Casos de Prueba deberan ser diseados teniendo en mente su carcter repetitivo. C o n t r o l
d e
p r u e b a s diseo de pruebas Implementacin y ejecucin de pruebas Evaluacin del criterio de salida y generacin de informes Actividades de cierre de pruebas ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Ejecucin y control(test execution and test control) Comparacin de resultados esperados y obtenidos en el proyecto Cada ciclo de prueba requiere ser ajustado/adaptado al plan de pruebas han ocurrido retrasos o cambios? Los resultados obtenidos se encuentran dentro del C o n t r o l
d e
p r u e b a s Plan de pruebas Anlisis de pruebas y diseo de pruebas 24 Los resultados obtenidos se encuentran dentro del rango esperado? nmeros de defectos encontrados, tiempo utilizado en correcciones, repeticin de pruebas, etc. Todas la desviaciones deben ser informadas y tenidas en cuenta. Normalmente las medidas correctivas deben ser tomadas de acuerdo con el plan de pruebas las actividades de pruebas en curso, por ejemplo: Ajuste de fechas para las pruebas planificadas Ajuste de recursos para la ejecucin de pruebas Ejecutar ciclos de pruebas adicionales / omitir ciclos de pruebas Modificar la prioridad de ciclos de pruebas C o n t r o l
d e
p r u e b a s diseo de pruebas Implementacin y ejecucin de pruebas Evaluacin del criterio de salida y generacin de informes Actividades de cierre de pruebas ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Evaluacin La gestin de pruebas aporta transparencia a la evolucin del proceso de pruebas y proporciona indicadores a la direccin del proyecto. Los informes generados durante la ejecucin de C o n t r o l
d e
p r u e b a s Plan de pruebas Anlisis de pruebas y diseo de pruebas 25 Los informes generados durante la ejecucin de pruebas ( Por ejemplo informe de errores, sumario de clases de errores, estadsticas), el seguimiento de errores e informes al cliente son una importante fuente de informacin para el jefe de proyecto y la direccin de la compaa( por ejemplo como base para la planificacin de recursos y plazos) El uso de herramientas y plantillas aumentarn la calidad y pueden reducir la carga de trabajo. C o n t r o l
d e
p r u e b a s diseo de pruebas Implementacin y ejecucin de pruebas Evaluacin del criterio de salida y generacin de informes Actividades de cierre de pruebas ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Tareas del lder de pruebas: Evaluacin La gestin de pruebas incluye la aceptacin de resultados del proyecto, significa: el producto debe cumplir los requisitos y la especificacin definidos. El jefe de proyecto, de acuerdo con el jefe de pruebas, decide respecto de la aceptacin de los objetos de C o n t r o l
d e
p r u e b a s Plan de pruebas Anlisis de pruebas y diseo de pruebas 26 decide respecto de la aceptacin de los objetos de prueba( por ejemplo, pasar a un siguiente nivel de pruebas). Los informes resumen de pruebas (test summary report) aseguran la ejecucin completa de las actividades de pruebas. C o n t r o l
d e
p r u e b a s diseo de pruebas Implementacin y ejecucin de pruebas Evaluacin del criterio de salida y generacin de informes Actividades de cierre de pruebas ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Tareas del probador ( Tareas del probador ( Tareas del probador ( Tareas del probador (tester tester tester tester): ): ): ): Sumario Asiste en la implementacin de la planificacin de las actividades de pruebas Desarrolla los diseos de casos de prueba y ejecucin de pruebas Revisa los casos de prueba diseados por otros probadores Asiste en la generacin de informes de pruebas Asiste en la implementacin de la automatizacin de pruebas. 27 Asiste en la implementacin de la automatizacin de pruebas. Nota: el trmino probador se utiliza de forma genrica y puede incluir varios roles aparte del de jefe o lder del proyecto. ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Tareas del probador ( Tareas del probador ( Tareas del probador ( Tareas del probador (tester tester tester tester) /1 ) /1 ) /1 ) /1 Asiste en la implementacin de la planificacin de las actividades de pruebas Revisa y comprueba planes de prueba Analiza y evala bases de pruebas C o n t r o l
d e
p r u e b a s Plan de pruebas Anlisis de pruebas y diseo de pruebas 28 Analiza y evala bases de pruebas (documentos, especificaciones) Desarrolla especificaciones de pruebas Formula y selecciona casos de pruebas y combinaciones de datos de prueba Formula resultados esperados Prepara, configura y administra el entorno de pruebas (conjuntamente con los administradores de la red y sistema) C o n t r o l
d e
p r u e b a s diseo de pruebas Implementacin y ejecucin de pruebas Evaluacin del criterio de salida y generacin de informes Actividades de cierre de pruebas ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Tareas del probador ( Tareas del probador ( Tareas del probador ( Tareas del probador (tester tester tester tester) /2 ) /2 ) /2 ) /2 Ejecucin de pruebas(pruebas manuales) Implementacin de las pruebas a todos los niveles Ejecuta pruebas y registra resultados en un protocolo de pruebas C o n t r o l
d e
p r u e b a s Plan de pruebas Anlisis de pruebas y diseo de pruebas 29 protocolo de pruebas Evala los resultados de las pruebas C o n t r o l
d e
p r u e b a s diseo de pruebas Implementacin y ejecucin de pruebas Evaluacin del criterio de salida y generacin de informes Actividades de cierre de pruebas ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Tareas del probador ( Tareas del probador ( Tareas del probador ( Tareas del probador (tester tester tester tester) /3 ) /3 ) /3 ) /3 Asiste en la implementacin de la automatizacin de pruebas Creacin de scripts(guiones) de pruebas. Creacin/operacin de herramientas de pruebas en el rea de automatizacin de pruebas. Ejecutar actividades de automatizacin de pruebas, controlar C o n t r o l
d e
p r u e b a s Plan de pruebas Anlisis de pruebas y diseo de pruebas 30 Ejecutar actividades de automatizacin de pruebas, controlar ejecuciones de captura repeticin (capture replay-runs) Analizar y evaluar resultados. Tratamiento despus de pruebas (Test post processing) Creacin de protocolos de pruebas Traza notas relativas a desviaciones Ejecutar repeticiones de pruebas Preparar documentacin de aceptacin Nota: los probadores podrn ser asistidos por desarrolladores o por un experto en automatizacin de pruebas. C o n t r o l
d e
p r u e b a s diseo de pruebas Implementacin y ejecucin de pruebas Evaluacin del criterio de salida y generacin de informes Actividades de cierre de pruebas ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA ORGANIZACIN DE PRUEBA Resumen Resumen Resumen Resumen La efectividad en la deteccin de defectos se incrementa con la independencia del equipo de pruebas. La independencia se presenta en distintos grados. El jefe de pruebas establece el equipo de pruebas en una fase temprana y : Planifica todas las pruebas Establece un enfoque de pruebas 31 Establece un enfoque de pruebas Organiza la gestin de desviaciones Organiza la gestin de la configuracin de los productos de soporte de pruebas (testware) Contrala la ejecucin de pruebas Evala los resultados de las pruebas El jefe de pruebas informa a la direccin de la compaa y al jefe del proyecto El probador apoya las actividades de preparacin de pruebas, ejecuta pruebas, crea la documentacin relativa mensajes de desviacin y resultados de pruebas. Tambin asiste en la implementacin de la automatizacin de pruebas. PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Actividades de planificacin de pruebas Actividades de planificacin de pruebas Actividades de planificacin de pruebas Actividades de planificacin de pruebas La planificacin de pruebas es planificacin de proyectos Todas las tareas y actividades deben ser planificadas con antelacin. Para las distintas tareas definidas se deben asignar recursos(personal, presupuesto, herramientas, entornos de pruebas, etc.) C o n t r o l
d e
p r u e b a s Plan de pruebas Anlisis de pruebas y diseo de pruebas 32 pruebas, etc.) Concretar las actividades de pruebas en un plan de pruebas maestro y coordinarlas con el plan de proyecto Definir el nivel de calidad(por ejemplo calidad de las pruebas) para los distintos niveles de pruebas. La planificacin de las pruebas es una actividad continua, debe de ser controlada en forma constante. La informacin proveniente de las actividades de pruebas podran imponer ajustes en el plan de pruebas maestro con el objeto de afrontar riesgos sujetos a cambios. C o n t r o l
d e
p r u e b a s diseo de pruebas Implementacin y ejecucin de pruebas Evaluacin del criterio de salida y generacin de informes Actividades de cierre de pruebas PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA La planificacin de pruebas es parte de la planificacin de la calidad en su conjunto La planificacin de pruebas es parte de la planificacin de la calidad en su conjunto La planificacin de pruebas es parte de la planificacin de la calidad en su conjunto La planificacin de pruebas es parte de la planificacin de la calidad en su conjunto La planificacin de pruebas es una parte importante del aseguramiento de la calidad, pero no es la nica parte. Se puede encontrar la estructura y contenidos de un plan de calidad en el estndar IEEE 730(con informacin adicional en el estndar IEEE 983) 33 IEEE 730(con informacin adicional en el estndar IEEE 983) Elementos de un plan de aseguramiento de la calidad de acuerdo con el estndar IEEE 730. Planificacin y descripcin de : Organizacin del proyecto Documentos que cubren el ciclo de vida de desarrollo Estndares, mtodos y convenciones de la misma manera que un mecanismo que asegure que aquellos son seguidos(cumplidos) Revisiones y auditorias durante el ciclo de visa de desarrollo Proceso de pruebas Documentacin de errores, acciones correctivas PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Plan de pruebas maestro (esttico) ( Plan de pruebas maestro (esttico) ( Plan de pruebas maestro (esttico) ( Plan de pruebas maestro (esttico) (master master master master test test test test plain plain plain plain) ) ) ) Tras definir el rol del proceso del pruebas en el marco de las actividades de aseguramiento de la calidad(QA), el proceso de pruebas comienza con su fase de planificacin. El primer paso de la planificacin es la creacin de un plan de pruebas esttico 34 El primer paso de la planificacin es la creacin de un plan de pruebas esttico El plan de pruebas maestro cubre todas las fases del proceso de pruebas Las reglas se fijan de acuerdo los objetivos de las pruebas, recursos, actividades de pruebas, hilos , etc. El plan de pruebas maestro es, posteriormente, ampliado con el objeto de cubrir los resultados a partir de la fase de planificacin de detalle. Dado que durante la planificacin del proyecto se genera mas informacin, la planificacin se puede hacer con mayor detalle. El plan de pruebas maestro cuenta con una extensin dinmica, que ser ajustada durante el ciclo de vida del proyecto, si eso fuera necesario. El estndar IEEE 829 aporta una estructura de plan de pruebas maestro acreditada. PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Actividades a realizar Actividades a realizar Actividades a realizar Actividades a realizar La planificacin de pruebas comienza al inicio de un proyecto de desarrollo y se ajusta a lo largo del ciclo de vida del proyecto La planificacin de pruebas tambin cubre la creacin y actualizacin del plan de pruebas. 35 pruebas. Las siguientes actividades se explican con mayor detalle: Estrategia de pruebas (test strategy) Planificacin de recursos(resource planning) Prioridad de las pruebas (priority of tests) Soporte de herramientas (tool support) PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Actividades a realizar Actividades a realizar Actividades a realizar Actividades a realizar Estrategia de pruebas (test strategy) La estrategia describe los niveles de pruebas a desarrollar y la intensidad de las pruebas en aquellos niveles. La estrategia de pruebas tambin establece los criterios de entrada y salida para cada nivel, incluyendo las mtricas para evaluar estos criterios. Es necesario una estrategia de pruebas dado que no es viable probar un sistema de 36 Es necesario una estrategia de pruebas dado que no es viable probar un sistema de forma completa. Probar con todas las combinaciones de datos de prueba, estados internos y restricciones temporales es prcticamente imposible La evaluacin del de riesgo ayuda a centrar la atencin en aquellas reas en las que las actividades de prueba presentan un riesgo de fallo mas alto. PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Actividades a realizar Actividades a realizar Actividades a realizar Actividades a realizar Planificacin de recursos (resource planning) El objetivo principal de la planificacin de recursos es estimar el esfuerzo de los miembros del equipo, incluyendo sus necesidades en trminos de tiempo, herramientas, actividades de apoyo, etc. Estas estimaciones se convierten en parte del plan de pruebas(dinmico). 37 Este plan de pruebas maestro cuenta con un calendario (time table) detallado, incluyendo hitos, asignacin de personal de actividades. Este plan es un instrumento para gestionar la tarea global de la ejecucin de pruebas con todas sus actividades. PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Actividades a realizar Actividades a realizar Actividades a realizar Actividades a realizar Planificacin de pruebas(test planning) Gestionar el tiempo: Muchos proyectos experimentan intensos problemas de tiempo en torno a las fases finales. Esto puede conducir a decisiones sobre la reduccin de actividades de pruebas o la omisin de forma completa. Priorizar pruebas: Dado que la distribucin de software sin haber sido probado suficientemente conlleva un alto riesgo, es necesario asignar prioridades a las 38 suficientemente conlleva un alto riesgo, es necesario asignar prioridades a las actividades de pruebas. Esto debe ser realizado de tal forma que los casos de prueba mas importantes sean ejecutados de forma temprana. De esta forma, partes criticas de los programas son probadas incluso en el caso en el que actividades de pruebas sean abortadas de forma prematura. Seleccin de herramientas: Decidir respecto de que herramientas deben ser utilizadas para probar , si las herramientas disponibles son suficientes o si hay necesidad de herramientas adicionales. Documentar: Definir el nivel de detalle, estructura y plantillas para la documentacin de pruebas. PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Criterios de entrada Criterios de entrada Criterios de entrada Criterios de entrada Los criterios de entrada definen cuando comenzar a probar, como al inicio de un nivel de prueba o cuando un conjunto de prueba est listo para su ejecucin. Pueden ser criterios de entrada frecuentes: Entorno de prueba disponible y grado de preparacin 39 Entorno de prueba disponible y grado de preparacin Estado de preparacin de herramienta de prueba en el entorno de prueba Disponibilidad de cdigo(testable) Disponibilidad de datos de prueba Disponibilidad de recursos humanos Probadores preparados y en disposicin PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Criterios de salidas de pruebas (test Criterios de salidas de pruebas (test Criterios de salidas de pruebas (test Criterios de salidas de pruebas (test exit exit exit exit criteria criteria criteria criteria) / 1 ) / 1 ) / 1 ) / 1 Los criterios de salida, que indican la finalizacin de una fase de pruebas, deben ser establecidos para cada nivel de pruebas. Son necesarias mtricas para controlar estos criterios de salida. Ejemplos: 40 Ejemplos: Cobertura de cdigo(code coverage) X% de cdigo de un programa que ha sido ejecutado X% de todas las funciones / todas las opciones de men que han sido cubiertas Cobertura de riesgo(risk coverage) Casos de prueba de una clase de riesgo predefinido (por ejemplo el nivel de riesgo mas alto) han sido ejecutados con xito en su totalidad. PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Criterios de salidas de pruebas (test Criterios de salidas de pruebas (test Criterios de salidas de pruebas (test Criterios de salidas de pruebas (test exit exit exit exit criteria criteria criteria criteria) / 2 ) / 2 ) / 2 ) / 2 Aborto de pruebas debido a razones de tiempo, costos o calidad. Las actividades de pruebas son paralizadas/suspendidas cuando se alcanza la fecha de entrega o el presupuesto se agota. Es muy frecuente que esta sea la realidad en proyectos, en muchas ocasiones esta circunstancia tiene un alto coste en tiempo y dinero con posterioridad Si no ha alcanzado un mnimo de calidad, las pruebas pueden ser suspendidas o incluso no 41 Si no ha alcanzado un mnimo de calidad, las pruebas pueden ser suspendidas o incluso no ser iniciadas (muchos defectos crticos) Tasa de deteccin de errores (error finding rate) El numero de nuevos errores detectados cae por debajo de un valor predeterminado, por ejemplo las pruebas han sido suspendidas si se han detectado menos de un error por hora. Las economas del proceso de pruebas deben ser tenidas en cuenta. Mas all de una cierta tasa de deteccin de errores puede resultar una mejor opcin entregar/distribuir la aplicacin software al entorno de produccin y concentrarse solamente en la correccin de fallos informados por el cliente. PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Criterios de salidas de pruebas (test Criterios de salidas de pruebas (test Criterios de salidas de pruebas (test Criterios de salidas de pruebas (test exit exit exit exit criteria criteria criteria criteria) ) ) ) Economa del proceso de pruebas. Un grado creciente de la calidad representa un coste mas bajo del error , pero costes mas altos en prevencin de errores. Inicialmente, el coste de la revisin se incrementa, a 42 Inicialmente, el coste de la revisin se incrementa, a continuacin se reduce ( se hacen menos revisiones en fases finales del proyecto) Inicialmente, el coste total de la calidad se reduce, a continuacin se incrementa los costes de la calidad son los mas bajos donde la curva presenta su mnimo. Frecuentemente es necesario aportar un mnimo de calidad con el objeto de poder mantenerse en el negocio, esto significa: Las pruebas deben continuar a pesar de que el aumento del coste de la prevencin de errores se incrementa mas que el decremento de costo del error. PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Enfoques de prueba (test Enfoques de prueba (test Enfoques de prueba (test Enfoques de prueba (test aprobach aprobach aprobach aprobach) y estrategia de pruebas (test ) y estrategia de pruebas (test ) y estrategia de pruebas (test ) y estrategia de pruebas (test strategy strategy strategy strategy) / 1 ) / 1 ) / 1 ) / 1 El enfoque de pruebas es la implementacin de la estrategia de prueba para un proyecto especifico. El enfoque de prueba es definido y redefinido en los planes de pruebas y diseos de prueba. Normalmente incluye las decisiones tomadas en funcin de los objetivos del proyecto y gestin de riesgo. 43 Hay una variedad de diferentes enfoques a la prueba Los enfoques / estrategias se pueden combinar. Enfoque preventivo (preventive approach) Las pruebas son diseadas tan pronto como sea posible. Enfoque reactivo (reactive approach) Primero el software / sistema , luego el diseo de pruebas PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Enfoques de prueba (test Enfoques de prueba (test Enfoques de prueba (test Enfoques de prueba (test aprobach aprobach aprobach aprobach) y estrategia de pruebas (test ) y estrategia de pruebas (test ) y estrategia de pruebas (test ) y estrategia de pruebas (test strategy strategy strategy strategy) / 2 ) / 2 ) / 2 ) / 2 Enfoque analtico(analytical approach) Se realiza un anlisis previo a las pruebas , por ejemplo, pruebas basadas en riesgos (risk- based testing) Enfoque heurstico(heuristic approach) 44 Enfoque heurstico(heuristic approach) Las pruebas son mas reactivas , por ejemplo pruebas exploratorias PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Enfoques de prueba (test Enfoques de prueba (test Enfoques de prueba (test Enfoques de prueba (test aprobach aprobach aprobach aprobach) y estrategia de pruebas (test ) y estrategia de pruebas (test ) y estrategia de pruebas (test ) y estrategia de pruebas (test strategy strategy strategy strategy) / 3 ) / 3 ) / 3 ) / 3 Otros enfoques/estrategias: Enfoque de reutilizacin (reuse approach) : uso de juegos de pruebas y pruebas de proyectos previos con el objeto de realizar avance rpidos. 45 Enfoque centrado en fallo (failure focused approach) : prediccin de errores (error guessing) ataques de fallas (fault attacks) Enfoque basado en listas de comprobacin (check list based approach): uso de listas de comprobacin de proyectos previos o de la planificacin de pruebas. Enfoque basada en consultora (consultative based approach): expertos y tecnologa externos guan al proceso de pruebas. PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Enfoques de prueba (test Enfoques de prueba (test Enfoques de prueba (test Enfoques de prueba (test aprobach aprobach aprobach aprobach) y estrategia de pruebas (test ) y estrategia de pruebas (test ) y estrategia de pruebas (test ) y estrategia de pruebas (test strategy strategy strategy strategy) / 4 ) / 4 ) / 4 ) / 4 Otros enfoques/estrategias: Enfoque conforme a proceso o estndar (process-or standard compliant approach): estrategia regida por estndares de desarrollo, software, por ejemplo mtodos agiles, estndares industriales. 46 estndares industriales. Enfoque basado en modelo (model based approach): pruebas estocsticas basadas en informacin estadsticas de tasas de fallos, etc. Se pueden definir mas enfoques. En la practica se combinan varios enfoques. PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Estimacin de pruebas Estimacin de pruebas Estimacin de pruebas Estimacin de pruebas Factores (sntesis) Caractersticas del producto ( por ejemplo complejidad) Calidad de la base de pruebas Requisitos de fiabilidad y seguridad (efectos adversos) (safety) del producto Complejidad del proceso de desarrollo. 47 Complejidad del proceso de desarrollo. Estabilidad de la organizacin, madurez del proceso utilizado Personal involucrado, restricciones temporales Mtodos para estimar el esfuerzo en el proceso de pruebas Estimacin experta(tambin enfoque basada en tareas) Estimacin basada en analogas Estimacin basada en porcentajes PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Estimacin experta / 1 Estimacin experta / 1 Estimacin experta / 1 Estimacin experta / 1 Mtodo Identificar todas las tareas a ejecutar(normalmente utilizando un enfoque descendente(top down)) Obtener estimaciones para cada tarea por los responsables ( de su ejecucin) o por expertos. 48 expertos. Sumar todos los valores de las tareas. Incluir los factores de correccin ( si hay experiencias respecto de la exactitud de ciertos estimadores) Incluir elementos amortiguadores (buffers) / elementos adicionales con el objeto de cubrir tareas omitidas o subestimadas. PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Estimacin experta / 2 Estimacin experta / 2 Estimacin experta / 2 Estimacin experta / 2 Ventajas Las actividades de estimacin pueden estar estrechamente vinculadas a la planificacin del proyecto La estimacin da origen a una informacin detallada que puede ser controlada y ajustada a lo largo del ciclo de vida del proyecto. Las tareas pueden ser asignadas a grupos ( pro ejemplo pequeo, mediano, grande) y los 49 Las tareas pueden ser asignadas a grupos ( pro ejemplo pequeo, mediano, grande) y los esfuerzos slo son estimados para unos pocos representantes del grupo. Desventajas Ese mtodo es extensivo y caro. Este mtodo requiere una idea clara respecto de la estrategia de pruebas y actividades de pruebas en una fase temprana del proyecto La experiencia demuestra que las estimaciones son, en la mayora de los casos, a la baja. Esto podra deberse a la omisin o subestimacin grosera de ciertas tareas. Los elementos amortiguadores incorporados son recortados durante la planificacin del proyecto Los errores relativos a la planificacin de proyecto son heredados PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Estimacin basada en analogas /1 Estimacin basada en analogas /1 Estimacin basada en analogas /1 Estimacin basada en analogas /1 Mtodo. Clasificar las tareas de prueba requeridas Buscar un proyecto que se haya desarrollado en el pasado que contenga una tarea similar a una especifica. Utilizar el esfuerzo real de esta tarea como base para la estimacin. 50 Utilizar el esfuerzo real de esta tarea como base para la estimacin. A travs del uso de las mtricas (lneas de cdigo, numero de mdulos, numero de casos de prueba, etc.) como base, calcular el valor de la estimacin total Considerar factores de correccin. PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Estimacin basada en analogas /2 Estimacin basada en analogas /2 Estimacin basada en analogas /2 Estimacin basada en analogas /2 Ventajas El mtodo es simple y efectivo. Se puede lograr valores muy precisos para la estimacin si se cuenta con suficiente experiencia. Desventajas 51 Desventajas Se requiere personal con experiencia (estimadores) y/o base de datos detallada respecto del proyecto actual para las tareas a estimar Los criterios para la clasificacin de proyectos puede no cubrir todos los aspectos de un proyecto Frecuentemente conduce a debates con la direccin respecto de la validez de la estimacin. PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Estimacin basada en porcentajes / 1 Estimacin basada en porcentajes / 1 Estimacin basada en porcentajes / 1 Estimacin basada en porcentajes / 1 Mtodo. El esfuerzo para las actividades de pruebas se estiman sobre la base de la totalidad de las actividades del proyecto El valor del porcentaje (fraccin) requiere ser determinado basndose en la experiencia Ejemplo: Spillner / Linz habla de un porcentaje del 50% de actividades de pruebas respecto de la totalidad de las actividades del proyecto (vase tambin "Basswissen 52 Ejemplo: Spillner / Linz habla de un porcentaje del 50% de actividades de pruebas respecto de la totalidad de las actividades del proyecto (vase tambin "Basswissen Softwaretest", dpunkt.Verlag, 3. Auflage, S. 181) Este mtodo tambin puede ser utilizado para parte del trabajo (por ejemplo estimacin para los costes de gestin de proyecto, estimacin del esfuerzo de pruebas para las pruebas de sistema) La estimacin basada en porcentajes no tiene en cuenta el esfuerzo de la pruebas de regresin, que pueden ser una parte sustancial de la pruebas de mantenimiento y asociadas a cambios PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Estimacin basada en porcentajes / 2 Estimacin basada en porcentajes / 2 Estimacin basada en porcentajes / 2 Estimacin basada en porcentajes / 2 Ventajas. Tcnica de estimacin muy simple y potente que no requiere excesiva informacin de entrada. Desventajas. No muy precisa, dado que no tiene en cuenta las hechos particulares del proyecto 53 No muy precisa, dado que no tiene en cuenta las hechos particulares del proyecto Es necesaria mucha experiencia e intuicin por parte de quien realiza le estimacin (estimador) con el objeto de obtener estimaciones vlidas La decisin respecto del valor del porcentaje puede conducir a debates difciles Tiene en cuenta actividades que ya forman parte de las estimaciones de la planificacin del proyecto (por ejemplo El esfuerzo de pruebas del desarrollador forma parte de la estimacin correspondiente al desarrollo o debe formar parte de las estimaciones del proceso de pruebas?) Los porcentajes varan ampliamente entre proyectos de nuevo desarrollo y proyectos de mantenimiento PLANIFICACIN PLANIFICACIN PLANIFICACIN PLANIFICACIN Y YY Y ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE ESTIMACIN DEL PROCESO DE PRUEBA PRUEBA PRUEBA PRUEBA Resumen Resumen Resumen Resumen La planificacin de pruebas forma parte del plan de calidad corporativo El plan de pruebas maestro es el elemento bsico de toda la planificacin de las actividades de pruebas. Debe ser desarrollado de forma temprana en el proyecto Plantilla de plan de pruebas: IEEE 829 La estimacin de pruebas puede ser realizada utilizando varios mtodos. Tres mtodos habituales son: 54 habituales son: Estimacin experta Estimacin basada en analogas Estimacin basada en porcentajes SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS PRUEBAS PRUEBAS PRUEBAS PRUEBAS Seguimiento de pruebas y control de pruebas Seguimiento de pruebas y control de pruebas Seguimiento de pruebas y control de pruebas Seguimiento de pruebas y control de pruebas Planificacin de pruebas ("test planning"): Las pruebas deben ser iniciadas Seguimiento de pruebas ("test monitoring"): Control de las actividades de pruebas con el objeto de detectar desviaciones respecto del C o n t r o l
d e
p r u e b a s Plan de pruebas Anlisis de pruebas y diseo de pruebas 55 objeto de detectar desviaciones respecto del plan Control de pruebas: Correccin del rumbo de las actividades de pruebas cuando sea necesario C o n t r o l
d e
p r u e b a s diseo de pruebas Implementacin y ejecucin de pruebas Evaluacin del criterio de salida y generacin de informes Actividades de cierre de pruebas SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS PRUEBAS PRUEBAS PRUEBAS PRUEBAS Planificacin de pruebas, seguimiento de pruebas y control de pruebas Planificacin de pruebas, seguimiento de pruebas y control de pruebas Planificacin de pruebas, seguimiento de pruebas y control de pruebas Planificacin de pruebas, seguimiento de pruebas y control de pruebas El seguimiento debe ser realizado en base consideraciones medibles. Mtricas en base a errores (utilizando informacin procedente del sistema de gestin de incidentes), por ejemplo tasa de deteccin de errores, defectos detectados/corregidos, resultados de repeticin de pruebas Mtricas en base a casos de prueba (utilizando informacin procedente del sistema de gestin de pruebas), por ejemplo cobertura de casos de prueba, cobertura de requisitos, 56 gestin de pruebas), por ejemplo cobertura de casos de prueba, cobertura de requisitos, tasa bien/mal ("good/bad") de casos de prueba, cobertura de cdigo, cobertura de riesgo Mtricas en base a costes (utilizando informacin procedente del sistema de control del proyecto), por ejemplo costo de deteccin de errores, costo de prueba de regresin, costo de recursos externos. Los resultados obtenidos de la medicin deben ser informados de forma regular. SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS PRUEBAS PRUEBAS PRUEBAS PRUEBAS Informacin de pruebas (test Informacin de pruebas (test Informacin de pruebas (test Informacin de pruebas (test reporting reporting reporting reporting) /1 ) /1 ) /1 ) /1 La informacin respecto de las actividades de pruebas se consolida a los efectos de la informacin de pruebas (test reporting) Ejemplo del contenido de un informe de estado de pruebas (segn IEEE 829). Objeto u objetivo de prueba Nivel de prueba, ciclo de prueba, periodo del informe 57 Nivel de prueba, ciclo de prueba, periodo del informe Avance de pruebas (Utilizando mtricas, por ejemplo nmero de defectos documentados, nmero de casos de prueba ejecutados) Recursos utilizados / presupuesto consumido Hitos alcanzados (por ejemplo aceptacin de objetos de prueba en niveles de prueba especficos) Informe de defectos (nmeros de defectos descubiertos, nmero de defectos corregidos) Evaluacin del riesgo (nuevos riesgos / riesgos modificados respectos de informes previos) Pronstico: Actividades planificadas para el prximo periodo de informe Evaluacin general / estado (semforo) SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS PRUEBAS PRUEBAS PRUEBAS PRUEBAS Informacin de pruebas (test Informacin de pruebas (test Informacin de pruebas (test Informacin de pruebas (test reporting reporting reporting reporting) /2 ) /2 ) /2 ) /2 Frecuencia de los informes. Al inicio del proyecto / en la fase de preparacin los ciclos de los informes son ms largos (quincenal o mensual) Las fases criticas de la ejecucin de pruebas requeridas ciclos cortos (semanales, o incluso diario) El informe de cierre de pruebas al final del proyecto. 58 El informe de cierre de pruebas al final del proyecto. Evaluacin de los informes de pruebas. La evolucin es apropiada? La ejecucin de las pruebas es eficaz y eficiente? Las actividades estn alineadas con los objetos de pruebas? Estn siendo alcanzados objetivos de pruebas? Cul es el grado de confianza respecto en el producto software basado en el estado actual de progreso/evolucin/desarrollo? SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS PRUEBAS PRUEBAS PRUEBAS PRUEBAS Control de pruebas Control de pruebas Control de pruebas Control de pruebas El control de pruebas es una tarea de gestin El jefe de pruebas pertenece a los cuadros directivos del proyecto Medidas correctivas como respuesta a desviaciones respecto del plan El control de pruebas incorpora a todas las medidas emprendidas durante el proceso de pruebas 59 pruebas Ajuste de las actividades planificadas y, cuando sea necesario, iniciar un nuevo ciclo de planificacin en el plan de proyecto Evaluacin del cierre de pruebas Los criterios de salida de pruebas tambin son registrados con las mtricas de progreso / avance de pruebas Los criterios de salida de pruebas que hubieran sido alcanzados son documentados en el informe de pruebas para su aprobacin SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS PRUEBAS PRUEBAS PRUEBAS PRUEBAS Medidas de control de pruebas Medidas de control de pruebas Medidas de control de pruebas Medidas de control de pruebas Provisin de recursos adicionales Ms recursos humanos Ms presupuesto Despliegue de herramientas para la automatizacin de tareas Reduccin del esfuerzo aplicado al trabajo 60 Reduccin del esfuerzo aplicado al trabajo Exclusin de variaciones de casos de prueba Simplificacin de objeto de prueba complejas / omisin de objetos especficos Reduccin de la cantidad de datos de pruebas Omisin de casos de prueba / juegos de prueba Las medidas de control de pruebas son documentados con el objetivo de informar a la direccin del proyecto / cliente respecto de cambios en riesgos en el despliegue del producto. SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS SEGUIMIENTO Y CONTROL DEL ESTADO DE LAS PRUEBAS PRUEBAS PRUEBAS PRUEBAS Resumen Resumen Resumen Resumen El seguimiento /monitorizacin del estado de pruebas se basa en criterios medibles y aporta la informacin necesaria para gestionar el proceso de pruebas. Las desviaciones respecto del plan requiere acciones correctivas. La presentacin regular / peridica de informes aporta informacin al proyecto y a la direccin de la compaa respecto del progreso de las pruebas. 61 GESTIN DE LA CONFIGURACIN GESTIN DE LA CONFIGURACIN GESTIN DE LA CONFIGURACIN GESTIN DE LA CONFIGURACIN Objetivo Objetivo Objetivo Objetivo Durante el desarrollo software se genera una gran cantidad de datos / informacin / resultados {artefactos (artifact)}: Documentos de requisitos / especificaciones / diseo del sistema Componentes individuales, mdulos integrados, sistemas completos Un gran nmero de participantes con roles diferentes en los distintos componentes 62 Un gran nmero de participantes con roles diferentes en los distintos componentes del sistema. La gestin de la configuracin es responsable de la asignacin explicativa de una denominacin para todos los artefactos y su administracin. Asignacin de nmeros de versin sucesivos Es registrada la autorizacin (clearance) para desarrollos posteriores Versiones antiguas son guardadas para un futuro control Es registrado el acceso a los artefactos GESTIN DE LA CONFIGURACIN GESTIN DE LA CONFIGURACIN GESTIN DE LA CONFIGURACIN GESTIN DE LA CONFIGURACIN Observaciones generales Las gestin de la configuracin tiene un rol de apoyo dentro de un proyecto - todos los cambios deben ser registrados en un lugar comn y comunicados haciendo uso de procesos definidos Las expectativas respecto de la gestin de la configuracin pueden variar de forma considerable dependiendo del tipo y alcance de proyectos se debe desarrollar un plan de gestin de la configuracin especifico 63 plan de gestin de la configuracin especifico El IEEE 828 aporta un estndar para la gestin de la configuracin y el plan de gestin de la configuracin La gestin de la configuracin no es una actividad particular del proceso de pruebas, es necesaria durante todas las fases de un proyecto La gestin de la configuracin sin una herramienta apropiada slo es posible en proyectos muy pequeos GESTIN DE LA CONFIGURACIN GESTIN DE LA CONFIGURACIN GESTIN DE LA CONFIGURACIN GESTIN DE LA CONFIGURACIN Definiciones Definiciones Definiciones Definiciones Gestin de la configuracin GC [configuration management (CM)] se refiere a un conjunto de medidas que complementan el desarrollo software: Gestin del cambio (change management) sigue todas las actividades, por ejemplo cambios en el cdigo fuente para cada solicitud de cambio Gestin de la construccin (build management) describe todos los pasos para 64 Gestin de la construccin (build management) describe todos los pasos para crear una versin de un producto software con el objetivo de ser suministrado como un todo o subsistemas individuales Gestin de entregas (release management) permite la definicin de versiones aisladas para cada artefacto componente de una versin completa de un producto a ser probado entregado, etc. Gestin de versiones (versiones management) (como parte de GC) registra toda la informacin de acceso para cada artefacto: versin actual (nmero) , ltimo cambio, ltimo usuario etc. GESTIN DE LA CONFIGURACIN GESTIN DE LA CONFIGURACIN GESTIN DE LA CONFIGURACIN GESTIN DE LA CONFIGURACIN Problemas abortados por la gestin de la configuracin Problemas abortados por la gestin de la configuracin Problemas abortados por la gestin de la configuracin Problemas abortados por la gestin de la configuracin Cul es la versin actual? La ambigedad con respecto a qu versin se corresponden puede resultar en actividades de desarrollo basada en versiones antiguas (obsoletas) de la especificacin Qu ha sido modificado, cuando y quien lo modific? Son posibles cambios concurrentes de un fichero: qu cambios pueden ser sobrescritos? Qu versin del fichero ha sido probada? Es difcil probar u extraer una conclusin 65 Qu versin del fichero ha sido probada? Es difcil probar u extraer una conclusin de unas pruebas cuando no se tiene conocimiento concreto de la versin de que se trata Qu artefactos se corresponden? Qu versin han sido agrupadas para crear las distintas entregas (release)? RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA Riesgo Riesgo Riesgo Riesgo Riesgo (from: Deutsche Wildpedia) "A risk is a calculated prediction of a possible damage respectively lose in case of a negative outcome (danger) or a possible advantage respectively gain in case of a positive outcome (chance)." El riesgo es la probabilidad de un resultado negativo (matemtico), o la probabilidad de la ocurrencia de un suceso negativo multiplicada por el monto del dao econmico (econmico). 66 (econmico). Riesgo ("Waltzing with bears", Tom DeMarcorfimothy Lister) "A possible futura event that will lead to an undesired outcome (cause) respectively this undesired outcome itsehf (effect). El riesgo asociado al proyecto y al producto deben ser tenidos en cuenta durante la planificacin y el diseo de casos de prueba, cuando se prioricen casos de prueba, cuando se seleccionen mtodos y durante la ejecucin de pruebas RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA Riesgos Riesgos Riesgos Riesgos del Proyecto / 1 del Proyecto / 1 del Proyecto / 1 del Proyecto / 1 Riesgos asociados a la organizacin ("organizational risks"). Capacitacin, formacin y disponibilidad del personal Problemas personales entre equipos / miembros del equipo Cooperacin insuficiente entre departamentos / conflictos de intereses Estimaciones no realistas de plazos del proyecto 67 Riesgos tecnolgicos. Requisitos defectuosos, incompletos o no realistas Tecnologas, mtodos, herramientas, etc., nuevas o que presentan incertidumbres para el desarrollo software Dficit de calidad en productos Disponibilidad de un entorno de prueba complejo RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA Riesgos del Proyecto / 2 Riesgos del Proyecto / 2 Riesgos del Proyecto / 2 Riesgos del Proyecto / 2 Riesgos ambientales ("environmental risks") Deficiencias por parte de externos en la provisin de componentes (plazos, calidad, coste) Problemas de aceptacin y otros inconvenientes contractuales con proveedores Acceso concurrente a recursos externos Cambios en requisitos legales 68 Los riesgos asociados al proyecto afectan al xito del proyecto y deben ser gestionados Estimacin de la probabilidad y dao potencia RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA Riesgos del Proyecto / 3 Riesgos del Proyecto / 3 Riesgos del Proyecto / 3 Riesgos del Proyecto / 3 Implementar medidas apropiadas para tratar los riesgos identificados: Mitigacin del riesgo (preparacin activa de medidas para reducir la probabilidad y/o el dao potencial) Control del riesgo (preparar las medidas necesarias en el caso en el cual el riesgo se convierte en un problema, contar con tiempo y fondos disponibles) Ignorancia del riesgo (esperar que el riesgo no se convierta en un problema, rezar, cruzar los 69 Ignorancia del riesgo (esperar que el riesgo no se convierta en un problema, rezar, cruzar los dedos, etc.) Transferencia del riesgo (traspaso del riesgo a otra rea/organizacin) Eludir el riesgo (evitar situaciones de riesgo) Cuando se analizan, gestionan y mitigan los riesgos, el jefe de proyecto sigue unos principios bien establecidos de gestin de proyecto. El esquema de la norma IEEE Std 829 para planes de prueba requiere que se establezcan las gestiones de riesgos y contingencias RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA Riesgos de producto Riesgos de producto Riesgos de producto Riesgos de producto Los riesgos asociados al producto son el resultado de problemas relacionados con el producto suministrado Funcionalidad insuficiente del producto suministrado Atributos no funcionales insuficientes El producto no es idneo para su uso previsto, por lo tanto no puede ser puesto en operacin (produccin) 70 operacin (produccin) El producto provoca daos a la propiedad El producto provoca lesin o muerte accidentales Las pruebas se ejecutan para reducir o evitar los riesgos asociados al producto Riesgo = probabilidad de ocurrencia x dao potencial Las pruebas reducen la probabilidad de ocurrencia de un riesgo Son necesarias pruebas ms intensivas en caso de dao potencial alto RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA Gestin de riesgo de producto /1 Gestin de riesgo de producto /1 Gestin de riesgo de producto /1 Gestin de riesgo de producto /1 Gestin de riesgo de producto utilizando pruebas basadas en riesgo Identificar, analizar y priorizar riesgos Influencia del riesgo tenido en cuenta durante la planificacin de pruebas Seleccionar los mtodos de prueba para mitigar riesgos Asignar alcance de las pruebas (profundidad) de acuerdo al nivel de riesgo 71 Asignar alcance de las pruebas (profundidad) de acuerdo al nivel de riesgo Adaptar el orden de ejecucin de casos de prueba (los casos de pruebas importantes en primer lugar con el objeto de detectar defectos en forma temprana!)
Actualizar la lista de evaluacin de riesgo ("risk assessment worksheet) de forma regular
Los riesgos pueden desaparecer (el proveedor ha entregado en plazo) Pueden aparecer nuevos riesgos (el cliente solicita funciones adicionales) Los riesgos pueden cambiar (epidemia de gripe) RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA Gestin de riesgo de producto /2 Gestin de riesgo de producto /2 Gestin de riesgo de producto /2 Gestin de riesgo de producto /2 Beneficios de las pruebas basadas en el riesgo: Los mtodos de pruebas son seleccionados de forma particular con el objeto de mitigar los riesgos identificados El alcance de las pruebas se ocupa de los riesgos identificados El alcance del proceso de pruebas tiene en cuenta los riesgos identificados. De esta 72 El alcance del proceso de pruebas tiene en cuenta los riesgos identificados. De esta forma, el esfuerzo en el proceso de pruebas se centra en abordar la reduccin del riesgo potencial Los fallos de riesgo son detectados de forma temprana, por lo tanto se hace ms econmica su correccin Incluso en el caso de un aborto de pruebas, se asegura que los casos de prueba ms Importantes han sido ejecutados(asignacin de prioridades a pruebas basada en el riesgo) RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA RIESGO Y PROCESO DE PRUEBA Resumen Resumen Resumen Resumen Los riesgos asociados al proyecto y al producto ponen en peligro el xito del proyecto, los riesgos deben ser gestionados. Los riesgos pueden ser tecnolgicos, del entorno o estar asociados a la organizacin. Riesgo (valor) = probabilidad de ocurrencia por dao potencial. "La gestin del riesgo es gestin de proyecto para adultos".* 73 GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS Deteccin de errores* durante las pruebas Deteccin de errores* durante las pruebas Deteccin de errores* durante las pruebas Deteccin de errores* durante las pruebas El probador ejecuta los casos de prueba y registra los resultados Posteriormente se analizan las desviaciones entre los resultados esperados y los obtenidos: Se identifican los fallos (los fallos pueden ocurrir en todo lugar: en documentos, en el cdigo, en los datos de salida de un objeto de prueba, en un texto de ayuda) 74 cdigo, en los datos de salida de un objeto de prueba, en un texto de ayuda) En este punto (temporal), las tareas del probador han finalizado por el momento El probador espera la versin corregida del programa para ejecutar la repeticin de pruebas (retest") Posteriormente, el seguimiento ("tracking")de errores se realiza utilizando un sistema de Gestin de incidencias(sistema gestin de defectos) *Nota: En el presente captulo, defecto e incidencia defecto e incidencia defecto e incidencia defecto e incidencia se utilizan como sinnimos GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS Quien hace qu actividad?/ 1 Quien hace qu actividad?/ 1 Quien hace qu actividad?/ 1 Quien hace qu actividad?/ 1 Probador ("tester") Ejecuta los casos de prueba con el objeto de detectar errores Registra los resultados en un protocolo de pruebas Introduce los defectos (incidentes) en un repositorio (informe de problemas) Jefe de pruebas ("test manager") 75 Jefe de pruebas ("test manager") Evala el informe de problemas Asigna prioridades a los defectos (de acuerdo con la direccin del proyecto, cliente, etc.) Redacta el informe de avance en funcin del estado actual de las labores de correccin GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS Quien hace qu actividad?/ 2 Quien hace qu actividad?/ 2 Quien hace qu actividad?/ 2 Quien hace qu actividad?/ 2 Consejo de Control del Cambio (CCC) (Change Control Board (CCB)") Decide respecto de los cambios de requisitos y sus prioridades Desarrollador Analiza los fallos, localiza la causa del defectos Corrige la causa de error de acuerdo con la prioridad asignada 76 Corrige la causa de error de acuerdo con la prioridad asignada Ejecuta todos los cambios aprobados Nota: todas estas tareas son ejecutadas de forma iterativa: Probador ("tester") Jefe de pruebas ("test manager) Consejo de Control de Cambio (CCC) ("Change Control Board (CCB)) Desarrollador (developer) Probador ('tester") GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS Estructura de un informe de incidencias (informe de errores) Estructura de un informe de incidencias (informe de errores) Estructura de un informe de incidencias (informe de errores) Estructura de un informe de incidencias (informe de errores) El El El El informe informe informe informe de de de de incidencias incidencias incidencias incidencias describe describe describe describe un un un un fallo, fallo, fallo, fallo, no no no no su su su su causa causa causa causa !! La plantilla 1 estructura de un informe de incidencias puede ser encontrada en el estndar IEEE 829 (Anomaly Report) 77 Detalles que puede incluir un informe de incidencias: Datos de la incidencia Nmero nico del defecto (normalmente generado de forma automtica) Objeto de prueba (denominacin, versin), paso de prueba Entorno de pruebas Nombre del autor del informe de incidencias Fecha de la primera ocurrencia Clasificacin de errores Clase de defecto ("defect class") (tambin severidad del defecto) Estado del defecto ("defect state") (error nuevo, repeticin de prueba, etc.) Prioridad ("priority") (asignacin de la urgencia) GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS Estructura de un informe de incidencias Estructura de un informe de incidencias Estructura de un informe de incidencias Estructura de un informe de incidencias Elementos que puede incluir un informe de incidencias: Descripcin Caso de prueba (aporta todos los detalles respecto de las precondiciones) Resultado del defecto 1 modo de fallo (usando una descripcin del resultado obtenido y el resultado esperado) Descripcin de la desviacin para facilitar su resolucin y evidencia evidencia evidencia evidencia (incluyendo informes, 78 Descripcin de la desviacin para facilitar su resolucin y evidencia evidencia evidencia evidencia (incluyendo informes, capturas de pantalla, mensajes de error de la aplicacin, etc.) Referencias cruzadas a informes relacionados Comentarios Acciones correctivas tomadas Registro histrico ("history log") Hora y usuario que ha realizado cambios Muchos sistemas hacen un seguimiento automtico de cambios en el ciclo de vida del incidente/error GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS Clase de defecto y prioridad del defecto Clase de defecto y prioridad del defecto Clase de defecto y prioridad del defecto Clase de defecto y prioridad del defecto La severidad de un fallo se expresa por la asignacin de una clase de defecto {sinnimo: clase de fallo("failure class")} Las clases de defectos a utilizar pueden ser: defecto crtico, defecto mayor, defecto medio, defecto menor. Son frecuentes tres o cuatro clases de defectos El criterio para la clasificacin puede ser la influencia en la usabilidad del producto 79 La prioridad tiene en cuenta el efecto del fallo: Impacto sobre la funcionalidad del programa Impacto sobre el proyecto, sobre el cliente Posibilidad de aportar una solucin (correccin) inmediata al problema o en la siguiente entrega La prioridad rige la urgencia de la correccin GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS Estado de un defecto Estado de un defecto Estado de un defecto Estado de un defecto Estados y transiciones para el flujo de trabajo de la gestin de incidencias Nuevo Rechazado 80 No resuelto Abierto Inspeccin Trabajo en progresin Repeticin de Prueba En observacin Finalizado Observacin Observacin Observacin Observacin: El nmero de estados soportados por herramientas es variable (pueden ser tres, pueden ser veinte). GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS Estado de un defecto Estado de un defecto Estado de un defecto Estado de un defecto Slo un probador puede poner un defecto en estado Finalizado! Normalmente el jefe de pruebas decide si un defecto debe ser corregido o rechazado -de forma alternativa el consejo de control del cambio puede decidir sobre la correccin de un defecto teniendo en cuenta el coste de reparacin 81 Todos los cambios (incluidos los comentarios) deben ser registrados en el sistema de gestin de incidencias Se asegura el control continuo sobre el estado de correccin de un defecto Pueden ser planificadas las actividades de pruebas futuras En ocasiones, deben ser generados casos de prueba adicionales con el objeto de localizar la causa de un fallo GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS Anlisis de Informes de defectos Anlisis de Informes de defectos Anlisis de Informes de defectos Anlisis de Informes de defectos Todos los informes de defecto son analizados de forma sistemtica con el objeto de evaluar el estado de desarrollo de las actividades de correccin de defectos, conformidad con el plan de proyecto y la calidad software Elementos de atencin caractersticos: Es perceptible una reduccin en el nmero de detecciones de nuevos defectos? O se est 82 Es perceptible una reduccin en el nmero de detecciones de nuevos defectos? O se est incrementando el nmero a lo largo del ciclo de vida del proyecto? Hay objetos de prueba particulares que presenten un alto nmero de defectos? Hay algn objeto de prueba que presente un nmero de defectos ms bajo que el nmero medio de defectos? Cuntos defectos de severidad alta / prioridad alta an siguen abiertos? Cunto tiempo requiere la correccin de un defecto? Cul es el tiempo medio para la correccin de defectos? Las herramientas de gestin de incidencias ofrecen una amplia variedad de informes estadsticas de defectos GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS GESTIN DE INCIDENCIAS Resumen Resumen Resumen Resumen La gestin de incidencias es la gestin de las desviaciones / defectos detectados durante las pruebas La gestin de incidencias es un proceso en si mismo con un flujo de trabajo ("workflow) especifico Estn disponibles potentes herramientas para dar soporte a la gestin de incidencias, que cubren tambin las tareas de la gestin del cambio 83 incidencias, que cubren tambin las tareas de la gestin del cambio Las expresiones gestin de las desviaciones ("deviation management") es utilizado con frecuencia como sinnimos de la gestin de incidencias PREGUNTAS