La automatización de escenarios negativos es una parte integral de un sistema de pruebas completo. Estas son validaciones que ponen a prueba la resistencia del sistema a acciones erróneas, datos incorrectos, fallos en los servicios y otras situaciones excepcionales.
Historia de la pregunta:
Anteriormente, se prestaba atención principalmente a los escenarios positivos (happy paths), porque son más fáciles de automatizar y mantener. Sin embargo, las exigencias de calidad han aumentado, y cada vez más errores ocurren precisamente en los límites, con condiciones erróneas o poco claras. Las pruebas manuales se vuelven obsoletas rápidamente, mientras que la automatización permite rastrear degradaciones.
Problemas:
Solución:
Características clave:
¿Es suficiente verificar solo qué errores se devuelven durante las pruebas negativas?
No. Es importante verificar no solo el contenido del error, sino también que después de un error no se haya modificado el estado del sistema (por ejemplo, que no se haya añadido un registro incorrecto en la base de datos).
¿Es necesario automatizar todos los posibles escenarios negativos?
No. Pueden ser infinitos; es necesario identificar los más probables y críticos (Boundary Value, Null/Empty, tipo incorrecto, inyecciones SQL, etc.), y los demás según vayan surgiendo errores.
¿Se puede usar el mismo tratamiento para todos los casos negativos?
No. Diferentes escenarios negativos requieren distintas verificaciones, manejo de excepciones y rollback; los asserts de plantilla no son suficientes.
En el sistema solo se prueban escenarios de registro válidos. El registro con un email vacío no se prueba de forma automatizada. Como resultado, el problema de poder registrar un usuario con un correo vacío solo se nota en producción.
Ventajas:
Inconvenientes:
Para cada escenario negativo (falta de email, formato incorrecto, inyección SQL) hay una prueba automatizada que verifica claramente la ausencia de una nueva cuenta y el contenido del mensaje de error.
Ventajas:
Inconvenientes: