Escribir pruebas no consiste solo en acumular casos. Una prueba útil debe tener propósito, claridad, datos adecuados, resultado esperado y mantenimiento. Si las pruebas son confusas, repetidas, frágiles o desactualizadas, pueden consumir más tiempo del que ahorran.
En este tema reuniremos buenas prácticas iniciales para escribir y mantener pruebas. Son recomendaciones aplicables tanto a pruebas manuales como automatizadas, aunque algunos puntos se relacionan más con un enfoque que con otro.
El objetivo es que las pruebas aporten confianza real y puedan evolucionar junto con el producto.
Cada prueba debe existir por una razón. Antes de crearla conviene preguntarse:
Una prueba sin propósito claro suele volverse ruido. Puede aumentar la cantidad de casos, pero no necesariamente la calidad.
Una prueba sin resultado esperado no permite decidir con precisión si pasó o falló. El resultado esperado debe ser observable y verificable.
Ejemplo débil:
Ejemplo mejor:
La claridad del resultado esperado reduce discusiones y mejora la reproducibilidad.
Una prueba debería tener un objetivo principal. Si un caso intenta validar demasiadas cosas, cuando falla puede ser difícil entender la causa.
Ejemplo de prueba demasiado amplia:
Ese flujo puede servir como prueba end-to-end crítica, pero no debería ser la única forma de validar todas esas reglas. Conviene complementar con casos más específicos para registro, login, cupón, pago y reporte.
Los nombres de casos, suites o pruebas automatizadas deben indicar qué verifican.
Nombres poco útiles:
Nombres mejores:
Un buen nombre ayuda a entender el alcance sin abrir todos los detalles.
Los datos deben apoyar el objetivo de la prueba. Si los datos son ambiguos, compartidos o inestables, la prueba puede fallar por causas externas.
Buenas prácticas:
Una prueba confiable necesita datos confiables.
La duplicación excesiva vuelve las suites difíciles de mantener. Si diez casos prueban casi lo mismo con diferencias irrelevantes, tal vez convenga simplificar.
Antes de agregar un caso nuevo conviene preguntar:
Menos casos bien elegidos pueden aportar más valor que muchos casos repetidos.
No todas las pruebas son igual de importantes. Cuando el tiempo es limitado, debemos ejecutar primero las que cubren mayor riesgo.
Priorizar por riesgo implica considerar:
La prioridad ayuda a tomar mejores decisiones cuando no se puede probar todo.
Las pruebas importantes deberían poder relacionarse con requisitos, criterios, riesgos o defectos.
Esto permite:
La trazabilidad puede ser liviana. Lo importante es que sea útil y mantenible.
Las pruebas deben evolucionar con el producto. Una suite que no se mantiene pierde valor.
Conviene revisar pruebas cuando:
Mantener pruebas también significa eliminar o simplificar lo que ya no sirve.
Una buena estrategia combina pruebas manuales y automatizadas.
Conviene automatizar:
Conviene mantener manual o exploratorio:
Una prueba frágil falla frecuentemente por causas que no son defectos reales. Esto reduce confianza y consume tiempo.
Causas comunes:
Una prueba frágil debe corregirse, aislarse o eliminarse si no aporta valor.
Una prueba mantenible es fácil de entender y actualizar. Para lograrlo:
La mantenibilidad importa porque las pruebas viven tanto como el producto.
La evidencia debe ayudar a comprender el resultado. No siempre hace falta guardar capturas de todo, pero sí conviene registrar evidencia cuando:
La evidencia debe ser clara, breve y relacionada con el resultado esperado u obtenido.
Las pruebas mejoran cuando se revisan con otras personas. Una revisión puede detectar huecos, duplicaciones o resultados esperados incorrectos.
Pueden participar:
La revisión colaborativa ayuda a alinear comprensión del requisito y reduce defectos por malentendidos.
Cada defecto importante puede mejorar la suite de pruebas. Después de analizarlo, conviene preguntar:
El objetivo no es culpar, sino mejorar el sistema de prevención y detección.
La cantidad de pruebas no garantiza calidad. Una suite con 500 casos repetidos puede cubrir menos riesgo que una suite con 80 casos bien diseñados.
Para evaluar una suite conviene mirar:
Medir solo cantidad puede empujar al equipo a crear pruebas de bajo valor.
Prueba inicial débil:
Versión mejorada:
La segunda versión tiene objetivo, condición, datos y resultado esperado. Es más fácil de ejecutar, revisar y mantener.
Al escribir y mantener pruebas, algunos errores frecuentes son:
| Práctica | Beneficio |
|---|---|
| Definir objetivo claro | Evita pruebas sin propósito. |
| Especificar resultado esperado | Permite decidir si pasa o falla. |
| Usar datos controlados | Mejora reproducibilidad. |
| Priorizar por riesgo | Enfoca el esfuerzo donde más importa. |
| Mantener trazabilidad | Ayuda a entender cobertura e impacto de cambios. |
| Actualizar pruebas | Evita suites obsoletas. |
| Revisar con el equipo | Reduce malentendidos y huecos. |
Escribir y mantener buenas pruebas requiere claridad, criterio y disciplina. Una prueba útil debe explicar qué verifica, con qué datos, bajo qué condiciones y qué resultado se espera.
Las pruebas también necesitan mantenimiento. Si el producto cambia, la suite debe cambiar. Si una prueba no aporta valor, debe revisarse. Si un defecto importante aparece, la suite debe aprender de él.
En el próximo tema realizaremos un caso práctico integrador para aplicar los conceptos principales del curso a una funcionalidad simple.