Un caso de prueba sirve para comprobar:
-
Que el software hace lo que debe hacer.
Que responde correctamente a entradas válidas e inválidas.
Que los errores o defectos se identifican oportunamente.
- Condiciones Previas:
El usuario “admin” está registrado en el sistema.
-
El navegador tiene conexión a internet.
-
Acciones de Prueba:
-
Abrir la aplicación en el navegador.
-
Ingresar en el campo "Usuario": admin.
-
Ingresar en el campo "Contraseña": 12345.
-
Hacer clic en el botón “Iniciar sesión”.
-
-
Datos de Prueba:
-
Usuario: admin
-
Contraseña: 12345
-
-
Resultado Esperado:
El sistema redirige al usuario al panel principal mostrando el mensaje “Bienvenido, admin”.
Pruebas de Componentes (Unitarias o de Módulo)
Las pruebas de componentes verifican cada parte individual del software (clases, funciones, módulos) de forma aislada, antes de integrarlo con el resto del sistema.
Alcance y Estrategia de Prueba
Qué se prueba: funciones individuales, clases, APIs, módulos independientes.
Cómo se prueba: con herramientas de prueba unitaria (JUnit, NUnit, PyTest, etc.), validando entradas y salidas esperadas.
Entorno de Prueba
Se configura un entorno controlado con librerías y dependencias simuladas (mocks o stubs).
Componentes de Software a Probar
Funciones, métodos, algoritmos o clases específicas.
Acciones de Prueba
Ejecutar cada función con diferentes entradas (válidas e inválidas).
Comprobar salidas correctas, manejo de errores y excepciones.
Condiciones Previas
Código compilado sin errores.
Dependencias externas simuladas.
Datos de Prueba
Entradas simples y controladas (ej: números positivos, negativos, nulos).
Resultados Esperados
La función devuelve el valor correcto.
Se manejan errores según lo esperado.
Recursos y Cronograma
Recurso: desarrollador o tester con conocimiento del código.
Cronograma: se ejecutan en paralelo al desarrollo, en cada commit o build (pruebas continuas).
Conclusión
El diseño de casos de prueba es una actividad fundamental dentro del aseguramiento de la calidad del software, ya que garantiza que las funcionalidades se validen de manera sistemática, organizada y medible.
Las pruebas de componentes permiten aislar y validar cada parte del sistema en desarrollo, detectando errores de forma temprana, mientras que las pruebas de sistema aseguran que todos los módulos integrados funcionen correctamente en conjunto, replicando escenarios reales de uso.
En conjunto, ambos enfoques proporcionan una estrategia sólida de pruebas: primero se comprueba la correctitud interna de cada pieza y después la coherencia global del software. De esta manera, se minimizan riesgos, se mejora la confiabilidad del producto y se asegura la satisfacción del usuario final.
Video del diseño de casos de prueba y ejemplos:
Referencias
- Ammann, P., & Offutt, J. (2016). Introduction to software testing (2nd ed.). Cambridge University Press.
- Kaner, C., Bach, J., & Pettichord, B. (2002). Lessons learned in software testing: A context-driven approach. Wiley.
- Myers, G. J., Sandler, C., & Badgett, T. (2011). The art of software testing (3rd ed.). Wiley.
- Beizer, B. (1995). Software testing techniques (2nd ed.). Dreamtech Press.
- ISTQB. (2018). Standard glossary of terms used in software testing. International Software Testing Qualifications Board.
- Jorgensen, P. C. (2013). Software testing: A craftsman’s approach (4th ed.). CRC Press.