Las pruebas automatizadas se han vuelto tan integrales en ciertas rutinas que algunos testers se preguntan si reemplazarán por completo las pruebas manuales.
No sucederá pronto.
Cuando el equipo de Tesla diseñó el Model 3, una forma en la que querían aumentar la tasa de producción era tener una línea de ensamblaje completamente automatizada. La IA ensamblaría el auto con casi ninguna supervisión humana.
El plan fracasó horriblemente.
Los autos chocaban entre sí, las puertas se atornillaban en las ventanas y los neumáticos no se colocaban correctamente en sus aros.
¿Qué pasó? Bueno, resulta que los robots no ven muy bien. La IA encargada de ensamblar el Model 3 no podía adaptarse a complicaciones inesperadas o leves desalineaciones. Si todo no estaba perfectamente alineado, cometía errores catastróficos.
Lo mismo ocurre con las pruebas automatizadas en QA. Algunas formas de prueba tienen demasiadas variables y requieren que el tester manual pueda corregir el rumbo y solucionar problemas sobre la marcha.
¿Qué es la prueba automatizada?
La prueba automatizada significa que un tester QA utiliza una herramienta para ejecutar un caso de prueba. En el ciclo de desarrollo, el mismo caso de prueba se probará varias veces.
Algunos de los casos de prueba que tomarían a un equipo de testers QA horas para realizar manualmente pueden ser hechos por una herramienta de automatización en unos minutos. Varias herramientas de prueba automatizada se han convertido en el estándar de la industria.
El lado oscuro de la prueba automatizada
Otras industrias, oficios y profesiones han tenido que lidiar con la introducción de la automatización en su campo. Siempre que eso ha sucedido, ya sea en la aviación con el piloto automático, el tejido de alfombras o las pruebas, los trabajadores en ese campo pierden su comprensión del ‘por qué’ detrás de su trabajo.
Esto es un fenómeno que el profesional de QA, Jan Jaap Cannegieter, notó que empezó a ocurrir con los testers. Su temor final es que la facilidad de la prueba automatizada y el creciente impulso para automatizar gran parte del proceso de pruebas lleve a una generación de testers que saben qué acciones realizar pero carecen de una comprensión del por qué.
Muchos testers saben todo sobre ciertas herramientas o lenguajes de programación, pero no pueden decirme qué prueban y por qué lo prueban. Y eso es algo malo.
Ejemplos de mala prueba automatizada
Muchos testers QA ven el mismo potencial en las pruebas automatizadas. Por lo general, eso significa que hay tendencias observables y errores comunes que un tester QA puede cometer. Aquí tienes algunos ejemplos comunes de mala práctica en pruebas automatizadas.
Anidación de pruebas automatizadas
La anidación de pruebas automatizadas ocurre cuando varias pruebas automatizadas se ejecutan unas sobre otras. Cuando esto sucede se vuelve difícil averiguar qué salió mal cuando aparece un error.
A corto plazo, la mayoría de los casos de prueba automatizada son positivos. El tester QA utiliza la herramienta correcta y la ejecuta apropiadamente.
Muchos ejemplos de malas prácticas en prueba automatizada sólo se vuelven problemáticos seis meses después, cuando las pruebas automatizadas se han anidado dentro de otras pruebas automatizadas y así sucesivamente.

