Herramientas de QA automation: ¿cuál elegir?
Contexto: en uno de los proyectos en los que trabajo junto a mi equipo de Flux IT, el cliente necesitaba acelerar el proceso de delivery y deployment de los requerimientos evolutivos relacionados con el Sistema Integral de Operaciones de un terminal portuaria.
Desafío: buscar herramientas de automatización del proceso de QA bajo los siguientes parámetros:
- Que fueran herramientas profesionales, con un costo de licencia anual.
- Que generaran casos automatizables sin código.
- Que pudieran ejecutar las pruebas sobre una app web como el SIO.
- Que pudieran integrarse con GitLab.
En este artículo te cuento brevemente el proceso que seguimos para buscar y analizar algunas de las herramientas disponibles hoy (y más reconocidas), cuál elegimos y por qué.
Proceso de selección
Importante: este artículo hace un resumen de las capacidades, features y esfuerzo de cada herramienta, que luego debe ser contrastada con la realidad de cada proyecto o cliente.
Ahora sí, estas son las siete herramientas que consideramos y evaluamos:
- Rainforest QA
- DoesQA
- Katalon Recorder
- Selenium IDE
- Katalon Studio
- SmartBear TestComplete
- Mabl
A continuación, un vistazo rápido de sus pros y contras.
Rainforest QA
Pros:
- Fácil integración con GitLab CI.
- Notificación de resultados por e-mail.
- Branches a través de snippets reusables.
Contras:
- Los casos se arman a mano, ingresando la secuencia de pasos (no se graban).
- No tiene exportación de código a script.
Pricing: 5 horas libres de test por mes. Luego USD 5 la hora.
DoesQA
Pros:
- Se pueden hacer branches muy fácilmente.
Contras:
- Al igual que con Rainforest QA, los casos se arman a mano ingresando la secuencia de pasos (no se graban). Tiene la dificultad extra de que debe hacerse por separado, no mientras se usa el sitio tomando los elementos que se van utilizando.
- No está documentado si puede o no integrarse con GitLab CI.
- No tiene exportación de código a script.
- Falló en el intento de ejecución de un test simple.
Pricing: USD 65 por mes
Katalon Recorder
Pros:
- Permite exportar código a scripts en múltiples lenguajes.
- Es multiplataforma.
Contras:
- Es sólo un plug-in del browser que permite grabación de tests simples.
- No tiene integración directa con GitLab CI. Podría lograrse exportando scripts, pero atentaría contra la automatización.
- No tiene soporte para pruebas mobile.
- No soporta branches.
- Los checkpoints deben agregarse de forma manual.
- No cuenta con debugging.
Pricing: free.
Selenium IDE
Pros:
- Permite exportar código a scripts.
- Es multiplataforma (web-based).
- Permite branching reutilizando un test dentro de otro.
- Permite construcciones complejas como decision-making y looping.
- Permite la integración con GitLab CI a través de CLI.
- Permite la exportación de scripts (JavaScript, Python Pytest).
Contras:
- No tiene soporte para pruebas mobile.
- Los checkpoints deben agregarse de forma manual.
- No cuenta con debugging.
- Es un plug-in para el browser, no una suite completa.
Pricing: free
SmartBear — TestComplete
https://smartbear.com/product/testcomplete/
Pros:
- Es una suite, no un simple plug-in en el browser.
- Permite integración con GitLab CI y está bien documentada.
- Permite tanto pruebas web como mobile.
- Permite agregar checkpoints muy fácilmente.
- Se pueden hacer branches con mucha facilidad a través de keyword tests y planes de ejecución.
- Permite construcciones complejas como decision-making y looping.
- Permite debugear tests.
- Admite Excel como fuente de datos, lo que permitiría parametrizar los test de forma simple.
- Puede exportarse el código a scripts (Python, JavaScript).
- Empresa conocida y con buenos productos en el mercado (SoapUI, Swagger UI).
Contras:
- Sólo puede utilizarse en Windows (creación de test).
Pricing: costo anual. Opción PRO: USD 2842 (single user and machine) y USD 5686 (multiple users and virtual machines).
Katalon Studio
Pros:
- Es una suite, no un simple plug-in en el browser (entorno tipo eclipse).
- Permite integración con GitLab CI y está bien documentada.
- Permite tanto pruebas web como mobile.
- Permite construcciones complejas como decision-making y looping.
- Permite debugear tests.
Contras:
- Los checkpoints deben agregarse de forma manual (en contraste con TestComplete).
- No soporta branches.
- No permite exportar código a scripts.
Pricing: free hasta 2000 resultados por mes. Opción premium: USD 208 al mes.
Mabl
Pros:
- Permite agregar checkpoints muy fácilmente.
- Permite la integración con GitLab CI y está bien documentada (a través de API).
- Permite branching a través de la grabación de “flows”.
- Permite tanto pruebas web como mobile.
- Es multiplataforma (web-based).
- Permite construcciones complejas como decision-making y looping.
Contras:
- El pricing no es transparente.
- No permite exportar código a scripts.
Nuestra recomendación:SmartBear TestComplete
Después de evaluar las ventajas y desventajas de cada una de las herramientas que analizamos, optamos por TestComplete de SmartBear. ¿En qué basamos nuestra decisión?
- La complejidad de los tests que necesitaba realizar nuestro cliente, en particular, ameritaba contar con una “suite” integral que permitiera construir trabajos complejos, que pudieran ser combinados fácilmente. La opción de “execution plans” de TestComplete es ideal para esto.
- Además, la posibilidad de parametrizar los test a través de un Excel puede ser de gran ayuda y provee flexibilidad.
- Por último, la herramienta cuenta con todos los prerrequisitos: integración con GitLab CI, grabación de pruebas sin código y pruebas web, pero también permitiría pruebas sobre la app mobile.
Aunque el caso de nuestro cliente seguramente sea uno de los más usuales, es clave tener en cuenta cuáles son las necesidades concretas del escenario de uso para elegir cuál de todas estas herramientas es la adecuada en cada caso.
A modo de cierre, quería agradecerle a nuestro increíble equipo de QA: Facundo Nelson, Sofía Madriz, Federico Anito, Dani Fehr y Agustín Espinoza, que se aventuraron a acompañarme a desentrañar los pros y contras de las herramientas de QA automation para que podamos hoy tener este artículo. ¡Gracias otra vez, y espero que este resumen te haya servido!