09/16/2021

Pruebas de Concepto en Testing Automatizado

COMPARTIR EN:

  • Linkedin Logo
  • Twitter Logo
  • Facebook Logo
  • Mail Logo

Una prueba de concepto en testing automatizado requiere de preparación y una correcta implementación guiada por las mejoras prácticas y experiencia en la temática.

Si se realiza de forma correcta, puede impulsar la transformación hacia la automatización con excelentes resultados.

Prueba de concepto testing en monitor

¿Qué es una Prueba de Concepto?

Una Prueba de Concepto (POC por su sigla en inglés) es un término técnico que se utiliza en diversas industrias, para probar que una idea funciona en ambientes del mundo real. Una POC es crucial en el proceso de toma de decisiones ya que sus resultados permiten identificar potenciales problemas antes de que sucedan.

Por ejemplo, imagina que te encuentras pidiendo una inversión para una posible idea de negocios. Para los inversores, solo con la idea y lo que puedas contarles del negocio seguramente no sea suficiente para demostrar que es un negocio rentable. Aquí es donde una POC es necesaria para demostrar el plan de acción funcionando en un ambiente de menor escala.

En el testing automatizado, una POC generalmente se lleva a cabo cuando se busca adoptar este tipo de pruebas con una nueva herramienta. Como primera etapa para llevar adelante esta transformación hacia la automatización, la POC permite evaluar alternativas y resultados en un proyecto de alcance acotado.

¿Te interesa realizar una Prueba de Concepto en Testing Automatizado? ¡Podemos ayudarte!

¿Por qué es necesaria una Prueba de Concepto en Testing Automatizado?

Una POC bien ejecutada permite evaluar distintas hipótesis y validar algunas situaciones en un ambiente controlado.

Estas son algunas de ellas:

  • Identificar la mejor herramienta para el tipo de aplicación que se quiere probar y los objetivos del proyecto.
  • Entender la diferencia entre las pruebas manuales y las automatizadas en relación a los resultados y la calidad de las pruebas.
  • Entender qué se puede y qué no se puede probar de forma automática.
  • Comprender cuánto ahorran las pruebas automatizadas en comparación con las pruebas manuales.
  • Estimar el retorno de la inversión (ROI por su sigla en inglés) de las pruebas automatizadas en el largo plazo.
  • Identificar problemas ocultos y su impacto en los resultados esperados.

Implementar una solución de automatización implica una importante cantidad de tiempo y recursos. Antes de embarcarse en este proceso, realizar una POC ayuda a validar el plan en una menor cantidad de tiempo con mucho menos esfuerzo.

¿Cómo Implementar una Prueba de Concepto en Testing Automatizado?

Paso a paso de las Pruebas de Concepto Testing

1. Definir los objetivos de la POC

En primer lugar es importante definir los objetivos de la POC, en pocas palabras lo que se quiere lograr al finalizar la prueba de concepto.

Para esto se recomienda establecer objetivos que sea posibles de medir y entender cuando se cumplieron y cuando no. Indicar los resultados esperados es una buena práctica que aporta claridad en este punto.

También es posible incluir hipótesis que se desean validar con la POC, de manera de poder recolectar la información necesaria para poder responder frente a estas hipótesis.

Estos son algunos ejemplos de objetivos e hipótesis:

  • Definir e implementar un framework de automatización.
  • Evaluar la factibilidad técnica de automatizar pruebas sobre un cierto stack tecnológico y arquitectura.
  • Determinar el ahorro de tiempo al ejecutar las pruebas automatizadas frente a la manuales.
  • Evaluar la capacidad de ejecución de pruebas en distintos navegadores.
  • Identificar si un tipo de error específico puede ser identificado con las pruebas automatizadas.

Se debe poder comparar los resultados de una POC con los del estado actual de las pruebas. Conocer las líneas base actuales ayudará a realizar la comparación más adelante.

2. Establecer el alcance de la POC

No es necesario cubrir todos los casos de prueba en una POC, se deben elegir algunos que sean representativos y más importantes. Pueden ser algunas de las funcionalidades claves o las que más utilizan los usuarios finales.

Para esto se presentan algunos criterios que ayudan en esta definición:

  • Duración del proyecto: En general son buenos candidatos los proyectos de larga duración o los productos que tienen un mantenimiento en el tiempo.
  • Duración de las pruebas de regresión: Cuando se presentan importantes tiempos de pruebas de regresión en cada ciclo de prueba, la automatización permite reducir estos tiempos y mejorar la cobertura.
  • Estabilidad del sistema: Es necesario encontrar un balance en relación a este punto. El sistema debe estar estable, en su primera versión liberada no es recomendable automatizar las pruebas, pero tampoco esperar una estabilidad total que generalmente no es algo que sucede en la realidad.
  • Complejidad del sistema: La complejidad del sistema y su capacidad de ser probado es un factor adicional que debe ser evaluado. Para sistemas más complejos la automatización puede requerir mayor esfuerzo y por lo tanto debe analizarse en detalle si se obtendrá un mejor resultado que las pruebas manuales.

3. Seleccionar las herramientas

Como parte de la POC se encuentra la decisión de las herramientas de automatización a utilizar. En algunos casos puede ser una única herramienta,  pero también es posible evaluar varias y comparar sus resultados.

