Descubra cómo automatizar en esta herramienta gratuita, utilizando la metodología de pruebas basadas en datos.

En el mundo de las herramientas de software, existen muchas aplicaciones con un potencial inmenso, sin embargo, muy pocas son 100% gratuitas. Es por esto, que en este post se hablará sobre TestProject, una herramienta muy poderosa y de acceso gratuito.

¿Se encuentra familiarizado con esta herramienta y quiere explorar nuevos usos? ¿Está buscando iniciarse en automatización de pruebas pero no posee conocimientos en programación? ¡Llegó al lugar correcto!

Primero, presentaremos generalidades de la herramienta TestProject y luego comprenderemos cómo sacar provecho de esta herramienta utilizando la metodología Data-Driven Testing.

Agradecimientos a Mikaella Mateos, Jr Performance Tester y Matias Fornara, QE Lead, ambos de Abstracta, que contribuyeron en la revisión de este post.

¿Qué es TestProject?

TestProject es una plataforma o herramienta de automatización de pruebas impulsada por la comunidad de testers y basada en la nube, totalmente gratuita.

De código abierto y construida sobre Selenium y Appium, permite a los ingenieros de control de calidad probar tanto aplicaciones web como aplicaciones iOS y Android, sin tener mayores conocimientos de programación, ya que cuenta con un sistema de grabación, que va grabando cada uno de los pasos que el usuario ejerce sobre una aplicación o sistema.

Además, cuenta con una sólida comunidad de colaboración de testers que la utilizan y la respaldan. La herramienta permite compartir los complementos de TestProject creados por expertos en automatización, con ideas afines o por su equipo desde cualquier parte del mundo.

Ahora bien, ¿cómo podemos usar esta herramienta con el tema central de este post, Data-Driven Testing? Lo explico de manera ilustrada en las próximas líneas, utilizando esta herramienta en varios proyectos como Tester Funcional en Abstracta, basándome en la documentación oficial de TestProject.

Primero, ahondaremos brevemente en qué consiste esta metodología.

Data-Driven Testing: ¿en qué consiste?

Data-Driven Testing o pruebas basadas en datos, es una metodología de testing de software que utiliza directamente una tabla de condiciones como entradas y salidas verificables.

Esto significa que los criterios de prueba en conjunto con los valores de datos de entrada y salida, se almacenan en una o varias fuentes de datos, en las cuales se pueden encontrar:

  • Datapools
  • Archivos Excel
  • ADO
  • Archivos CSV

¿Para qué sirve la metodología Data-Driven Testing?

Al utilizar la metodología de pruebas basada en datos, se crean scripts de prueba que se ejecutan con sus conjuntos de datos relacionados en un framework. De esta manera, se proporciona una lógica de prueba reutilizable. Esto mejora la cobertura de las pruebas, reduce el mantenimiento y hace que las pruebas sean lógicamente más simples.

Las pruebas automatizadas, reproducen una secuencia grabada (o programada) de acciones del usuario que cubren una área determinada de la aplicación a probar. Para obtener una mayor cobertura, se pueden realizar pruebas con diferentes datos de entradas. Por ejemplo, se registran acciones que ingresan datos en un formulario de un sistema o de una aplicación.

La prueba grabada contiene sólo valores que se ingresan durante la grabación. Lo más probable es que estos valores no causen errores en la aplicación, pero otros datos sí podrían causarlos. Por lo tanto, se debe ejecutar la prueba con diferentes conjuntos de datos de entrada, para asegurar de que la aplicación funcione como se espera, para una amplia cobertura de valores de entrada. Este en sí, es el objetivo principal de Data-Driven testing.

En este contexto, TestProject permite de automatizar pruebas sobre diferentes plataformas y sistemas operativos, utilizando diferentes metodologías, como por ejemplo Data-Driven Testing.

Entonces, ¿cómo sacar provecho de esta herramienta gratuita para implementar esta metodología?. Continúe leyendo.

¿Cómo realizar Data-Driven testing con TestProject?

Primero, se necesita crear un caso de prueba que contenga inputs para generar datos de entrada, como pueden ser formularios, inicios de sesión o registro.

Para crear un caso de prueba paso a paso recomiendo leer el post ‘De pruebas manuales a automatizadas con TestProject’, de María Gabriela Tenreiro, en el blog de Federico Toledo.

