No es posible probar todo, la decisión de qué probar debe ser hecha basada en lo riesgosa que es cada parte del sistema
El objetivo es identificar junto con el cliente las partes del producto que presentan mayor riesgo para el negocio en caso de no funcionar correctamente y las funcionalidades que es mas probable que tengan defectos. Los principales puntos a tratar:
Identificar las funcionalidades más importantes y riesgosas a ser probadas
Identificar las funcionalidades que no serán verificadas y el riesgo asociado
Priorizar las funcionalidades que serán verificadas
Dentro de las funcionalidades con mayor riesgo se encuentran las más importantes y las más usadas.
Es importante que en este análisis participen los desarrolladores, ya que ellos conocen que partes del sistema son mas complejas de desarrollar y por lo tanto pueden contener mas errores, es importante preguntarles por que partes están preocupados, por ejemplo la contestación puede ser que por problemas de agenda hay una parte compleja del sistema que no se esta segura si esta bien, las pruebas deben tener especial atención en esa parte.
Las funcionalidades del producto son priorizadas en función del análisis de riesgo realizado, a continuación se listan algunas cosas a tener en cuenta.
Encontrar los bugs importantes primero [KANER02]
El objetivo es encontrar los bugs mas importantes de la forma más rápida. Esto significa que:
· Se prueben las cosas que fueron cambiadas antes de las cosas que son iguales. Arreglos y modificaciones son riesgos frescos.
· Se prueben las funciones centrales antes de las funciones contribuyentes. Probar las cosas críticas y populares que el producto hace.
· Se pruebe capacidad antes que confiabilidad.
· Pruebe situaciones comunes antes que situaciones esotéricas. Use datos conocidos y escenarios de uso
· Se prueben problemas de alto impacto antes que problemas de bajo impacto. Probar las partes del producto que pueden realizar mas daño en caso de falla.
· Probar las áreas mas necesarias antes de las no requeridas. Probar las áreas y los problemas que son de especial interés para alguien en el equipo.
Durante la etapa de planificación se definen los riesgos de las distintas partes de la aplicación a nivel de grandes componentes
Durante el Seguimiento de cada ciclo, se revisa la lista de riesgos realizada, ya que las condiciones pueden haber cambiado y un riesgo puede ya no tener la misma prioridad.