Prueba automatizada de UI sin supervisión
La prueba de la interfaz de usuario asegura que no haya nada que un usuario pueda hacer en la UI que rompa el programa o cause mal funcionamiento. Cuando se prueba manualmente, esto puede requerir muchos testers y mucha mano de obra. Francamente, es ineficiente hacer pruebas de esa manera, sobre todo a medida que el programa se hace más grande y más funciones requieren ser probadas.
Con la prueba automatizada, el proceso se vuelve más rápido, pero aún así puede requerir toda la capacidad de la computadora del tester QA durante todo el día. Para solucionar esto, los testers QA suelen ejecutar la prueba al final del día, dejarla trabajar durante la noche y regresar al trabajo a la mañana siguiente con los resultados esperándolos. Tiene sentido, ¿verdad?
En la superficie, parece lo más inteligente. El tester QA utiliza su computadora para probar otros programas durante el día, y luego en la noche ejecuta la prueba automatizada en la UI.
Es porque intuitivamente tiene sentido que esto es un error común. Muchas cosas pueden salir mal cuando la prueba automatizada se realiza sin supervisión.
Si algo falla al inicio, el resto de los resultados serán erróneos. Todo un día de pruebas generó información inútil por un error que podría haberse detectado y corregido fácilmente si alguien hubiese estado ahí para verificar que la prueba automatizada estaba funcionando correctamente.
Si bien las pruebas automatizadas a veces pueden conducir a falsos positivos, elegir las herramientas de automatización de QA adecuadas puede reducir significativamente este tipo de situaciones.
Automatizando lo incorrecto
La configuración de pruebas de automatización lleva tiempo. QA debe asegurarse de que las herramientas de automatización sean las adecuadas para el proyecto y que los evaluadores de QA sepan utilizarlas correctamente.
Todo esto requiere mucho tiempo y organización, y si el resultado es que una prueba que típicamente se ejecuta una vez al mes se automatiza, probablemente no vale la pena el esfuerzo. Antes de comenzar con la automatización de pruebas, asegúrate de que lo que vas a automatizar realmente ahorrará a los evaluadores de QA una cantidad medible de tiempo.
No solo puedes automatizar tareas que son demasiado poco frecuentes como para que valga la pena el esfuerzo, sino que algunas tareas simplemente no pueden automatizarse fácilmente.
Reemplazando las pruebas manuales
Las pruebas automatizadas solo pueden detectar lo que se les indica buscar. Si las fuentes en una página web aparecen extrañas, pero la prueba solo estaba comprobando que todos los enlaces funcionaran, resolverá un problema (los enlaces) pero no sabrá que había otro problema (las fuentes).
Las pruebas manuales pueden detectar cosas fuera del alcance inicial de la prueba. El método de pruebas exploratorias fue diseñado para dar al evaluador de QA el espacio para encontrar errores inesperados a medida que aparecen, incluso si no era eso lo que estaba buscando inicialmente. Enfocada en una tarea única, la automatización de pruebas puede ser minuciosa. Lo que no puede ser, es integral.
Ejemplos de una buena automatización de pruebas
La automatización de pruebas se realiza para minimizar el riesgo. Cuando un evaluador de QA puede minimizar el riesgo y maximizar la eficiencia, sin duda debe implementarse la automatización de pruebas. No tiene sentido que un evaluador de QA pase horas comprobando manualmente los enlaces de un sitio web cuando un rastreador web puede realizar la misma actividad en menos tiempo y es menos propenso a cometer errores.
Una buena regla general para decidir cuándo se debe usar la automatización de pruebas en lugar de pruebas manuales es preguntar si la prueba será rápida o continua. Si la prueba se va a ejecutar de forma continua, la automatización es el camino a seguir.
Las personas son peores que las máquinas a la hora de realizar tareas repetitivas de manera constante y a un alto nivel. Buscamos la novedad y perdemos el interés mentalmente cuando hacemos lo mismo por demasiado tiempo. Esto permite que se cometan errores.
Así, un evaluador de QA se dará cuenta de que: a) ha invertido más tiempo que si hubiese ejecutado pruebas automatizadas y, b) ha hecho un peor trabajo y ha creado más problemas a largo plazo.

Jason Huggins, fundador del popular sistema de pruebas automatizadas Selenium, desarrolló el programa porque se dio cuenta de que muchos de sus días como evaluador los pasaba ejecutando las mismas tareas; tareas que él consideraba lo suficientemente simples y directas como para que incluso un robot pudiera hacerlas. Así que creó un script que probaba automáticamente la funcionalidad del navegador por él. Fue un éxito instantáneo y rápidamente se convirtió en el estándar de la industria.
Incluso los profesionales de QA que son escépticos respecto a la automatización saben que en muchas ocasiones cumple una función importante.
Por qué las pruebas manuales nunca desaparecerán
Ya hemos repasado lo bueno, lo malo y lo muy malo de la automatización de pruebas. Sabemos en qué situaciones funciona bien y dónde puede causar problemas en líneas de montaje. Ahora analicemos un poco las pruebas manuales y por qué siguen siendo tan importantes para los evaluadores de QA.
La automatización de pruebas necesita supervisión
Como se mencionó anteriormente, con el problema del Model 3 de Musk y los riesgos de dejar la automatización de pruebas funcionando durante la noche, las cosas pueden salir muy mal cuando se dejan las herramientas de automatización sin supervisión.

Los grandes beneficios de la automatización de pruebas se obtienen cuando se combina con pruebas manuales o bajo la supervisión de un evaluador de QA. Solo por esa razón, los evaluadores pueden estar tranquilos sabiendo que la automatización de pruebas no reemplazará sus funciones en un futuro cercano.
Las pruebas manuales emplean pruebas exploratorias
Cuando un evaluador está realizando una prueba exploratoria, está explorando el software sin un plan predefinido. Es una de las formas más populares de pruebas en QA.
Las pruebas exploratorias solo pueden realizarse de manera manual.
El beneficio de las pruebas exploratorias es que permite al evaluador adaptarse a lo que encuentra en el momento, sin necesidad de escribir otro caso de prueba.
Las pruebas exploratorias también permiten la colaboración, la creación de teorías y la cooperación, todo en tiempo real.
A medida que la teoría ágil de desarrollo se ha vuelto más prominente, también lo han hecho las pruebas exploratorias.
Las pruebas automatizadas carecen de la flexibilidad y creatividad necesarias para ser lo suficientemente ágiles para las pruebas exploratorias. Funcionan mejor en entornos rígidos donde saben exactamente qué buscar. Las pruebas exploratorias son todo lo contrario: instruyen al tester de QA a ir donde quiera.
¿Qué opinas?
Algunas personas confían plenamente en las pruebas automáticas, mientras que otros aún creen que el método manual es el camino a seguir. ¿Cómo crees que los equipos de QA pueden sacar el máximo provecho de las pruebas automatizadas? ¿Crees que estamos listos para la IA en pruebas?
Suscríbete al boletín de The CTO Club para recibir los últimos artículos y actualizaciones de expertos de la industria.