Cómo crear un caso de Prueba en TestProject

Una vez que se tenga el caso de prueba ya grabado, se deben identificar los inputs donde se deben ingresar los datos.

Es importante tener en cada uno de los inputs que se pueden ver marcados en la imagen anterior, una acción que las siga, siendo esta de tipo ‘Type’, en donde se utilizará para enviar la información extraída de un archivo CSV (del inglés comma-separated values).

Inputs donde se deben ingresar datos en TestProject

Ahora, se deben crear parámetros tanto para los inputs de ‘Email’ y ‘Password’, como se muestra a continuación.

Luego, se deben nombrar los parámetros que se crearon recientemente, en cada uno de los datos de entrada (Email y Password).

De esta manera, ya se puede dar por finalizado el proceso de test recorder y se puede guardar el caso de prueba.

Para continuar con el proceso de Data-Driven Testing, hay que dirigirse a la pantalla principal, donde se encuentra el caso de prueba guardado. Una vez dentro de la ventana, se debe buscar el caso de prueba que fue creado recientemente y hacer clic en los 3 puntos que aparecen al lado izquierdo dentro del test, y después presionar la opción ‘CSV Parameters Template’.

Esta opción dará paso a la descarga de un archivo CSV, que contendrá tres filas. Se debe borrar la columna ‘ApplicationURL’, ya que no se ocupará. Después, se procede a rellenar los datos necesarios en las columnas restantes como se muestra en la siguiente imagen.

Una vez guardado el archivo, se debe volver a la ventana principal de TestProject en donde se encuentra la lista de casos de prueba, e ir a la sección ‘Data Sources’ que aparece en el apartado izquierdo de la página.

Dentro de la opción ‘Data Sources’ se debe crear una nueva fuente de datos, por lo que se debe hacer clic en ‘New Data source’. Hecho esto, asignar un nombre (obligatorio) y una descripción (opcional) y subir el archivo CSV que fue guardado previamente. Finalmente, seleccionar ‘Create’ para crear una nueva fuente de datos, que se utilizará al momento de ejecutar el test o caso de prueba.

Ahora, solo resta ejecutar el test realizado; para ello, debemos volver nuevamente a la ventana donde se encuentran todos los casos de prueba y dar clic en el símbolo ‘play’ que aparece en el mismo cuadro del test.

Introducción a los Reportes en TestProject

La mejor prueba del mundo no sirve de mucho a menos que puedas ver lo que ha sucedido. El objetivo de la automatización de pruebas es poder comprender rápidamente el estado de calidad de la aplicación o el sistema. Aquí es donde entran en juego los reportes de prueba. TestProject proporciona una serie de informes fáciles de usar y comprender que veremos a continuación.

Estos informes se pueden visualizar directamente en la plataforma de TestProject, o bien, se pueden descargar o enviar vía correo electrónico para compartirlos a las partes interesadas. Los reportes en TestProject se generan automáticamente y son útiles para múltiples propósitos: desde depurar pruebas fallidas, hasta ayudar a los gerentes u otras personas a comprender el estado de la calidad en la aplicación bajo prueba.

Para visualizar los reportes, se debe seleccionar la opción del menú ‘Reports’ en la parte superior del panel de la herramienta.

Los informes de TestProject brindan acceso a una serie de diferentes gráficos y diagramas para ver tendencias y otros datos interesantes. También permiten ver los informes de ejecuciones de pruebas individuales con fines de depuración e investigación.

Dentro de la herramienta existen varios tipos de gráficos que se crean automáticamente al finalizar una prueba. Cada uno de estos gráficos son de gran ayuda para explorar diferentes aspectos de los datos que fueron ejecutados y responder algunas preguntas que surgen al crear las pruebas automatizadas. Veamos a continuación cuáles son.

Reportes individuales

TestProject le ofrece al usuario un resumen general de cada caso de prueba que se haya creado y ejecutado. Para ello solo es necesario hacer clic en el nombre del test o caso de prueba que se haya ejecutado, así:

Al hacer clic en uno de los test que se han ejecutado se muestra detalladamente lo siguiente:

  1. Breve resumen de las ejecuciones que se realizaron, cuantas fueron aprobadas, cuantas fallaron o fueron skipeadas.
  2. Plataforma en donde fue ejecutado el test.
  3. Número de ejecuciones que se realizaron y el tiempo total de cada una de ellas.
  4. Resumen de la última ejecución que se realizó sobre el test.

