Introducción
Identificar riesgos cada día cobra mayor relevancia para garantizar la calidad del producto final. Los testers ágiles con una cierta experiencia en el negocio y/o en la práctica del testing ágil, juegan un papel importante al identificarlos en las historias de usuario y en los criterios de aceptación.
¿Qué son las Pruebas Basadas en Riesgos?
Las Pruebas Basadas en Riesgos (RBT) se centran en identificar y priorizar los riesgos asociados con el software que se está desarrollando. Estos riesgos pueden surgir de diversos factores, como fallos potenciales en el software, vulnerabilidades de seguridad, problemas de rendimiento, entre otros. La gestión de riesgos permite a los equipos de prueba enfocar sus esfuerzos en las áreas más críticas, asegurando que los recursos se utilicen de manera efectiva y eficiente.
Identificación de Riesgos
La identificación de riesgos es el primer paso en el proceso de RBT. A modo de ejemplo, en el contexto de un sitio que vende paquetes turísticos, los riesgos pueden incluir:
- Fallo en el proceso de reserva: Podría resultar en reservas incorrectas o fallidas.
- Problemas de seguridad: Riesgo de exposición de datos personales y financieros de los clientes.
- Desempeño del sitio: Lentitud en la carga de páginas durante períodos de alta demanda.
Priorización de Riesgos
Una vez identificados, los riesgos deben ser evaluados en términos de probabilidad e impacto. Este proceso de evaluación permite clasificar los riesgos en críticos, moderados y bajos. En nuestro ejemplo, un fallo en el proceso de reserva sería un riesgo crítico debido a su alto impacto en la satisfacción del cliente y la reputación del negocio.
Planificación de Pruebas Basadas en Riesgos
Con los riesgos priorizados, el siguiente paso es diseñar casos de prueba específicos para abordar estos riesgos. Los casos de prueba deben centrarse en validar que los sistemas funcionen correctamente en las áreas de mayor riesgo.
Por ejemplo:
- Pruebas de reserva: Incluir casos de prueba que verifiquen múltiples escenarios de reserva, incluyendo cambios y cancelaciones.
- Pruebas de seguridad: Realizar pruebas de penetración para identificar y corregir vulnerabilidades.
- Pruebas de desempeño: Ejecutar pruebas de carga para asegurar que el sitio pueda manejar altos volúmenes de tráfico.
Implementación y Ejecución
La ejecución de pruebas basadas en riesgos implica la realización de los casos de prueba diseñados con un enfoque en los riesgos identificados. Es esencial que los testers ágiles mantengan una comunicación continua con el equipo de desarrollo para ajustar las pruebas según sea necesario y asegurar que los riesgos sean gestionados adecuadamente.
Ejemplo Práctico: Sitio de Venta de Paquetes Turísticos
Imaginemos un sitio web que ofrece paquetes turísticos. Veamos cómo se podría aplicar el enfoque de pruebas basadas en riesgos:
- Identificación de Riesgos: Se identifican los riesgos como fallos en la reserva, problemas de seguridad y rendimiento.
- Priorización de Riesgos: Se evalúan los riesgos y se prioriza el fallo en el proceso de reserva como crítico.
- Diseño de Pruebas: Se diseñan casos de prueba específicos para el proceso de reserva, pruebas de penetración para la seguridad y pruebas de carga para el rendimiento.
- Ejecución de Pruebas: Los casos de prueba se ejecutan, enfocándose en los riesgos críticos. Se ajustan las pruebas según sea necesario basado en los resultados y la retroalimentación del equipo de desarrollo.
Hay herramientas que permiten y facilitan la gestión de los riesgos para que podamos conducir nuestras pruebas.
Un poco acerca de ISTQB CTFL v4.0
La gestión del riesgo está considerado dentro del programa de estudios del ISTQB CTFL v4.0, abordando los siguientes aspectos:
- Definición de riesgo y atributo del riesgo
- Riesgos de proyecto y riesgos de producto
- Análisis de riesgos de producto
- Control de riesgos de producto
- Beneficios y riesgos de la automatización de pruebas
en sus capítulos 5 (Gestión del Riesgo) y 6 (Herramientas de Prueba).
Por otra parte, también está incluido en lo que espera el negocio de un agile tester:
- Conocer los riesgos y beneficios relacionados con la automatización.
Para lograr este punto, debemos aprender cómo los riesgos pueden influir en el alcance de las pruebas.
Te propongo el siguiente ejercicio: Fijate la importancia que tiene para el ISTQB CTFL v4.0 el tema riesgos y su presencia en distintas secciones del contenido del programa de estudios. De ahí podrás sacar tus conclusiones y trabajar para ello.