El gran mito del testing es el que indica que el mejor escenario es llevar la automatización de pruebas al 100%. Se trata de un error frecuente. No solo es falso que en estos casos el retorno de inversión será siempre significativo y que los ahorros resultarán mayúsculos, sino que, además, en algunos casos, la automatización absoluta podría ser perjudicial para el proyecto.
El testing manual continúa siendo una práctica fundamental, en especial en escenarios donde el ojo humano hace la diferencia o en el que el contexto del usuario resulta clave para comprender el comportamiento de un software. Además, el exceso de automatización muchas veces puede llevar a costos o a esfuerzos innecesarios.
Los escenarios clásicos
Por eso, el primer paso antes de avanzar sobre la automatización en testing consiste en analizar la viabilidad y la factibilidad en cada caso específico. A continuación, algunos escenarios en los que la automatización aporta un enorme valor agregado:
– Pruebas de regresión. Son las que se realizan para detectar errores o problemas de funcionalidad. Suelen ser altamente repetitivas y consumir enormes cantidades de tiempo de los testers. Es, tal vez, el escenario más claro en que la automatización aporta valor.
– Proyectos extensos con numerosos releases. En estos casos también se dan tanto la repetitividad como el consumo intensivo de capital humano para testear, en ocasiones, cambios mínimos o sutiles respecto de las versiones anteriores.
– Casos de alto riesgo o alto impacto para el negocio. Cuando aparecen determinadas funcionalidades que son críticas para la empresa, en las cuales el criterio de aceptación estará apoyado en el éxito de la prueba, la automatización garantiza resultados sin margen de errores.
– Casos de prueba que se repiten en los que solo cambia el escenario de data.
– Pruebas que se deben realizar en diferentes ambientes o en granjas de dispositivos. También permiten ejecutar rápido, con gran cobertura y en muchos espacios en simultáneo.
Más casos de prueba
La automatización en todos estos casos no solo nos permite ganar eficiencias. También habilita la posibilidad de ampliar la cantidad de casos de prueba, ya que en el modelo manual suele haber restricciones de tiempo -es, por supuesto, más lento- o de costos que hacen que se termine decidiendo algún tipo de recorte en el alcance para poder llegar a cubrir lo mínimo necesario.
La automatización de pruebas, por lo tanto, es una alternativa más que, bien aplicada y habiendo analizado previamente qué objetivos persigue y en qué contexto se utilizará, permite generar un mayor valor al negocio y una mayor eficiencia a la hora de hacer determinados tipos de pruebas.
No reemplaza al testing manual: lo complementa para, en conjunto y de manera colaborativa, llegar al mejor resultado posible: un software con la máxima calidad.
¿En qué otros escenarios se te ocurre que la automatización de prueba puede generar valor para el proceso de desarrollo en particular y para el negocio en general? Puedes contactarnos en nuestro LinkedIn y Twitter.