Las pruebas de software pueden ejecutarse de forma manual o automatizada. En una prueba manual, una persona interactúa con el sistema, observa el comportamiento y compara el resultado obtenido con el resultado esperado. En una prueba automatizada, un programa ejecuta verificaciones de manera repetible.
Ambos enfoques son importantes. Las pruebas manuales aportan criterio humano, exploración y observación. Las automatizadas aportan velocidad, repetición y consistencia. El objetivo no es enfrentar una contra otra, sino entender cuándo conviene usar cada una.
En este tema veremos diferencias, ventajas, límites, ejemplos y criterios básicos para decidir qué pruebas ejecutar manualmente y cuáles automatizar.
Una prueba manual es una prueba ejecutada por una persona. El tester sigue pasos definidos o explora el sistema con un objetivo, observa lo que ocurre y decide si el comportamiento es correcto.
Ejemplos de pruebas manuales:
La prueba manual no significa prueba improvisada. Puede estar planificada, documentada y basada en criterios claros.
Las pruebas manuales tienen ventajas importantes:
El criterio humano es especialmente valioso cuando no sabemos exactamente qué defectos buscar o cuando el producto todavía está evolucionando.
Las pruebas manuales también tienen límites:
Por ejemplo, si cada nueva versión requiere revisar manualmente 200 casos de regresión, el equipo probablemente tardará demasiado y aumentará la posibilidad de omitir pasos.
Una prueba automatizada es una prueba ejecutada por código o por una herramienta. La automatización realiza acciones, compara resultados y reporta si la prueba pasó o falló.
Ejemplos de pruebas automatizadas:
Automatizar no significa que la herramienta piense por nosotros. Una persona debe decidir qué automatizar, diseñar la prueba, mantenerla y analizar sus resultados.
Las pruebas automatizadas aportan valor cuando se usan correctamente:
Su mayor fortaleza aparece en verificaciones repetibles, estables y con resultado esperado claro.
La automatización no resuelve todos los problemas de calidad. Tiene límites importantes:
Antes de automatizar, hay que entender qué riesgo se quiere cubrir y si la prueba será útil en el tiempo.
| Aspecto | Prueba manual | Prueba automatizada |
|---|---|---|
| Ejecutor | Una persona. | Un script, herramienta o sistema automático. |
| Mejor uso | Exploración, usabilidad, validación inicial, cambios frecuentes. | Regresión, verificaciones repetibles, cálculos, APIs, flujos estables. |
| Costo inicial | Menor. | Mayor, porque hay que implementar y configurar. |
| Costo de repetición | Alto si se repite muchas veces. | Bajo una vez creada y mantenida. |
| Criterio humano | Alto durante la ejecución. | Necesario en diseño y análisis, no durante cada ejecución. |
| Mantenimiento | Actualizar documentación y casos. | Actualizar scripts, datos, selectores, ambientes y expectativas. |
Conviene usar pruebas manuales cuando:
La prueba manual es útil cuando la observación, la adaptación y el juicio humano son parte central de la evaluación.
Conviene automatizar cuando una prueba tiene estas características:
Ejemplo: si en cada versión debemos comprobar que un usuario puede iniciar sesión, agregar un producto al carrito y confirmar una compra, probablemente convenga automatizar ese flujo si es estable y crítico.
No toda prueba es buena candidata para automatización. Al comenzar, conviene evitar automatizar:
Automatizar demasiado pronto puede generar una suite frágil y costosa, especialmente si el producto aún no estabilizó su comportamiento.
Una de las aplicaciones más importantes de la automatización es la prueba de regresión. Una regresión ocurre cuando algo que antes funcionaba deja de funcionar después de un cambio.
Las pruebas automatizadas ayudan porque pueden repetirse con frecuencia. Por ejemplo:
Esto permite detectar problemas antes de que avancen a etapas posteriores. Sin automatización, repetir siempre los mismos flujos críticos puede volverse lento y propenso a omisiones.
Algunos tipos de prueba suelen ser buenos candidatos para automatización:
La automatización puede aplicarse en varios niveles, no solo en la interfaz gráfica. De hecho, muchas veces es más estable automatizar pruebas unitarias o de API que depender únicamente de pruebas visuales completas.
Un objetivo frecuente, pero poco realista, es querer automatizar el 100% de las pruebas. En la práctica, automatizar todo no siempre es útil ni rentable.
Hay pruebas donde la automatización aporta mucho, y otras donde el criterio humano es más importante. Además, toda prueba automatizada necesita mantenimiento. Si el equipo automatiza casos de bajo valor, puede terminar dedicando demasiado tiempo a corregir pruebas que casi no reducen riesgos.
Tomemos la funcionalidad de inicio de sesión. Algunas pruebas podrían organizarse así:
| Prueba | Manual o automatizada | Motivo |
|---|---|---|
| Ingresar con usuario y contraseña correctos. | Automatizada | Es un flujo crítico, estable y repetible. |
| Rechazar contraseña incorrecta. | Automatizada | Resultado esperado claro y útil para regresión. |
| Evaluar si el mensaje de error es comprensible. | Manual | Requiere criterio humano y mirada de usuario. |
| Explorar combinaciones raras de navegación y recarga de página. | Manual inicialmente | Puede descubrir casos no previstos antes de decidir automatizar. |
| Comprobar que el botón se vea alineado en varios tamaños de pantalla. | Manual o automatizada visual según contexto | Depende del riesgo, herramientas y estabilidad visual. |
Este ejemplo muestra que una misma funcionalidad puede requerir una combinación de enfoques.
Las pruebas automatizadas son código o configuración. Por lo tanto, también deben mantenerse. Si el sistema cambia y las pruebas no se actualizan, pueden fallar aunque el producto esté bien, o pasar aunque ya no verifiquen lo correcto.
El mantenimiento puede incluir:
Una suite automatizada sin mantenimiento pierde confianza. El equipo debe tratarla como parte del producto.
Al trabajar con pruebas manuales y automatizadas, algunos errores frecuentes son:
Estos errores generan pérdida de tiempo, falsa confianza o suites difíciles de mantener.
Para combinar bien pruebas manuales y automatizadas conviene:
La mejor estrategia suele ser híbrida: criterio humano donde aporta más valor y automatización donde la repetición reduce riesgo y esfuerzo.
Las pruebas manuales y automatizadas no compiten entre sí. Resuelven problemas distintos. Las manuales permiten observar, explorar y pensar con flexibilidad. Las automatizadas permiten repetir verificaciones importantes con rapidez y consistencia.
Un equipo maduro aprende a combinar ambos enfoques. Automatiza lo estable, repetible y crítico; mantiene espacio para la exploración humana; y revisa continuamente si sus pruebas siguen aportando valor.
En el próximo tema estudiaremos pruebas de caja negra, caja blanca y caja gris, tres enfoques que diferencian cuánto conocimiento interno del sistema usamos al diseñar las pruebas.