Técnicas y tipos de pruebas de Software
Vamos a hablar un poco acerca de las técnicas de prueba; seguramente en alguna entrevista te han preguntado su clasificación y sé que a veces las confundimos con los tipos de prueba. Aquí vamos a dejarlo claro con un sencillo mapa mental, espero que les sriva:
Pruebas estáticas
Se realizan sin la ejecución del código o de la aplicación que vas a probar.
- Revisiones: Revisar , comprender y buscar que no ho haya errores, contradicciones, flujos inconclusos en casos de uso, historias de usuario, criterios de aceptación, guias de usuario, etc.
- Análisis estático: Hacer revisión con el uso de herramientas al código.
NOTA: Tanto al hacer revisiones y análisis estático se hace revisión de código, por lo tanto podemos hacer revisión manual del código para identificar si se están cumpliendo las mejores prácticas para el tipo de proyecto con el que estamos trabajando.
Pruebas dinámicas
Se realizan ejecutando la aplicación que vas a probar, ya sea como usuario o algunas pruebas más técnicas.
- Caja negra: Se refiere a las pruebas que están basadas en un análisis de la documentación (requisitos, criterios de aceptación, historias de usuario); estas pruebas pueden ser fucnionales o no funcionales. Cuando ejecutas pruebas de caja negra no te importa ni ves qué es lo que sucede en el interior (el código,lenguaje de programación, base de datos, arquitectura, etc.). Ejemplo: Probar el login ingresando usuario, contraseña y seleccionando el botón Ingresar.
- Caja blanca: Están basadas en la estrutcura interna del componente que vas a probar, están fuertemente ligadas a la revisión el código. Ejemplo: Pruebas unitarias, pruebas de covertura (revisar que con las pruebas unitarias estemos validando cierto porcentaje del código), pruebas de condición, pruebas de bucles.
Pruebas basadas en la experiencia
Para realizar estas pruebas se aprovecha la experiencia del tester y/o desarrollador, las hace alguien que tiene amplia experiencia probando o utilizando la aplicación que se va a probar, un ejemplo son las pruebas exploratorias donde ya se tiene una idea de cómo debe de comportarse la aplicación.