Taller teórico-práctico que abordará el concepto y los fundamentos del enfoque de Pruebas de Software Basadas en Riegos incluyendo casos prácticos y recomendaciones de buenas prácticas. Para este taller no se requieren computadoras.
Por Luis Mercadal.
Argentesting 2019 - Lippia, un framework multipropósito
Argentesting 2017 - Pruebas de software basadas en riesgos
1. Pruebas de Software Basadas en Riegos
Ing. Luis Mercadal
luismercadal@formacionticweb.com.ar
Ciudad Autónoma de Buenos Aires - Argentina
24 de octubre de 2017
www.FormacionTICweb.com.ar | www.twitter.com/FormacionTICweb | www.facebook.com/FormacionTICweb
5. Presentación
Ing. Luis Mercadal
UCC / Ingeniero de Sistemas
PMI / Project Management Professional (PMP)
Scrum Alliance / Certified ScrumMaster (CSM)
ISTQB Certified Tester Foundation Level (CTFL)
ISTQB Certified Tester Advanced Level - Test Manager (CTAL-TM)
ISTQB Certified Tester Advanced Level - Test Analyst (CTAL-TA)
ITIL Foundation Certificate in IT Service Management (ITILF)
+21 años de experiencia en las tecnologías de la información y las
comunicaciones (TIC) en empresas nacionales y multinacionales.
+11 años de experiencia en el Aseguramiento de la Calidad y en las Pruebas de
Software en equipos multiculturales, localizados y distribuidos geográficamente.
+5 años de experiencia en el desarrollo y dictado de cursos sobre gestión de
proyectos y de la calidad, y pruebas de software.
Fundador e Instructor de Formación TIC
Miembro del HASTQB y de la Fundación TMMi
6. Presentación
Formación TIC es una empresa
que nace en el año 2011, en la ciudad de
Buenos Aires, Argentina, como respuesta
a la creciente necesidad de profesionales
capacitados en las tecnologías de la
información y las comunicaciones (TIC)
Unidad Capacitadora (UCAP) del Programa “Capacitación PyME” del Ministerio
de Producción - Presidencia de la Nación.
ISTQB Accredited Training Provider (Proveedor Acreditado de Formación del
ISTQB)
Desarrollo y dictado de cursos sobre gestión de proyectos y de la calidad, y
pruebas de software
Organización de exámenes de certificación del ISTQB supervisados por el iSQI
8. Definiciones
Calidad
• Grado en el cual un componente, sistema o proceso
satisface requisitos especificados y/o necesidades y
expectativas del usuario/ cliente.
Calidad del Software
• La totalidad de funcionalidad y prestaciones de un
producto software que están relacionadas con su
capacidad de satisfacer las necesidades explícitas o
implícitas.
[International Software Testing Qualifications Board (ISTQB)]
9. Definiciones
Riesgo
• Un evento o condición incierta que, si se produce,
tiene un efecto positivo o negativo en uno o más de
los objetivos de un proyecto.
[Project Management Institute (PMI)/ Guía del PMBOK]
• Factor que puede resultar en futuras consecuencias
negativas, expresado normalmente como impacto y
probabilidad.
[International Software Testing Qualifications Board (ISTQB)]
• El efecto de la incertidumbre.
[ISO 9000:2015 / Sistemas de Gestión de la Calidad - Fundamentos y Vocabulario]
10. Definiciones
Nivel de Riesgo
• La importancia de un riesgo según lo definido por sus
características, impacto y probabilidad.
• El nivel de riesgo puede utilizarse para determinar la
intensidad de las pruebas que tienen que ejecutarse.
• Un nivel de riesgo puede ser expresado ya sea
cualitativamente (por ejemplo, alta, media, baja) o
cuantitativamente.
[International Software Testing Qualifications Board (ISTQB)]
12. Definiciones
Riesgos del Proyecto
• Riesgos relativos a la gestión y control de un
proyecto (de pruebas), por ejemplo, falta de
personal, plazos estrictos, requisitos cambiantes, etc.
• Riesgos de la Planificación
[International Software Testing Qualifications Board (ISTQB)]
13. Definiciones
Riesgos del Proyecto
• Ejemplos:
Subestimación del tamaño del proyecto
Renuncia de miembros claves del proyecto
No disponibilidad del hardware y/o software requerido
Personal sin la formación necesaria
Falta de personal
Incumplimiento del contrato por parte de un proveedor
14. Definiciones
Riesgos del Producto
• Riesgos directamente relacionados con el objeto de prueba.
• Riesgos de la Calidad
• Riesgos de la Calidad del Producto
[International Software Testing Qualifications Board (ISTQB)]
15. Definiciones
Riesgos del Producto
• Ejemplos:
Cambios en la tecnología utilizada
Desviación respecto de estándares y normas
El ambiente de pruebas no está listo a tiempo
Posibilidad de que el software pueda dañar a una persona
o a una empresa
Funcionalidad faltante o errónea
16. Definiciones
Gestión de los Riesgos del Proyecto
• Incluye los procesos para llevar a cabo la planificación
de la gestión de riesgos, así como la identificación,
análisis, planificación de respuesta y control de los
riesgos de un proyecto.
[Project Management Institute (PMI)/ Guía del PMBOK]
Pruebas Basadas en Riesgos
• Enfoque de pruebas para reducir el nivel de riesgos del
producto e informar a los afectados de su estado,
comenzando desde las fases iniciales de un proyecto.
• Implica la identificación de riesgos del producto y su
uso para dirigir el proceso de pruebas.
[International Software Testing Qualifications Board (ISTQB)]
18. Pruebas Basadas en Riesgos
Principales actividades
• Identificación de riesgos
• Evaluación de riesgos
• Mitigación de riesgos
• Gestión de riesgos
19. Pruebas Basadas en Riesgos
Identificación de riesgos
• Las partes interesadas pueden identificar riesgos a través de
una o más de las siguientes técnicas:
Entrevistas de expertos
Evaluaciones independientes
Uso de plantillas de riesgos
Retrospectivas del proyecto
Talleres de riesgos
Tormenta de ideas
Listas de comprobación
Experiencias anteriores
• Mediante la participación de la muestra más amplia posible
de partes interesadas, el proceso de identificación de riesgos
tiene mayores posibilidades de identificar los riesgos más
significativos de la calidad del producto.
20. Pruebas Basadas en Riesgos
Evaluación de riesgos
• Una vez que ha ocurrido la identificación de riesgos, la
evaluación de riesgos puede comenzar
• La evaluación de riesgos implica la categorización de los
riesgos y la determinación de la probabilidad y el impacto
asociado a cada riesgo.
• La evaluación de riesgos puede también implicar la
evaluación o la asignación de otras propiedades de cada
riesgo, como propietario de riesgos
• El impacto sobre la ocurrencia es la severidad del efecto en
los usuarios, clientes y otras partes interesadas
• El nivel de riesgo puede evaluarse cuantitativamente o
cualitativamente
21. Pruebas Basadas en Riesgos
Evaluación de riesgos
• Matriz de Riesgo
Riesgo = Probabilidad x Impacto
22. Pruebas Basadas en Riesgos
Mitigación de riesgos
• Cuatro principios básicos para la mitigación de riesgos
Evitar
Transferir
Mitigar
Aceptar
23. Pruebas Basadas en Riesgos
Gestión de riesgos
• La gestión del riesgo es un proceso continuo
• Antes de cada ciclo de prueba es necesario realizar un
nuevo ciclo de gestión de riesgos
• Factores importantes:
Riesgos de productos nuevos o modificados
Zonas inestables o propensas a errores detectadas
durante las pruebas
Riesgos provenientes de defectos corregidos
Zonas con una baja cobertura de pruebas
24. Pruebas Basadas en Riesgos
Enfoque de Pruebas Basadas en Riesgos
• Ofrece oportunidades proactivas de reducir los niveles de
riesgo del producto.
• Implica la identificación de riesgos del producto y su uso
en la planificación y control, especificación, preparación y
ejecución de las pruebas.
• Los riesgos identificados pueden utilizarse para:
Establecer las técnicas de pruebas a emplear
Establecer el alcance de las pruebas a ejecutar
Priorizar las pruebas en un intento por identificar los
defectos críticos lo antes posible
Establecer si podría utilizarse alguna actividad ajena a
las pruebas para reducir el riesgo (por ejemplo,
impartir formación a diseñadores sin experiencia)
25. Pruebas Basadas en Riesgos
Técnicas de Pruebas Basadas en Riesgos
• Técnicas informales
• Técnicas formales
Enfoques ligeros de gestión de riesgos
Enfoques pesados de gestión de riesgos
26. Pruebas Basadas en Riesgos
Técnicas de Pruebas Basadas en Riesgos
• Técnicas informales
El probador analiza los riesgos de la calidad
durante pruebas exploratorias
Puede conducir a un foco excesivo sobre la
probabilidad de defectos, no en sus impactos
No incluye entradas de partes interesadas
multifuncionales.
27. Pruebas Basadas en Riesgos
Técnicas de Pruebas Basadas en Riesgos
• Técnicas formales
Enfoques ligeros de gestión de riesgos
▫ Fáciles de entender y utilizar. Requieren un mínimo
esfuerzo para documentación y análisis de riesgos
▫ Se puede aplicar en un amplio rango de dominios y
ciclos de vida inclusive en desarrollos ágiles
▫ Se podrían perder algunos puntos importantes
debido a funciones limitadas
▫ En algunos casos no son aplicables para sistemas
críticos para la seguridad
28. Pruebas Basadas en Riesgos
Técnicas de Pruebas Basadas en Riesgos
• Técnicas formales
Enfoques ligeros de gestión de riesgos
▫ Análisis y Gestión Pragmático de Riesgos
(Pragmatic Risk Analysis and Management, PRAM)
▫ Pruebas de Software Sistemáticas
(Systematic Software Testing, SST)
▫ Gestión de Riesgos del Producto
(Product Risk Management, PRisMa)
29. Pruebas Basadas en Riesgos
Técnicas de Pruebas Basadas en Riesgos
• Técnicas formales
Enfoques pesados de gestión de riesgos
▫ Son más adecuados para sistemas críticos para la
seguridad
▫ Requieren de un entrenamiento más avanzado
para su utilización
▫ Requieren de mucho esfuerzo el dar soporte al
proceso incluyendo documentación
30. Pruebas Basadas en Riesgos
Técnicas de Pruebas Basadas en Riesgos
• Técnicas formales
Enfoques pesados de gestión de riesgos
▫ Análisis de Riesgos
(Hazard Analysis)
▫ Costo de Exposición
(Cost of Exposure)
▫ AMEF - Análisis del Modo y Efecto de Falla
(Failure Mode and Effect Analysis, FMEA)
▫ DFC - Despliegue de la Función de Calidad
(Quality Function Deployment, QFD)
▫ AAF - Análisis de Árbol de Falla
(Fault Tree Analysis, FTA)
32. Ejercicios Prácticos
Análisis de Riesgos
• Análisis de Riesgos de la Planificación y Contingencias
(Riesgos del Proyecto)
Ejercicio 1.
• Análisis de Riesgos del Software
(Riesgos del Producto)
Ejercicio 2.
33. Ejercicios Prácticos
Ejercicio 1.
Análisis de Riesgos de la Planificación y Contingencias
1.1. Un usuario clave introduce un importante cambio de
requerimientos en una etapa avanzada del ciclo de vida
del software.
¿Qué haría? Listar posibles Contingencias
34. Ejercicios Prácticos
Ejercicio 1.1. Posible Solución
Contingencia #1
Pedir al grupo de usuarios para que contribuyan con más usuarios
en el esfuerzo de las pruebas. -Agregar más recursos-
Contingencia #2
Decidir no implementar una funcionalidad de baja prioridad hasta
una próxima versión. -Reducir el alcance-
Contingencia #3
Decidir no probar (o, al menos, probar menos) algunas de las
funcionalidad de bajo riesgo identificadas en el análisis de riesgos
del software. -Reducir los procesos de calidad-
35. Ejercicios Prácticos
Ejercicio 1.
Análisis de Riesgos de la Planificación y Contingencias
1.2. El tamaño del proyecto sigue creciente, esto es un doble revés.
No sólo hace que los recursos de pruebas necesiten crecer
debido al aumento en el tamaño del proyecto, sino que los
índices de productividad para el desarrollo del software y para
las pruebas normalmente disminuyen a medida que el tamaño
del proyecto aumenta.
¿Qué haría? Listar posibles Contingencias
36. Ejercicios Prácticos
Ejercicio 1.2. Posible Solución
Contingencia #1
Agregar recursos. -Subcontratar, añadir usuarios, agregar
desarrolladores, autorizar horas extras-
Contingencia #2
Reducir el alcance del proyecto. Elegir una estrategia de entrega
incremental al cliente.
Contingencia #3
Reducir la prueba de algunos de los módulos de menor riesgo. -
Reducir los procesos de calidad-
Contingencia #4
Retrasar la implementación.
37. Ejercicios Prácticos
Ejercicio 2.
Análisis de Riesgos del Software
Un producto software de un cajero automático (ATM) tiene las
siguientes características y atributos:
Características: Retirar Dinero en Efectivo, Depósito en Efectivo,
Consulta de Saldo, Transferencia de Fondos, y Hacer Pago de un
Préstamo
Atributos: Usabilidad, Rendimiento, y Seguridad
Determinar probabilidad e impacto, priorizar, y considerar
mitigación de riesgos
47. Referencias
• Black, Rex (2007) “Pragmatic Software Testing: Becoming an Effective and Efficient Test
Professional”, Wiley
• Craig, Rick D. y Jaskiel, Stefan P. (2002) “Systematic Software Testing”, Artech House
• International Organization for Standardization, ISO (2015) “ISO 9000:2015 / Quality
management systems - Fundamentals and vocabulary”
• International Software Testing Qualifications Board, ISTQB (2011) “Certified Tester
Foundation Level Syllabus”
• International Software Testing Qualifications Board, ISTQB (2012) “Certified Tester Advanced
Level Syllabus - Test Manager”
• International Software Testing Qualifications Board, ISTQB (2012) “Certified Tester Advanced
Level Syllabus - Test Analyst”
• International Software Testing Qualifications Board, ISTQB (2012) “Certified Tester Advanced
Level Syllabus - Technical Test Analyst”
• Project Management Institute, PMI (2017) “A Guide to the Project Management Body of
Knowledge (PMBOK Guide) - Sixth Edition”
• van Veenendaal, Erik (2012) “Practical Risk-Based Testing. The PRISMA Approach”, Uitgeverij
Tutein Nolthenius (UTN)
Todos los logos, nombres, fotos, y marcas registradas pertenecen a sus respectivos propietarios.
48. ¡Muchas Gracias!
Ing. Luis Mercadal
luismercadal@formacionticweb.com.ar
Ciudad Autónoma de Buenos Aires - Argentina
24 de octubre de 2017
www.FormacionTICweb.com.ar | www.twitter.com/FormacionTICweb | www.facebook.com/FormacionTICweb