El futuro de las Pruebas Manuales
En tiempos dónde el desarrollo de software se orienta hacia lo ágil, DevOps, hipercompetitividad y un amplio etcétera; el testing no se podía quedar atrás, porque es fundamental poner en el mercado productos software rápido pero sin afectar la calidad y esto trajo consigo un nuevo tipo de testing: el automatizado.
Para acceder a puestos de trabajos con mejores remuneraciones necesitas automatizar pruebas y por supuesto hablar Inglés (porque sí, no se puede obviar), si eres tester manual tienes que dar el gran paso para poder diversificarte en el mercado laboral y así ser más llamativo para las empresas que utilizan el enfoque ágil.
El desarrollo ágil y la automatización son actividades aliadas; de hecho parecen ser sinónimos; o que son la única manera de probar bien y rápido. Pero hablar de automatización es una cosa y ponerla en práctica otra.
Los beneficios de automatizar las pruebas son muy amplios y reconocidos por la mayoría de empresas; se aceleran las pruebas ¡Claro que sí!, aumenta la cobertura, reduce costos, entre varias; pero en muchos casos los miembros de TI no logran superar la inversión inicial que requiere montar una buena estrategia de pruebas automatizadas y es que la automatización de pruebas conlleva un esfuerzo inicial bastante grande dónde es importante tener pruebas manuales documentadas y ejecutadas y con esa base trazar un plan aterrizado de que se automatizará y cómo.
¿Las pruebas manuales serán reemplazadas por las pruebas automatizadas o la automatización es la solución para el cuello de botella en etapa QA?
Muchas empresas tienen la idea de que automatizar es que un desarrollador del equipo programe los script de pruebas o seleccionar una herramienta que grabe los pasos de las pruebas para posteriormente ejecutarlos. La automatización va mucho más allá de optimizar el tiempo de ejecución de pruebas y una de las ventajas poco mencionada es que permiten que las pruebas manuales se realicen donde se necesita mayor atención al detalle y dedicación.
Las pruebas manuales no son una simple interacción directa con el software, es una actividad muy importante y saberlo hacer hace la diferencia.
¿Cómo lograrías saberlo hacer?
Practicando, conociendo el proyecto, teniendo identificada las prioridades y necesidades, ejecutando pruebas exploratorias y de ser posible conocer sobre los principales flujos y procesos del negocio. Todo eso te dará una base sólida para comenzar el proceso de pruebas.
Como tester manual no puedes ejecutar simplemente instrucciones; tienes que hacerlo con curiosidad, ojo crítico y compromiso son básicamente esos elementos que hacen este tipo de testing indispensable en los ciclo de desarrollo software. El ojo humano no podrá ser reemplazado por la automatización; los tests automatizados ejecutarán siempre las mismas líneas que encontrarán las desviaciones (errores, defectos y fallas,ISTQB-CTFL Syllabus 2018 v3.1.1) más grandes en la primera pasada y lo que no está hallando se podría convertir en una bola de nieve. Estos tests no explorarán lo que no le digas qué exploren y es aquí donde se complementan: lo manual y automatizado. Por eso es bueno plantear una estrategia que abarque ambos tipos de pruebas.
Pruebas exploratorias
Esta estrategia de pruebas reactivas y basada en la experiencia, ISTQB-CTFL Syllabus v3.1.1 (2018) podríamos decir es un buen “as bajo la manga” para que un tester manual se mueva en entornos ágiles. Las pruebas exploratorias “se diseñan, ejecutan, registran y evalúan dinámicamente durante la ejecución de pruebas…” (ISTQB-CTFL Syllabus 2018 v3.1.1, p. 61).
Lo que significa optimización del tiempo juntando las etapas del proceso de prueba, es una técnica muy poderosa que te permite aprender y probar al mismo tiempo; de hecho es perfecta cuándo te lanzan al agua con un producto que ya tiene tiempo en desarrollo, o bien las pruebas automatizadas ya cubren parte del proceso de pruebas pero se necesita ampliar la cobertura definiendo flujos críticos, inclusive mejorar/actualizar las pruebas automatizadas existentes, porque recordemos que para hacer un test automático primero debe haber un test manual.
Las pruebas exploratorias te permiten dar retroalimentación rápida de funcionalidades/ productos nuevos estando al tanto cada día de cambios o mejoras a implementar permitiendo al equipo la toma de decisiones en tiempo real; no es necesario terminar el proceso de pruebas para proponer e informar, permitiendo entregar resultados en menor tiempo. Y lo más esencial de esta estrategia, personalmente; es que alimenta tu experiencia como tester ya que amplía tus conocimientos continuamente y sin poner límites a tu curiosidad.
Las pruebas exploratorias se pueden combinar con cualquier otra estrategia de pruebas, recordemos que un proceso de pruebas se mueve muchísimo en dependencia del tipo, equipo, ambiente, metodología usados en el proyecto.
Manual o automatizado
Y vuelvo a destacar: no es mejor ningún tipo de testing, en ambos tipos de pruebas podemos caer en la paradoja del pesticida, ISTQB-CTFL Syllabus v3.1.1 (2018), y es aquí donde se complementa una con la otra. No podemos estar siempre haciendo pruebas manuales a lo mismo porqué es aburrido y de tanto probar lo mismo nuestro ojo/olfato pierde la curiosidad; por eso hay que priorizar automatizar las pruebas regresivas, funcionalidades que periódicamente está usando el usuario y son repetitivas.
Ambos tipos de pruebas tiene sus ventajas y desventajas, no todo se puede automatizar pero automatizar reduce tiempo; las pruebas manuales que le permitirán al equipo tener la información que responda las interrogantes ¿Cuál testing es mejor para esta etapa del proyecto? ¿Cuándo aplicar uno sobre otro? ¿Qué estrategias usar? ¿Cómo los vamos a complementar? Con esto se podría crear una estrategia que permita no sólo optimizar el tiempo de ejecución de pruebas, sino también, potenciar y aprovechar el talento que puede ofrecer cada miembro del equipo.
El camino del testing no es lineal no existe un camino único para pasar de tester manual a automatizador; es recomendable iniciar consolidando o conociendo las bases teóricas del testing: planes de pruebas, crear un caso de prueba, conocer estrategias de pruebas, entre otros; luego es necesario aprender lenguajes de programación para seleccionar las herramientas que potencian nuestras habilidades y nos permitan ejecutar ambos tipos de pruebas.
Coméntame, según lo expuesto y tu experiencia ¿Crees que las pruebas manuales en algún momento serán completamente reemplazadas por las automatizadas? ¿Cómo gestiona el cuello de botella en QA la automatización? ¿Qué futuro ves para el testing? ¿Ya has automatizado un test de pruebas?
Muchas gracias por compartir, nos leemos pronto.