¿Qué tecnología aprender para la automatización de pruebas desde GUI?
Muchos colegas que trabajan en QA, y algunos otros desarrolladores quienes ahora deben desarrollar habilidades para llegar a Full Stack, me preguntan frecuentemente respecto de que herramienta aprender y que cursos tomar. Si estás en esa situación, este artículo es para ti.
El infierno de las herramientas de pruebas
Con toda sinceridad, seleccionar herramientas no es sencillo, hay miles de ellas, todas clamando ser las mejores. Las primeras datan de la época de los ochenta y se orientaban a las pruebas unitarias y de Bases de datos. En el camino, y con la predominancia de las aplicaciones web en los 90, los esfuerzos se orientaron al problema de las pruebas multi-browser, performance y seguridad, desatando una guerra de nuevas herramientas. Con la aparición de las aplicaciones para móviles, el problema creció aún más, pues el objetivo de multi-plataforma multiplicó el esfuerzo de prueba, generando con las interfaces adaptivas nuevos problemas de prueba aparte de los anteriores como son las pruebas de imágenes y layout. Así pues, en cada aplicativo, es necesario diseñar y definir herramientas adecuadas a la aplicación y el negocio.
El valor de los estándares nos viene a salvar
Como resultado de esta historia, en que la industria ha enfrentado esta vorágine de cambios dónde la necesidad de responder rápido, nos llevó a esta jungla de herramientas con enfoques parecidos pero no necesariamente congruentes o completos. Esto ha conspirado a la formación de recursos humanos calificados competentes disponibles, pues para los profesionales invertir en capacitación de herramientas es caro, y con este nivel de cambios poco rentable.
En este mundo, un aporte significativo para la industria lo ha logrado el grupo W3C que ha liderado la estandarización de las tecnologías que habilitan a la Internet, y potencian su desarrollo futuro.
En lo que a herramientas de pruebas nos atañe aquí, desde los años 90 comienza a destacar un esfuerzo open source llamado proyecto Selenium liderado por ThoughtWorks. Este proyecto logró una alta tasa de adopción, y de él se desprende un protocolo para el manejo de múltiples browsers que se conoce como WebDriver, y que aparte de ser propuesto por W3C como estándar para el desarrollo de herramientas de pruebas web automáticas, ha sido adoptado por prácticamente todos los fabricantes de herramientas, quienes han reemplazado sus propias herramientas (caso Microsoft) o lo usan como la capa de comunicación con sus IDEs de prueba.
Otro aspecto remarcable de WebDriver es que otros proyectos han hecho implementaciones y extensiones del mismo para aplicaciones móviles o nativas (Appium o WinAppDriver).
¿Cómo aprender WebDriver?
Supongo que al lector a esta altura, le debe quedar claro que “la tecnología a aprender” es WebDriver que es la base conceptual de casi todas las herramientas relevantes en el mercado de las pruebas de usuario o de GUI.
Dicho lo anterior mi sugerencia de camino de aprendizaje para un programador es la siguiente:
1. Aprenda primero Selenium IDE.
Recomendado por LinkedIn
2. Aprenda a escalar su automatización con un lenguaje de programación
3. Aprenda a programar pruebas de móviles con Appium
4. Aprenda arquitectura de software de automatización
5. Aprenda los temas de DevOps e infraestructura necesaria para ejecutar
Este camino no es corto, no crea en ofertones, para lograr excelencia se requiere trabajo, y entrenamiento “con las manos en la masa”, no les recomiendo ir por el camino de lo gratuito que ofrece poco y nada.
Otra tema a conversar son las certificaciones, pero dejaré esa discusión para un próximo artículo.
Espero que les sirva!!!!!
Un abrazo!!!
Senior QA | Automatización #Selenium #Cypress #Liderazgo
4 añosEl viejo y confiable seleniumWD sigue liderando, buen articulo Marcos Guerrero.
Product Owner Salesforce en ACHS | Salesforce Associate | ISTQB
4 añosMuy interesante, gracias por tu publicación 👍🏽
Gerente General SQA Ltda.
4 añosMuy clarificador el artículo Marcos, gracias
Gestor de Procesos en Entel
4 añosMuy bueno ...gracias
Jefe de Riesgo Ciberseguridad| IT Risk| Ciberseguridad | Project Manager | Technical Project Manager | Cybersecurity | Seguridad de la información
4 añosMaria Fabiola Bermudez