Estamos integrando un proceso de prueba en nuestro proceso SCRUM. Mi nuevo rol es escribir pruebas de aceptación de nuestras aplicaciones web para automatizarlas más adelante. He leído mucho acerca de cómo deben escribirse los casos de prueba, pero ninguno me dio consejos prácticos para escribir casos de prueba para aplicaciones web complejas, y en su lugar arrojaron principios contradictorios que encontré difíciles de aplicar:
Los casos de prueba deben ser cortos: tome el ejemplo de un CMS. Los casos de prueba cortos son fáciles de mantener e identificar las entradas y salidas. Pero, ¿qué pasa si quiero probar una larga serie de operaciones (por ejemplo, agregar un documento, enviar una notificación a otro usuario, el otro usuario responde, el documento cambia de estado, el usuario recibe un aviso). Más bien me parece que los casos de prueba deberían representar escenarios completos. Pero puedo ver cómo esto producirá documentos de prueba abiertamente complejos.
Las pruebas deben identificar entradas y salidas: ¿Qué sucede si tengo una forma larga con muchos campos interactivos, con diferentes comportamientos? ¿Escribo una prueba para todo o una para cada una?
Los casos de prueba deben ser independientes: ¿pero cómo puedo aplicar eso si probar la operación de carga requiere que la operación de conexión sea exitosa? ¿Y cómo se aplica a escribir casos de prueba? ¿Debo escribir una prueba para cada operación, pero cada prueba declara sus dependencias, o debería reescribir todo el escenario para cada prueba?
Los casos de prueba deben estar ligeramente documentados: estos principios son específicos de los proyectos ágiles. Entonces, ¿tiene algún consejo sobre cómo implementar este principio?
Aunque pensé que escribir casos de prueba de aceptación iba a ser simple, me sentí abrumado por cada decisión que tenía que tomar (FYI: soy un desarrollador y no un probador profesional). Entonces mi pregunta principal es: ¿Qué pasos o consejos tiene para escribir casos de prueba de aceptación mantenibles para aplicaciones complejas? Gracias.
Editar : Para aclarar mi pregunta: soy consciente de que las pruebas de aceptación deben comenzar desde el requisito y considerar toda la solicitud como un recuadro negro. Mi pregunta se refiere a los pasos prácticos para escribir el documento de prueba, identificar los casos de prueba, lidiar con las dependencias entre pruebas ... para aplicaciones web complejas