Comparte este artículo

Cada vez las aplicaciones se vuelven más complejas, se le van añadiendo o modificando procesos y si a esto se le suma que el tiempo de entrega de dichas modificaciones disminuye, la inseguridad que produce la calidad final del software se incrementa. Esto ocurre porque muchas veces disminuye la calidad de la parte estable del producto y aumentan las incidencias detectadas.

Para asegurar un cierto nivel de calidad antes de publicar una nueva versión del software es muy aconsejable recurrir a la automatización de ciertas pruebas funcionales que nos aporten mayor tranquilidad sobre las principales funcionalidades del producto.

La automatización consiste en la construcción de un conjunto de scripts reutilizables, con los que podemos aumentar drasticamente la capacidad de testear software en lo que respecta a pruebas de regresión antes y después de la publicación de una nueva versión.
Dichos scripts se ajustan a cada funcionalidad y nos aportan una información del impacto de los cambios realizados. Cabe decir que no reemplazan las tareas de testeo manual, agregan una mayor cobertura de casos de prueba, agilizan los tiempos de testeo y permiten la reutilización de los mismos.
La automatización del testeo de software permite reducir los costes de cualquier organización que necesite probar sucesivas versiones de un mismo producto, facilitando así las pruebas de regresión (1). Para llevar a cabo la automatización del testeo en una organización hay que evaluar la disponibilidad de recursos humanos para destinar a la automatización. Debido a que la automatización es también un proyecto de desarrollo, se necesita un perfil desarrollador/tester.
En Clavei, debido a la gran cantidad de configuraciones personales y programación a medida realizada sobre nuestras ERP se hacía imprescindible la automatización de ciertos procesos, que por su importancia y complejidad necesitaban pasar por pruebas de regresión en cada una de las versiones generadas. Por citar algunos, se trata de procesos como: recálculo de almacén, previsiones de compra, generación de órdenes de producción, facturación de compra y ventas, contabilizaciones, ….
Con la automatización se completa el conjunto de pruebas realizadas sobre las versiones que generamos, normalmente en ciclos cortos de dos o tres semanas.
Siguiendo de forma resumida el proceso completo:

Generamos versión

– El equipo de testing se encarga de hacer el smoke test (2) de la versión y ejecutar los scripts de automatizaciones

– Si se ha encontrado algún error o se ha detectado un comportamiento anómalo de alguna funcionalidad se reporta el error a los desarrolladores para que lo solucionen.

– Una vez solucionado se vuelve a generar versión y el equipo de testing vuelve a pasar el smoke test y los scripts de automatizaciones

– Finalmente cuando el equipo de testing ha verificado que la versión es estable se publica la nueva versión en la web

(1) Pruebas de software que pretenden revelar las causas de nuevos errores o un comportamiento diferente al esperado por cambios realizados recientemente en partes de la aplicación que antes del cambio no sufrían ningún error.
(2) Testing rápido que se realiza no tanto para encontrar bugs sino para asegurarse que la funcionalidad básica del software o de una parte del software se comporta correctamente.


imagen: gui.tavares


Comparte este artículo