Una prueba (pieza de código) automatizada, simple, repetible y mantenida que invoca una unidad de trabajo en el sistema y luego verifica una sola suposición sobre el comportamiento de esa unidad de trabajo. En términos simples, una prueba de unidad proporciona validación a nivel de unidad o método. Escenario de uso: Típicamente desarrollado y ejecutado por desarrolladores al inicio o durante el proceso de desarrollo de software. Ejecute en cada compilación para probar unidades individuales del sistema de forma aislada. Estas pruebas son ejecutadas por los desarrolladores, son pruebas de caja blanca.
Una prueba de integración valida dos o más módulos de software dependientes (o componentes) como un grupo de múltiples maneras. En otras palabras, una prueba de integración valida que los módulos de software funcionan correctamente cuando se integran con otros módulos. Escenario de uso: Ejecute en cada compilación para ver cómo se unen los diferentes módulos / componentes de software e identifique cualquier problema de integración temprano.
Estas pruebas de pueden analizar desde el punto de vista de pruebas horizontales, donde se prueba por ejemplo una ruta critica debe pasarse por el login, luego por un menu hamburguesa y finalmente llegar a un formulario.
Pruebas automatizadas realizadas a través de la interfaz de usuario para probar componentes juntos en escenarios. Estas pruebas generalmente conducen su aplicación a través de su interfaz de usuario (UI) e incluyen pruebas funcionales de los controles de la UI. Escenario de uso: Ejecutar después de que la interfaz de usuario de la aplicación esté en funcionamiento para probar las diversas funcionalidades de la aplicación y garantizar que los diversos componentes de la aplicación funcionen como se espera. Estas pruebas le permiten validar si toda la aplicación (incluida su interfaz de usuario) funciona correctamente. Muchas veces, estas pruebas se utilizan para automatizar una prueba manual existente. Estas pruebas auque no verifican unitariamente la aplicacion, al interactuar con la interfaz, de alguna manera tambien validan que para un X valor de entrada se tenga una Y como salida.
Las pruebas de rendimiento validan la capacidad de respuesta, el rendimiento, la confiabilidad y la estabilidad de la aplicación. Una prueba de carga exige un sistema para determinar el comportamiento bajo diferentes niveles de carga, identificar cuellos de botella y validar el rendimiento esperado. Escenario de uso: Debe ejecutarse en cada compilación. Sin embargo, debe ejecutarse antes de su lanzamiento a producción para garantizar que la aplicación pueda funcionar de acuerdo con las expectativas del usuario final y manejar los niveles de carga esperados. Comprueba si un sistema puede funcionar bajo una gran carga de usuarios para cumplir con requisitos no funcionales, como el tiempo de respuesta de una página web.
Una prueba de aceptación manual valida si se cumple un requisito o especificación. Una prueba exploratoria utiliza la inteligencia y la creatividad de un probador para validar la calidad, la usabilidad, el rendimiento y la experiencia. Escenario de uso: Normalmente se ejecuta manualmente antes de la producción para garantizar que el software cumpla con los requisitos o necesidades comerciales. En este tipo de prueba, los probadores son responsables de administrar su propio tiempo y encontrar formas creativas de probar el sistema en cualquier etapa.