Es importante que el analista encargado de construir el plan de pruebas obtenga la siguiente información del proyecto:
Veamos cómo utilizar cada uno de estos elementos en la construcción del plan.
Tener en claro los objetivos de negocios nos permite crear un plan organizado que aporte valor al proyecto y a los equipos y que esté orientado al cumplimiento de resultados. Cada prueba que se realice tiene que estar alineada a uno o más objetivos de negocio.
Conocer las fechas del proyecto es importante para planificar cuándo podrás realizar los diferentes tipos de pruebas. Por ejemplo, al inicio del proyecto es importante enfocar el esfuerzo de pruebas en los requerimientos, validar que los mismos sean claros, entendibles y que se puedan diseñar pruebas para comprobar su cumplimiento.
En las siguientes fases, el foco deberá ir cambiando hacia las pruebas funcionales y pruebas de UX mientras se comienzan a planificar las pruebas no funcionales, como son las de rendimiento. Para esto es importante coordinar con desarrollo el momento en que los componentes críticos de la arquitectura del sistema estén implementados para medir lo antes posible su respuesta frente a carga.
Conocer la metodología que utilizará el equipo de desarrollo es importante para acoplar las instancias de pruebas a los hitos del proyecto de desarrollo. En proyectos con metodologías ágiles el foco principal estará en desarrollar pruebas que validen las historias de usuario aprobadas para el sprint, sin embargo, también hay que tener en cuenta que pueden considerarse otro tipo de pruebas a realizar que aporten valor, como por ejemplo cuándo aplicar pruebas de rendimiento para validar que la arquitectura del sistema responde correctamente o pruebas de seguridad para validar que no se introducen vulnerabilidades tanto a nivel de la aplicación como en la infraestructura que la soporta.
En esta fase, es importante diseñar una planificación adaptada a las necesidades del proyecto, sin perder de vista los objetivos del negocio. Debes revisar que no hayas dejado objetivos fuera del alcance, todos deben estar cubiertos.
Cada plan de pruebas debe definir qué tipos de pruebas implementará para cumplir con el alcance establecido. Los estándares y metodologías son establecidos a nivel de la organización y para cada plan debe reflejarse cuales serán utilizados para llevar a cabo las pruebas de acuerdo con las necesidades de cada proyecto.
Para validar cada objetivo del negocio podremos utilizar diferentes tipos de pruebas:
Teniendo en cuenta la metodología de desarrollo y las iteraciones o fases diseñadas deberás planificar las pruebas a realizar en cada iteración. En metodologías ágiles, esta planificación se irá ajustando al inicio de cada sprint, sin embargo, es bueno dejar ya establecido de forma macro los recursos que serán necesarios para implementar las pruebas, tanto en términos de personas como equipos y dispositivos.
A medida que avance el proyecto, las tareas de pruebas aumentan su carga, por eso deberás planificar cómo ir cubriendo las necesidades de pruebas de regresión sin que esto signifique aumentar los recursos. Dos técnicas principales para lograr esto, son la priorización en base a los objetivos del negocio y el camino crítico de la aplicación y la AUTOMATIZACIÓN de pruebas.
En base a los objetivos del negocio, deberás definir y planificar si se realizarán este tipo de pruebas. Si la aplicación estará expuesta en la nube, deberás planificar pruebas de rendimiento que permitan validar que la arquitectura responde de forma adecuada a procesos de alta demanda.
Si la información gestionada por la aplicación es confidencial o su abuso puede tener consecuencias graves, deberás incluir en tu planificación pruebas de seguridad y validar que no se exponen vulnerabilidades. Esta definición es recomendable que sea tomada a nivel del proyecto, tanto para adoptar prácticas seguras de desarrollo como para realizar pruebas de detección de vulnerabilidades de forma continua.
Usualmente los sistemas no viven en solitario, sino que interactúan con otros sistemas existentes tanto internos como externos. Planifica pruebas de integración de forma adecuada a lo largo del proyecto para validar cuanto antes las interfaces con otros sistemas.
Validar que los flujos críticos del sistema funcionan correctamente, simulando el uso de la aplicación más utilizada por los usuarios es una estrategia que asegura tranquilidad antes de un despliegue. Incluye este tipo de prueba en cada fase del proyecto, aumentando el alcance de los flujos. Estas pruebas son excelentes candidatas para ser automatizadas, lo que asegurará mayor capacidad de ejecución.
Cada proyecto debe definir con cuáles herramientas apoyará: la gestión del proyecto, la definición de las pruebas, el reporte de anomalías detectadas y su seguimiento y la automatización de pruebas. La identificación de estas herramientas puede ir desde lo más básico como definir un lugar compartido para almacenar los documentos y los formatos en que se registrará el plan, los casos y los resultados, hasta la selección de plataformas como MS Azure DevOps o JIRA para la gestión del proyecto.
En los casos de herramientas de automatización es importante seleccionar aquellas que como STELA – Automation Made Simple ® están pensadas para los equipos de pruebas y que no sean herramientas exclusivamente para desarrolladores. En todos los casos, es importante socializar sobre las soluciones y planificar con los equipos los tiempos de implementación, para que todos los involucrados conozcan las herramientas que serán utilizadas en el proyecto.
Todos sabemos que los proyectos son dinámicos. Cambian las prioridades, hay actividades que se demoran y surgen contingencias y nuevos requerimientos que se agregan.
Una planificación adecuada nos permitirá realizar cambios de forma preventiva y no de forma reactiva, así puedes tener el control cuando la presión aumenta y los tiempos son escasos.
Una vez se definan los casos y suite de pruebas, así como los tiempos que estos pueden llevar en función del método de prueba, es decir si son manuales o automatizadas, recomendamos ajustar nuestro plan a la realidad cambiante, para ello ten en cuenta los siguientes pasos:
Al tener priorizadas las actividades por objetivo y nivel de importancia, podrás ajustar la planificación en los casos en que el calendario se reduzca o se recorten los presupuestos. Tu plan tiene que ser la herramienta que te permita contestar estas preguntas:
Los proyectos tienen muchos integrantes y no siempre se produce el software de la misma forma. Hay equipos que cambian, requerimientos más complejos o tecnologías nuevas que el equipo desconoce. Tomar en cuenta esos aspectos y reforzar las pruebas de esos requerimientos especiales es un factor de éxito.
Una vez ejecutado el plan de pruebas, se procede con las actividades de ajuste y replanificación en caso que sea necesario. Esta actividad es fundamental, a fin de optimizar tanto el plan como los recursos para las siguientes etapas y así lograr los resultados esperados. Para ello proponemos:
En proyectos ágiles, el seguimiento activo se realiza en las reuniones de planificación de sprint, pero en otro tipo de proyectos es necesario que el analista de QA esté al tanto de los avances y contratiempos del desarrollo y mantenga una estrecha comunicación con los encargados del desarrollo, para poder ajustar la planificación de pruebas y actuar preventivamente.
Los datos mandan. Ajusta la planificación para reforzar las pruebas de los objetivos que presentan más fallas y libera recursos de aquellos que presentan menores niveles de fallos.