El siguiente planteo es un debate que propuse dentro de la red linkedin para compartir el problema y conocer opiniones de otros pares, con la intención de obtener distintos puntos de vista para que podamos «ver» las diferentes maneras de encarar una estrategia de diseño.
PLANTEO DEL PROBLEMA
Tengo un caso de uso que contiene varios casos de prueba dentro de la misma página:
1- enlaces con una acción: importar archivo(s)
2- área de búsqueda
3- enlace con una acción: exportar a excel
4- tabla de datos resultante con la posibilidad de (a) ordenar datos y (b) modificar registro
5- paginación
Ahora bien, el «2-área de búsqueda» presenta una dificultad.
Tenemos 4(cuatro) columnas, y en cada una de ellas un filtro principal definido (campo combo)
Debajo de cada una de estos filtros principales, se presentan otros campos que dependen de cada uno de los principales y que son del tipo: input, campo combo y campo tipo calendar.
El filtro 1 y 2 están relacionados con campos fechas Desde .. Hasta.
(el filtro 1 presenta los campos Desde y el filtro 2 presenta los campos Hasta)
Se puede seleccionar una opción en el campo filtro 1 principal y hacer clic en Buscar, arrojando un resultado determinado.
Se puede seleccionar una opción en el campo filtro 2 principal y hacer clic en Buscar, arrojando un resultado determinado.
Se puede seleccionar una opción en el campo filtro 1 y 2 principales, para luego hace clic en Buscar.
Se puede seleccionar una opción en cada uno de los campos de la columna correspondiente al campo filtro 1 y Buscar.
¿Cuál sería la mejor manera de diseñar un set de pruebas que pudiera contemplar los casos de prueba principales?
¿Qué técnica debería usar en estos casos en donde la combinación de filtros de búsqueda es grande?
Lógicamente no se puede ejecutar toda la variedad de condiciones de prueba que uno puede imaginarse, entonces…¿qué hacer en estos casos?
COMENTARIOS
Comentario 1
Automatizar unas rutinas que contemplen los escenarios que necesites, utilizando data driven por supuesto. En relación al diseño hay que decir que conviene investigar mucho que resultados son posibles y a partir de esos establecer que inputs usarás para tu data driven.
Aquí es muy probable que te hagan falta matrices para considerar la mayor cantidad de opciones y sus expected respectivos. Creo también que lo mas importante es que el diseño sea mas bien orientativos que restrictivo, de modo tal que el tester sepa sostener un carácter investigativo y evaluativo. Para este tipo de pruebas también conviene que el tester tenga buenas habilidades en backend testing.
Comentario 2
Para complementar algún criterio faltante usaría un checklist o tablas de decisión.
Comentario 3
Cuando hay tantas opciones, comprender primero los riesgos suele ayudar mucho. Quien va a usar estos filtros, cuando los van a usar, que información necesitan obtener más frecuentemente, que información es la más importante/crítica.
Una vez comprendemos que opciones «importan» a los usuarios, podemos usar PICT para generar casos de prueba basados en pares.
Una vez somos capaces de probar estos primeros casos, reportamos lo que hemos encontrado y decidimos si queremos probar el resto o no. Yo creo que empezaría por ahí… Claro, que no me pagan por caso de prueba generado.