También dentro de un test, se puede visualizar todas las ejecuciones mostrando otro breve resumen, y además la herramienta permite al usuario poder descargar dos archivos en formato PDF, en donde dentro de estos archivos se muestra un informe resumido y el otro archivo muestra un informe más completo.

A continuación, veremos un detalle de los tipos de gráficos que proporcionan los reportes en TestProject.

Tipos de gráficos en TestProject

Gráfico de Velocidad

El gráfico de velocidad ofrece al usuario un resumen rápido del número de pruebas que se han realizado y la proporción de pruebas fallidas respecto a las aprobadas.

Este gráfico puede verse desde la página de resumen general que muestra la actividad de todas las pruebas realizadas. Asimismo, se puede dirigir a los proyectos individuales que se hayan realizado y ver el resumen de cualquier proyecto.

Gráfico de Distribución

El gráfico de distribución muestra un resumen del número de pruebas que se han ejecutado en cada agente diferente en el proyecto. El agente es una aplicación que se debe descargar e instalar en un computador para poder crear y ejecutar pruebas en TestProject.

Este gráfico es muy útil cuando las pruebas se ejecutan en más de un agente, ya que permite ver si hay diferencias entre las tasas de aprobación/desaprobación en los diferentes agentes. Esto puede servir para verificar cómo en una plataforma en particular pueda tener problemas. Por ejemplo, si se observa muchos más fallos en los agentes asociados a windows en comparación a los agentes asociados a un Mac.

El gráfico de distribución se puede encontrar haciendo clic en la flecha que aparece al lado derecho del gráfico de velocidad.

Gráfico de Plataformas

Este gráfico permite dar un vistazo al rendimiento de las pruebas en diferentes ambientes o plataformas, ya sea Web, Android o IOS. Este gráfico puede ser útil cuando se trata de ver en qué plataformas el sistema podría necesitar más atención.

El gráfico de plataformas se encuentra ubicado al lado derecho del gráfico de distribución.

Gráfico de Tendencias

El gráfico de tendencias de TestProject permite ver al usuario cómo están funcionando los distintos trabajos o casos que se han realizado. Se puede ver el número de ejecuciones de cada caso que han sido aprobados o rechazados, y compararlo con el rendimiento de otros casos de prueba.

El gráfico de distribución se puede encontrar haciendo clic en la flecha que aparece al lado derecho del gráfico de plataformas.

Gráfico de Objetivos

El gráfico de objetivos le ofrece al usuario un resumen del número de pruebas que han pasado o fallado en diferentes dispositivos. Entender cómo se comportan sus pruebas en diferentes dispositivos es uno de los objetivos cruciales para entender cuál es la calidad del producto que se lanzará para todos los clientes.

El gráfico de plataformas se encuentra ubicado al lado derecho del gráfico de tendencias.

Conclusiones finales

Al momento de elegir las herramientas de testing que vamos a utilizar en nuestros proyectos, contar con una plataforma gratuita y con una completa documentación, es una posibilidad que se debe considerar a la hora de automatizar. Este es el caso de TestProject, una herramienta de automatización de pruebas end-to-end gratuita para web, mobile y API.

Con TestProject es posible automatizar pruebas sobre diferentes plataformas y sistemas operativos, utilizando diferentes metodologías, como por ejemplo Data-Driven Testing. Permite diseñar y ejecutar pruebas para dispositivos móviles, además es intuitiva y facilita la creación de pruebas e interpretación de los reportes que genera. En definitiva, TestProject es muy útil para personas que quieren iniciarse en la automatización de pruebas, sin tener mayores conocimientos de programación.

De manera continua se van liberando actualizaciones con nuevas funcionalidades que potencian esta herramienta, las que posiblemente estaremos abordando en un próximo post.

¿Ha hecho uso de TestProject en un contexto distinto? Lo invitamos a compartir su experiencia con nosotros en los comentarios.

Otros contenidos relacionados

La ruta hacia el Test Automation

Desafíos comunes de la Automatización de Pruebas: ¿cómo enfrentarlos?

TestProject: Pruebas mobile en CI/CD