Reyes Sánchez García/ noviembre 24, 2020/ Gestión de la calidad/ 0 comentarios
Tiempo de lectura: 5 minutosNo siempre es la mejor opción la automatización de las pruebas para el aseguramiento de la calidad. Cuando los equipos de desarrollo y/o calidad no tienen la experiencia necesaria, es frecuente caer en malas prácticas. Esto conduce a un incremento de gasto debido a esfuerzos innecesario y el rehacer el trabajo una y otra vez. ¿Tienes claro que tienes que hacer? ¿y qué no es recomendable llegar a cabo cuando nos planteamos la automatización de nuestro plan de pruebas?
A continuación, enumero algunos elementos que se deben tener en cuenta.
Qué No debemos hacer al automatizar pruebas
Es importante saber qué tenemos que hacer a la hora de ponernos manos a la obra con una tarea, pero también es muy importante saber que no debemos hacer. Por tanto vamos a repasar en un primer lugar que no debemos hacer a la hora de automatizar nuestras pruebas de software.
Automatizar todas las pruebas
La automatización es una ayuda a las pruebas manuales, no la solución definitiva. La automatización de pruebas quita carga a los equipos para casos que son necesarios revisar continuamente y que no necesitan de un enfoque manual. No se vale automatizar todo. No es viable económicamente y con respecto al tiempo. Para la automatización necesitamos un mínimo del doble de tiempo del que se necesita si se ejecutara manualmente. Por ello, aumentan los costes del proyecto, gastando horas de las cuales no se dispone normalmente.
Automatizar versiones inestables
Queremos ir rápido, y automatizamos pruebas sobre versiones del sistema que todavía no son estables. Esto conlleva a que será necesario rehacer un número importante de pruebas, gastando tiempo, e incrementando tiempo del proyecto. Siempre se debe optar por versiones que tienen un buen nivel de consolidación.
No tener en cuenta lo que más valor aporta
Si nos encontramos que tenemos que verificar un conjunto de requisitos es importante hacer una planificación de por donde comienza el plan de pruebas. Debemos definir las pruebas que tienen más criticidad y relevancia en primer lugar. En este sentido, se debe seguir la misma línea para la automatización. No podemos gastar tiempo que no tenemos en automatizar pruebas por un orden alfabético y no en función del valor que aportan a nuestro producto.
Las pruebas de usuario no se automatizan
Otro enfoque que tenemos que tener en cuenta es que perfil de usuarios va a ejecutar las pruebas. No es lo mismo las pruebas internas que se ejecutan en la propia empresa (componentes, integración, sistema), que las que realiza el cliente o los usuarios (aceptación). Internamente recomienda automatizar el 75% de las pruebas, mientras que para los usuarios, deberán ser 100% ejecución manual. En el caso del cliente, depende de lo que solicite.
No automatización de pruebas de áreas con frecuente actualización
Hay funcionalidades que están en constante evolución. En estos casos tendríamos que invertir grandes cantidades de tiempo en rehacer las comprobaciones automáticas. Si nos encontramos en esta tesitura en la que el coste es muy elevado, y la criticidad no es alta no deberíamos optar por la automatización.
Qué SI debemos hacer en la automatización de pruebas
Hacer una planificación
Este es el punto clave para llevar a cabo cualquier tarea, en cualquier ámbito de actuación. Es necesario planificar para ser consientes del trabajo a realizar. En este sentido, en el desarrollo de software: es un punto clave. Debemos definir desde el inicio del proyecto cuáles son las tipologías de pruebas a cubrir, cuáles son los requerimientos de más criticidad, etc, y cuando se van a llevar a cabo. En definitiva, tenemos que saber que vamos a ejecutar y desde estos datos preliminares comenzar con la selección de pruebas a ejecutar.
Automatizar las pruebas más repetitivas
Ocurre en todos los desarrollo, que hay un conjunto de pruebas, que por una razón u otra se repiten con mucha frecuencia. Normalmente ocurre debido a que son puntos críticos del desarrollo, o porque está en la confluencia o integración de varias funcionalidades. Si nos encontramos con este tipo de pruebas que hay que ejecutar una y otra vez, tenemos unas buenas candidatas para la automatización.
Automatización de pruebas de regresión
Cada vez que añadimos nuevas funcionalidades a nuestro desarrollo corremos el riesgo de que se dañen otras funcionalidades ya verificadas. Estás pruebas, las de regresión, son necesarias para asegurar que la calidad del software se mantiene intacta. Son pruebas que repetiremos una y otra vez, cada vez que el sistema se actualiza, por ello son muy recomendable su automatización.
Utilizar herramientas
Antiguamente se realizaba todo de forma manual. La definición de los requisitos, las matrices de trazabilidad, los casos de uso, etc. Actualmente se dispone de muchas herramientas que nos ayudan a gestionar este trabajo de forma más ágil: TestLink, Mantis, Postman. Normalmente estas aplicaciones generan los informes necesarios y evitan muchos errores humanos. Por ello, lo más recomendable es que analices las opciones y elijas una. Por ejemplo, puedes consultar el enlace de: Los 7 beneficios de utilizar Testlink.
Optar por la automatización de pruebas complejas
A veces nos encontramos con pruebas difíciles de ejecutar manualmente. Son pruebas que tienen cierta complejidad y por tanto dan lugar a que ocurran errores en su ejecución manual. Esto hace las pruebas no se ejecuten de forma correcta y por lo cual no son pruebas válidas. Este tipo de pruebas, son idóneas candidatas a la automatización.
Referencias
Conclusión: la automatización de pruebas es necesaria, pero es difícil hacerla al 100%
No conozco ningún proyecto de software en el que se disponga de los recursos necesarios para automatizar el 100% de las pruebas. Por ello, es necesario hacer una correcta planificación y seleccionar de forma óptima que pruebas van a ser automatizadas y cuáles no, en función de la casuística de cada prueba, cada tipo de prueba y cada nivel de pruebas.
Espero que estos consejos te sean de ayuda para planificar la automatización de tu plan de pruebas. Si te gustó esta entrada, déjame un comentario o suscríbete al blog para estar al tanto de las novedades.