Estos son algunos puntos claves que permiten determinar las herramientas más adecuadas:

  • Conocimientos del equipo que utilizará la herramienta: Dado que el testing automatizado requiere de mayores conocimientos técnicos que el testing manual, muchas herramientas de automatización requieren de conocimientos de programación para utilizarlas. Algunas otras tienen la posibilidad de definir las pruebas sin necesidad de programar, o brindan ambas opciones.
  • Capacidades técnicas y compatibilidad con el stack tecnológico: Existen herramientas que soportan distintas plataformas y tecnologías, pero algunas de ellas están diseñadas para una específica.
  • Funcionalidades claves e integración: Requerimientos específicos que se buscan en la herramienta, como por ejemplo capacidades de generar reportes, integración continua, ambiente de colaboración, entre otras.
  • Mantenimiento y reutilización: Capacidad de la herramienta para reducir esfuerzos en mantenimiento y reutilización de las pruebas. En este sentido, algunas herramientas hoy en día utilizan técnicas avanzadas de reconocimiento de cambios en la aplicación y ajuste automático de los scripts.
  • Tipo de licenciamiento y presupuesto: Existen distintos tipos de licenciamiento, incluso herramientas libres y gratuitas. Es importante evaluar en este sentido cuál es el soporte que se brinda en cada caso y la capacidad de personalización y extensión que brinda la licencia.

4. Automatizar las pruebas

La etapa de automatización es dónde se implementan los scripts de prueba de acuerdo a las definiciones realizadas anteriormente.

Algunas recomendaciones para esta etapa:

  • Probar al menos con un caso que falle: Esto permite visualizar el comportamiento de las pruebas automatizadas cuando la misma falla, por un defecto en el software. Una herramienta adecuada debería encontrar el error en este caso.
  • Documentar las limitaciones detectadas: Llevar un registro de los problemas y limitaciones encontradas es una buena práctica para contar con la información en la etapa de evaluación.
  • Aplicar un cambio en el sistema: Idealmente se recomienda contar con la posibilidad de implementar un cambio en el sistema para poder evaluar las capacidades de mantenimiento de pruebas.

5. Evaluar y presentar los resultados

La etapa final de la POC consiste en evaluar los resultados y presentar los mismos a los interesados.

Entre los principales aspectos a evaluar y presentar, se deben considerar:

Cumplimiento de objetivos

Lo primero y más importante es comparar con los objetivos e hipótesis de la POC, brindando información objetiva sobre los resultados obtenidos.

Evaluación de la calidad de las pruebas

A través de una comparación entre las pruebas manuales y automatizadas, se debe mostrar que no hay una degradación en la calidad de las pruebas automatizadas.

Indicar las áreas en las que se puede y no se puede automatizar

Brindar claridad sobre las áreas o funcionalidades que se pueden automatizar y las que no se pueden automatizar, ya sea por limitaciones del sistema o de las herramientas.

Comparar las herramientas utilizadas

En el caso de haber seleccionado más de una, brindar una comparación indicando las ventajas y desventajas de cada herramienta, así como las funcionalidades que brindan.

Evaluar los tiempos para futuras estimaciones

Desglosando los tiempos que llevó cada actividad de prueba, brinda información muy valiosa para poder estimar un proyecto de mayor escala. Idealmente se podrán calcular los tiempos de automatización de una funcionalidad simple, media o compleja.

Brindar información sobre el ROI

Dados los resultados obtenidos y las estimaciones realizadas, es posible determinar cuál es el retorno de la inversión, pudiendo ser expresado en cantidad de ciclos de prueba a partir de los cuales la automatización brinda una ventaja o en el global de un proyecto.

Resultados de la POC

Luego de llevar a cabo una POC, hay tres posibles escenarios que se deberán considerar:

  1. Se cumplen los objetivos – Con este resultado, se concluye que las pruebas automatizadas presentan beneficios y pueden ser llevadas a cabo con las herramientas seleccionadas. No existe ningún motivo por el cual no se podría avanzar en un proyecto de testing automatizado con un alcance mayor.
  2. Se cumplen los objetivos parcialmente y/o se encuentran dificultades – Esta situación implica que no se alcanzaron los mejores resultados, por diversos motivos. Se sugiere revisar los objetivos y requerimientos del proyecto, puede que hayan sido muy ambiciosos para una prueba de concepto. En caso de identificarse limitaciones técnicas importantes, se deberán explicitar para evaluar posibles alternativas.
  3. No se cumplen los objetivos – Esta es la situación más desfavorable y en caso que suceda la recomendación es que suceda lo más rápido posible. Se sugiere cancelar la POC y volver a plantearla en cuanto el escenario para las pruebas automatizadas sea más favorable.

Para el primer escenario, la POC indicó la viabilidad de avanzar con las pruebas automatizadas y fue aprobada por los interesados.

El próximo paso sería entonces trabajar en un proyecto con mayor alcance, que por ser el primer proyecto de automatización con las características validadas en la POC.

Conclusiones

La prueba de concepto de testing automatizado es una forma de iniciar en este tipo de pruebas de manera acotada y con el menor riesgo posible.

Una POC bien ejecutada permite evaluar distintas hipótesis y validar distintas situaciones en un ambiente controlado.

Para llevarla a cabo se debe seguir el proceso detallado anteriormente para garantizar el éxito de la misma. Las principales etapas son: definir los objetivos, establecer el alcance, seleccionar las herramientas, automatizar las pruebas y evaluar los resultados.

Los resultados de la POC permitirán tomar decisiones informadas para continuar el camino del testing automatizado de forma segura.

¿Te interesa realizar una Prueba de Concepto en Testing Automatizado? ¡Podemos ayudarte!