¿Cómo organizar mi proyecto para lograr la distribución objetiva en pruebas de automatización?


Actualmente, muchas organizaciones están invirtiendo más recursos en Pruebas de Interfaz de Usuario (Siglas en Inglés – UI) que en Pruebas API – Integration o Pruebas Unitarias, esto lo confirmamos con nuestros asistentes al segundo webinar del GreenConference de este año, el cual se denominó: Continuous Testing, Automation Bases, donde tuvimos la oportunidad de preguntarles: ¿cómo es la distribución de pruebas en tu empresa? a lo que la gran mayoría de participantes respondió, casi que sin ninguna variación en sus respuestas,  que en sus organizaciones realizaban más Pruebas de Interfaz de Usuario que Pruebas API o Pruebas Unitarias.

Esto nos permitió exponer cuál debería ser la distribución adecuada de las pruebas de automatización, información de interés que por medio de este artículo socializamos.

Podemos observar en estas pirámides el comportamiento en relación con el costo y la eficiencia de la automatización de pruebas dependiendo del nivel, entre más abajo nos encontremos, menor es el costo y mayor es la eficiencia, cumpliendo así con una de las premisas de la automatización: disminuir costos aumentando la velocidad de las ejecuciones. Esto lo podemos encontrar en la etapa base de la pirámide.

Así entonces, las Pruebas Unitarias son parte importante de nuestro set de pruebas completas de un proyecto y la línea base de automatización debe contener una buena cobertura a nivel de desarrollo, ya que éstas son la primera línea de pruebas y retroalimentación temprana automatizada de un producto. Después, tenemos las Pruebas API, que son de servicio e integración, estas son las primeras pruebas automatizadas a nivel de aseguramiento de calidad de producto y de negocio.  Al momento de automatizar pruebas siempre debe buscarse en primera instancia automatizar a este nivel, desde el punto de vista de aseguramiento es el nivel más eficiente y menos costoso.

Luego se encuentran las Pruebas de Interfaz de Usuario, así como se observa en la pirámide objetivo, ya que la eficiencia en ejecución de estas últimas no es muy alta y su mantenimiento es mucho más elevado que las demás pruebas; son importantes porque sirven para garantizar el negocio desde su interfaz, pero hay que saber seleccionarlas para que ofrezcan el mayor beneficio.

Y ahora la pregunta es: Si mi realidad es igual a la de la pirámide A ¿cómo puedo lograr la distribución de la pirámide objetivo? A continuación, realizamos algunas sugerencias:

Pruebas Unitarias

  • Cuando en nuestra organización se encuentre el equipo de desarrollo, se les debe incentivar el uso del enfoque TDD/BDD en los desarrollos. Dirigido por pruebas y por comportamientos, ya que les permitirá agilizar el proceso de desarrollo y minimizar los procesos de Feedback.
  • Cuando el equipo de desarrollo es de un proveedor, se debe llegar a acuerdos de calidad de código, donde la cobertura de las Pruebas Unitarias cumpla con los parámetros organizacionales.
  • Es posible incluir Pruebas Unitarias una vez el código se haya entregado, sin embargo, al ser un proceso posterior no genera la ganancia esperada en términos de costo.

Pruebas de Servicios e Integración (API)

  • Antes de decidir sobre una automatización por Interfaz de Usuario siempre debemos preguntarnos: ¿es posible validar servicios, integraciones o hacer validaciones directamente en la BD? Si es posible, tomar este camino.

Pruebas de Interfaz de Usuario

  • La recomendación en las automatizaciones a nivel de Interfaz de Usuario, es que se debe tratar de que no sean flujos extensos exclusivos por interfaz y hacer una análisis de beneficio antes de proceder.

En GreenSQA somos expertos en automatización de pruebas, si deseas lograr la distribución correcta de acuerdo con la pirámide objetivo, podemos ser los aliados de tu organización para conseguirlo, reduciendo con ellas el tiempo de ejecución de pruebas repetitivas y/o de regresión a través de herramientas propias y otras reconocidas en la industria, garantizando cobertura y una correcta inversión de esfuerzo, manteniendo así la balanza de forma positiva entre el costo y la eficiencia.

Te invitamos a conocer más sobre este servicio en nuestra sección Soluciones – Automatización de Pruebas.