Expositora: Amalia Álvarez
Resumen:
Las pruebas de software son una actividad fundamental del proceso de producción de software y varios modelos y estándares se han definido para documentar las mejores prácticas para su realización y mejora continua.
Las pruebas de software son una actividad que usualmente forma parte del camino crítico en de los proyectos y se realiza para evaluar la calidad del producto una vez desarrollado, por este motivo es fundamental utilizar las mejores prácticas posibles para no agregar tiempo innecesario al proyecto y contribuir de manera significativa al mejor desempeño de todo el proceso de construcción y entrega de software.
Se presentarán dos de los modelos más utilizados para la definición y mejora de los procesos de pruebas de software, TMMi e ISO/IEC 29119, mostrando las mejores prácticas que se derivan de estos modelos y en qué medida están siendo usadas por las organizaciones.
6. 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
7. Modelos de buenas prácticas de
Software / TI. Algunos ejemplos…
Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 7
UNIT-
ISO/IEC/IEEE
12207
CMMI
Enterprise
SPICE
ITILUNIT-ISO/IEC
20000
UNIT-ISO/IEC/IEEE
29119
TMMi
Pruebas
8. Modelos de buenas prácticas de
Pruebas
• Modelo de procesos de
pruebas de software
genérico.
• Activos del proceso de
pruebas.
• Permite la evaluación de
la conformidad.
Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 8
UNIT-ISO/IEC/IEEE
29119
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 …).
9. UNIT-ISO/IEC/IEEE 29119-2
Proceso de prueba de la organización
Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 9
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 pruebas dinámicas
Planificación de
Pruebas
Seguimiento y
Control de
Pruebas
Cierre de
pruebas
Procesos de Gestión de Pruebas
10. UNIT-ISO/IEC/IEEE 29119-2
Proceso de prueba de la organización
Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 10
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 pruebas dinámicas
Planificación de
Pruebas
Seguimiento y
Control de
Pruebas
Cierre de
pruebas
Procesos de Gestión de Pruebas
Planificación de Pruebas
Propósito: Desarrollar, acordar, registrar y comunicar a las
partes interesadas pertinentes el alcance y enfoque que
será tomado en las pruebas, permitiendo la identificación
temprana de recursos, entornos y otros requerimientos de
las pruebas.
11. Planificación de
Pruebas
Comprensión del
Contexto
Organización del
Desarrollo del Plan
de Pruebas
Identificación y
Análisis de Riesgos
Identificación de
Enfoques de
Mitigación del
Riesgo
Diseño de la
Estrategia de
Prueba
Determinación de
la dot. De Personal
y Planificación del
Cronograma
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
Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 11
Planificación
de Pruebas
Seguimiento y
Control de
Pruebas
Cierre de
pruebas
Procesos de Gestión de Pruebas
Ref. UNIT-ISO/IEC/IEEE 29119-2
12. TMMi
Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 12
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
14. 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
16. Por qué necesitamos mejorar?
16Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi
Porque no alcanzamos
los resultados esperados
y queremos hacerlo
mejor.
17. - “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.”
Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 17
Alicia en el País de las Maravillas. Lewis Carroll.
18. Modelo de Madurez
• TMMi - Guía para la mejora (Mapa)
Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 18
19. Si no se a dónde estoy,
de nada sirve tener un mapa.
El camino…
Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 19
PDCA
Plan
Do
Check
Act
1. Diagnóstico
2. Priorización
de mejoras
3. Proyectos
de mejora
4. Evaluación
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
22. Grado de avance
Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 23
Fuente: www.experimentus.com
23. Evolución de las prácticas
Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 24
Fuente: www.experimentus.com
24. Resultados por sector
Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 25
Fuente: www.experimentus.com
25. Resultados por sector
Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 26
Fuente: www.experimentus.com
26. Resultados por sector
Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 27
Fuente: www.experimentus.com
27. Visión final
Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi 28
Fit For
Purpose
Gap &
Risk
Analysis
Mejora de
procesos
Más
rápido
Más
barato
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
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-la-
informatica-337766/
• http://es.autoblog.com/2010/02/04/toyota-reconoce-problemas-en-los-
frenos-del-prius/
• http://www.mtp.es/noticias/47-los-cinco-grandes-errores-de-la-historia-
del-software
31Mejora continua de los Procesos de Pruebas de software - TestingUY 2016 @amaalvarezbalbi