Seleccionar página

A tenor de las grandes cantidades de software desarrollado en la última década, junto con la constante en las empresas de reducción de costes, se hace cada vez más necesario automatizar procesos de pruebas de software.

Las pruebas de software, o testing (como nos referiremos en adelante), son algo imprescindible en cualquier organización que quiera tener, no sólo calidad en sus procesos de desarrollo, si no la confianza de sus clientes. Por todo esto, veamos en qué caso podemos realizar esta automatización y cómo poder incorporarla en nuestro trabajo diario.

PRIORIZAR LA AUTOMATIZACIÓN

En primer lugar, debemos tener claro una premisa alrededor de la que trabajar: no podemos automatizar todo el trabajo, así que tenemos que elegir adecuadamente y establecer nuestras prioridades.

Debemos analizar nuestros proyectos, y sobre este análisis elegir cuáles de estos requieren una automatización, que nos ahorre a medio y largo plazo costes de tiempo y económicos. Hay que tener en cuenta el tipo de pruebas que queremos realizar: unitarias, de regresión, etcétera, así como las técnicas que vamos a usar, ya que esto condicionará los factores para tener en cuenta para establecer si el testing se automatiza.

COMPLEMENTAR LAS PRUEBAS MANUALES

Además, otro factor a tener siempre en cuenta es que no vamos a eliminar las pruebas manuales de nuestro proceso, sino que simplemente parte del trabajo de testing se realizará automáticamente, y nos ayudará a organizar mejor nuestro trabajo.

DESAFIOS EN LA IMPLEMENTACION DE LA UTOMATIZACIÓN

Algunos de los problemas que nos vamos a encontrar para implementar la automatización del testing en nuestra organización son:

  • No existe un trabajo de QA previo.
  • No existe (o hay muy poca) documentación del proyecto.
  • Tenemos un presupuesto limitado para QA.
  • Tenemos un tiempo ajustado para emplear en QA.
  • Visión no adecuada sobre la automatización

 

METODOLOGIA Y HERRAMIENTAS

También deberemos tener otros dos factores importantes a la hora de ejecutar nuestros proyectos software y automatizar el testing a realizar: metodología y herramientas.

Por un lado, la tendencia de los últimos años es incorporar metodologías ágiles, y establecer una filosofía DevOps en nuestros desarrollos. Además de esto, se tiende a incorporar prácticas de CI/CD. En cuanto a las herramientas, existe otra tendencia: herramientas de automatización que no requieren código o scripting.

SUPERANDO BARRERAS TÉCNICAS

A la hora de abordar estos procesos de automatización, se requiere generalmente una experiencia previa en ciertos lenguajes de programación y/o entornos. Si no disponemos de esto en nuestra organización, nos requerirá un coste adicional tanto económico como temporal, lo cual puede incrementar de manera desmesurada el tiempo y coste de nuestro proyecto. Además, este código requiere crear una documentación y un mantenimiento en el tiempo.

PLATAFORMAS Y APLICACIONES SIN CODIGO

Como solución a todo esto, han aparecido una serie de plataformas y aplicaciones que nos permiten realizar pruebas de automatización sin unos conocimientos previos acerca de programación o alguna tecnología en concreto. De esta manera, podremos:

  • Crear automáticamente scripts sin la necesidad de tener conocimientos previos de programación.
  • Disminución del tiempo empleado para crear las pruebas.

Cabe destacar que, al igual que el test automático no sustituye completamente al test manual, estas herramientas no sustituyen a los actuales métodos de testing que usan scripts para pruebas, y presentan problemas como la curva inicial de aprendizaje, que puede ser bastante pronunciada y requerir un esfuerzo inicial grande para poder hacer uso de toda la potencia de la herramienta seleccionada.

En definitiva: no existe la panacea del testing, y siempre tendremos que analizar en primer lugar tanto nuestro proyecto como las necesidades que tenemos a la hora de abordarlo, que nos mostrarán los factores a tener en cuenta para abordar con efectividad nuestro proyecto.