Mejora continua de los Procesos de Pruebas de software Amalia Álvarez Balbi TestingUY 27 de Abril 2016 Agenda 1 Proceso de Pruebas 2 Mejora continua 3 Uso de las mejores prácticas Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 2 Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 3 • Self driving cars Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 4 Agenda 1 Pruebas de software 2 Mejora continua 3 Uso de las mejores prácticas Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 5 Por qué necesitamos procesos? • “La calidad de un producto de software depende de la calidad del proceso que lo genera.” Watts Humphrey Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 6 Modelos de buenas prácticas de Software / TI. Algunos ejemplos… UNITISO/IEC/IEEE 12207 Pruebas UNIT-ISO/IEC 20000 UNIT-ISO/IEC/IEEE 29119 CMMI Enterprise SPICE ITIL TMMi Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 7 Modelos de buenas prácticas de Pruebas UNIT-ISO/IEC/IEEE 29119 • Modelo de procesos de pruebas de software genérico. • Activos del proceso de pruebas. • Permite la evaluación de la conformidad. TMMi • Marco para la mejora de los procesos de pruebas. • Define buenas prácticas y niveles de madurez. • Permite la evaluación del nivel de madurez. Son independientes del enfoque de procesos de la organización (Tradicional, Ágil o …). Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 8 UNIT-ISO/IEC/IEEE 29119-2 Proceso de prueba de la organización Procesos de pruebas dinámicas Diseño e implantación de Pruebas Establecimiento y Mantenimiento del Entorno de Pruebas Ejecución de Pruebas Comunicación de Incidentes de pruebas Procesos de Gestión de Pruebas Planificación de Pruebas Seguimiento y Control de Pruebas Cierre de pruebas Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 9 UNIT-ISO/IEC/IEEE 29119-2 Proceso de prueba de la organización Planificación de Pruebas Propósito: Desarrollar, acordar, registrar y comunicar a las Procesos de pruebas dinámicas partes interesadas pertinentes el alcance y enfoque que será tomado en las pruebas, permitiendo la identificación Establecimiento Diseño e temprana de recursos, entornos y otros requerimientos Comunicación de de y Mantenimiento Ejecución de implantación de Incidentes de del Entorno de las pruebas. Pruebas Pruebas pruebas Pruebas Procesos de Gestión de Pruebas Planificación de Pruebas Seguimiento y Control de Pruebas Cierre de pruebas Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 10 Planificación de Pruebas Procesos de Gestión de Pruebas Planificación de Pruebas Seguimiento y Control de Pruebas Comprensión del Contexto Organización del Desarrollo del Plan de Pruebas Identificación y Análisis de Riesgos Determinación de la dot. De Personal y Planificación del Cronograma Diseño de la Estrategia de Prueba Identificación de Enfoques de Mitigación del Riesgo Registro del Plan de Pruebas Obtención de Consenso sobre el Plan de Pruebas Comunicación del Plan de Pruebas y Puesta a Disposición Cierre de pruebas Ref. UNIT-ISO/IEC/IEEE 29119-2 Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 11 TMMi Test Policy and Strategy SG 1 – Establish a Test Policy SP 1.1 Define test goals SP 1.2 Define test policy SP 1.3 Distribute the test policy to stakeholders SG 2 – Establish a Test Strategy SP 2.1 Perform a generic product risk assessment SP 2.2 Define test strategy SP 2.3 Distribute the test strategy to stakeholders SG 3 – Establish Test Performance Indicators SP 3.1 Define test performance indicators SP 3.2 Deploy test performance indicators Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 12 Agenda 1 Pruebas de software 2 Mejora continua 3 Uso de las mejoras prácticas Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 13 Algunos errores de software famosos • Apagón del 2003 en EEUU deja a más de 50 millones de hogares sin luz • Acelerador médico Therac 25 mata a 5 personas 1985 y 1987 • Destrucción de la Sonda Espacial Mariner I • Airbus 320 no se apagaba • El día que desapareció Suecia • Frenos de Toyota Prius Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 14 Errores más recientes…. Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 15 Por qué necesitamos mejorar? Porque no alcanzamos los resultados esperados y queremos hacerlo mejor. Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 16 - “Would you tell me, please, which way I ought to go from here?” - “That depends a good deal on where you want to get to.” - “I don’t much care where.” - “Then it doesn’t matter which way you go.” Alicia en el País de las Maravillas. Lewis Carroll. Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 17 Modelo de Madurez • TMMi - Guía para la mejora (Mapa) Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 18 Plan El camino… Act PDCA Do Check Si no se a dónde estoy, de nada sirve tener un mapa. 4. Evaluación 3. Proyectos de mejora 2. Priorización de mejoras 1. Diagnóstico Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 19 Agenda 1 Pruebas de software 2 Mejora continua 3 Uso de las mejores prácticas Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 21 Uso de las mejores prácticas • Datos: State of Testing Report 2015 Experimentus (UK). • Basado en una encuesta a más de 200 profesionales de testing y desarrollo de software en 4 continentes. Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 22 Grado de avance Fuente: www.experimentus.com Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 23 Evolución de las prácticas Fuente: www.experimentus.com Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 24 Resultados por sector Fuente: www.experimentus.com Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 25 Resultados por sector Fuente: www.experimentus.com Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 26 Resultados por sector Fuente: www.experimentus.com Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 27 Visión final Más rápido Fit For Purpose Gap & Risk Analysis Más barato Mejora de procesos Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 28 Tener cuidado… Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 29 Reflexión final… “No hay nada más difícil de llevar a cabo, de éxito más dudoso y de manejo más peligroso, que el iniciar un nuevo orden de cosas. Pues el reformador tiene enemigos en todos los que se benefician con el viejo orden, y tibios defensores en todos los que se beneficiarían con el nuevo orden” Libro: “El Príncipe” Siglo XIII. Maquiavelo Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi . 30 Referencias • • • • • • • • Experimentus. The State of Testing Report 2015. IEEE. Std 730. Software Quality Assurance Processes. 2014. TMMi Foundation – Test Maturity Model integration (TMMi). UNIT-ISO/IEC/IEEE 29119-2:2013 – Ingeniería de software y de sistemas – Pruebas de software – Parte 2: Procesos de prueba. UNIT-ISO/IEC 12.207: 2008 – Ingeniería de sistemas y de software – Procesos del ciclo de vida del software. http://listas.20minutos.es/lista/los-10-mas-grandes-errores-de-lainformatica-337766/ http://es.autoblog.com/2010/02/04/toyota-reconoce-problemas-en-losfrenos-del-prius/ http://www.mtp.es/noticias/47-los-cinco-grandes-errores-de-la-historiadel-software Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 31 Muchas gracias! @amaalvarezbalbi [email protected]