Muy bien … así que esto me está volviendo loco ya que estoy tratando de alentar al equipo a escribir más pruebas, pero aquí estoy no se puede determinar si el siguiente ejemplo se considera una integración o un caso de prueba funcional.
Considere lo siguiente:
Tenemos una aplicación web simple que enruta / expone una serie de feeds JSON . Cada solicitud de usuario requiere que nuestra aplicación consulte un servicio externo a través de HTTP (en el backend) antes de realizar algunas transformaciones de datos y luego devolver una respuesta JSON serializada.
Usando una biblioteca de terceros, «podemos registra cada interacción HTTP única que se produce en el backend y escríbela en el sistema de archivos. Luego, estas grabaciones se «reproducen», lo que permite que los resultados de la consulta se consideren deterministas durante la prueba.
Mi caso de prueba contiene una sola afirmación. Es solo una cadena que contiene la respuesta JSON esperada para un solo feed. Después de inicializar nuestra aplicación, le permitimos enrutar una solicitud antes de capturar la respuesta y compararla con el JSON esperado.
1) ¿Es esta una prueba funcional o una prueba de integración?
2) Si es funcional, ¿cuál es exactamente la diferencia entre «Big Bang Integration Testing y Functional Testing»?
Respuesta
1) ¿Es esta una prueba funcional o una prueba de integración?
Funcional las pruebas y las pruebas de integración son clasificaciones de pruebas y no se excluyen mutuamente.
En este caso, son ambas. Las pruebas de integración son, por definición, cualquier prueba que pruebe más de un componente. Puede ser en un nivel bajo para probar dos clases que funcionan juntas, o pueden ser pruebas que prueban todo el sistema como un todo.
Las pruebas funcionales son pruebas que confirman una función determinada del sistema. Entonces, si tengo un requisito » el sistema persistirá el objeto de los usuarios en la base de datos «, la prueba funcional podría verificar ese requisito iniciando el sistema, guardando un usuario, deteniendo el sistema, volviéndolo a iniciar y verificando que el usuario existe y no ha cambiado.
Si «reescribe Al analizar casos de prueba a partir de una especificación de requisitos o de historias de usuarios, yo llamaría a sus casos de prueba «pruebas funcionales», pero también se clasifican como pruebas de integración por naturaleza.
2) Si es funcional, ¿cuál es exactamente la diferencia entre «Big Bang Integration Testing y Functional Testing»?
Según tengo entendido «big bang prueba de integración «es una prueba de integración en la que todos los componentes del sistema se integran y luego se prueban. El objetivo de esta prueba es asegurarse de que todos los componentes se integren correctamente y que la aplicación pueda iniciarse. La desventaja de este tipo de pruebas es que una falla en un caso de prueba da muy poca dirección a dónde está el error, por lo que es importante tener también pruebas de integración de nivel inferior.
Tus pruebas funcionales probablemente también integre todos los componentes en el sistema antes de la prueba. Pero aunque las pruebas de integración del Big Bang pueden parecer similares porque se está iniciando todo el sistema, son conceptualmente diferentes.