¿Porqué sugerimos pensarlo mejor antes de hacer el cambio a las pruebas de automatización de Software?
El gran debate: Automatizado VS Pruebas manuales
A lo largo de la experiencia profesional de un analista de calidad, puede encontrarse con ciertos dilemas que a veces pueden generar ansiedad.
No hay duda de que se encontrará con el debate entre las pruebas de software manuales y las pruebas automatizadas en casi todos los proyectos en los que trabaja.
Es común escuchar a la gente decir cosas como: “Automatice los casos de prueba para reducir el tiempo” o “perdimos mucho tiempo al probar cosas manualmente” y “sería mucho menos rutinario si las pruebas fueran automáticas”, sin embargo, ¿son todas estas afirmaciones ciertas el 100% del tiempo? O bien ¿deben desaparecer las pruebas manuales?
Probando ventajas y desventajas
Veamos primero algunos de los beneficios así como desventajas de ambos tipos de pruebas.
Por un lado, las pruebas automatizadas le permiten ejecutar una cantidad mucho mayor de casos de prueba en menos tiempo, lo que significa que ofrece resultados rápidos.
A largo plazo, puede ahorrar tiempo al eliminar la ejecución de pruebas de rutina que normalmente se tendría que hacer una y otra vez.
Sin embargo, escribir scripts para la automatización puede llevar tiempo. Además, no es algo que cualquier probador pueda hacer. Existen limitaciones adicionales, ya que no todos los aspectos visuales se pueden probar de esta manera.
Por otro lado, las pruebas manuales se parecen más a las pruebas que experimentarán los usuarios reales a medida que navegan por el software.
Esto abre una amplia gama de escenarios que serían difíciles de considerar si las pruebas fueran automatizadas. Además, los evaluadores manuales a menudo no necesitan tener habilidades técnicas tan altas, lo que también reduce el costo de las pruebas. La desventaja es que puede quedarse atascado en la rutina al ejecutar las mismas pruebas una y otra vez.
Si parece que la duda de automatizar o no aumenta cada vez más, estamos entonces en la misma página. Veamos algunos factores más.
Factores a considerar con la automatización de pruebas
Al sopesar si automatizar o no, se deben considerar varios aspectos sin embargo, los tres más grandes serían:
- Costo
- Recursos humanos
- Contexto del proyecto
La automatización puede resultar costosa, por lo que un análisis de costo-beneficio es vital al tomar esta decisión.
Si bien es cierto que existen alternativas de código abierto, la mayoría de las veces, las empresas optan por herramientas pagas, por una variedad de razones, como aspectos de soporte, confiabilidad, reputación o correlación con otras habilidades que ya se han adquirido.
Además, el costo puede aumentar aún más si se tiene en cuenta este segundo factor: los recursos humanos necesarios. El éxito o fracaso de la automatización dependerá de las habilidades del equipo.
No es una sorpresa que los expertos en automatización de pruebas puedan costar mucho más que los evaluadores sin estas habilidades.
El tercer factor es fácilmente el más importante de los tres. El contexto del proyecto es crucial al tomar esta decisión.
Muchas empresas fallan cuando intentan automatizar las pruebas porque no toman esto en cuenta con precisión. Primero necesita una comprensión profunda del proyecto, no solo a nivel de metodología, sino también sobre las limitaciones técnicas, las burocracias y aspectos particulares que pueda tener así como la volatilidad del proyecto.
La decisión no siempre es obvia o fácil
A menudo, una decisión puede parecer la correcta, hasta el final, cuando falla. Esa puede ser la razón por la que las empresas no consideran algunas cosas simples, como si las computadoras son lo suficientemente potentes para manejar la automatización. Además se debe tomar en cuenta que en ocasiones hay políticas internas que comienzan a crear barreras y retrasan la iniciativa.
Los proyectos que cambian a menudo tampoco se sugieren, ya que los scripts generados podrían volverse obsoletos rápidamente.
Entonces, ¿Es la prueba manual de software siempre la mejor opción?
Si se encuentra con una de estas situaciones y decide no automatizar, las pruebas manuales se adaptan fácilmente a las necesidades y realidades de cada proyecto. Ahora, con todo lo que hemos mencionado, ¿sugerimos que nunca automatice o estamos diciendo que la automatización es demasiado arriesgada?
¡Absolutamente no! Solo estamos diciendo que hay cosas muy importantes a considerar antes de sumergirse en la automatización.
Las pruebas automatizadas y las pruebas manuales no son exclusivas
Ahora, supongamos que encuentra el equilibrio perfecto en el proyecto y decide automatizar. ¿Esto significa que no debe hacer ninguna prueba manual del software? ¡De nuevo, la respuesta es no!
Automatizar absolutamente puede ser costoso y llevar mucho tiempo crear los scripts. Por otro lado, las pruebas manuales pueden llegar a ser demasiado rutinarias y pueden llevar mucho tiempo ejecutarlas.
¿Entonces qué debemos hacer?
Le sugerimos que encuentre algo en el medio. Automatice los casos de prueba que le brindarán el mayor valor en términos de tiempos y costos de prueba, y al mismo tiempo realice pruebas manuales, especialmente para aquellos casos de prueba que se centran en la experiencia del usuario.
Encontrar este punto intermedio asegurará que su decisión sea lo más exitosa posible.