Generación de las Pruebas
Uso de Heurísticas
Debido a que el número de posibles casos de prueba es infinito, nos
preguntamos cual porción de casos de prueba es efectiva para las
restricciones de tiempo y agenda que tenemos. Las heurísticas no nos
garantizan la respuesta correcta o la mejor respuesta, pero son útiles. La
heurística hace una sugerencia para la consideración del tester. Un buen
conjunto de heurísticas nos ayuda a generar pruebas rápidamente. Algunos
ejemplos de heurísticas para testing son [KANER02]:
- Probar los bordes: En los bordes es mas probables de encontrar
ambigüedades en la especificación.
- Probar cada mensaje de error: El código de tratamiento de errores es
débil en la mayoría de las funcionalidades
- Probar configuraciones que son distintas para el programador
- Correr pruebas que son difíciles de configurar
- Evitar pruebas redundantes
Predisposición hacia las pruebas
No se pueden evitar las predisposiciones pero se pueden manejar.
[KANER02]
Las predisposiciones más populares son:
- Asimilación: Estamos predispuestos a interpretar el resultado de una
prueba futura confirmando nuestra opinión respecto al producto
- Confirmación: Estamos predispuestos a prestar atención a los
resultados de las pruebas que confirman nuestra opinión respecto al
producto
- Disponibilidad: Si se puede pensar en un escenario en el cual un
usuario se comporta de cierta manera, estamos predispuestos a pensar que
ese comportamiento es el más común
- Primacía: Le damos mas credibilidad a la primera observación que
hacemos
- Reciente: Le damos más credibilidad a las observaciones más
recientes que hacemos
- Efecto de marco: La reacción con respecto a un reporte de bugs está
fuertemente relacionada a como está redactado.
- Representatividad: Se espera que problemas pequeños probablemente
tengan pequeñas causas, mientras que problemas grandes tienen grandes
causas