Vocabulario QA
TDD: Test Driven Development: desarrollo guiado por pruebas. Consiste en escribir las pruebas primero y realizar el desarrollo a continuación.
Agile testing: testing asociado al desarrollo basado en metodologías ágiles. Se fundamenta en estos 5 principios:
- El testing es una actividad y no una fase.
- Prevenir bugs antes que encontrar bugs.
- Construir el mejor sistema posible antes que destruir el sistema.
- Comprender el funcionamiento del sistema antes que comprobar funcionalidad.
- La calidad es responsabilidad de todo el equipo y no solo de las personas de QA.
Historia de usuario: funcionalidad pequeña que pueda ser desarrollada en un breve espacio de tiempo (típicamente y como máximo en un sprint).
Testing automático de historias de usuario: ser capaces de automatizar pruebas al mismo ritmo que se desarrolla código. Son pruebas automáticas funcionales desde el punto de vista del usuario final de la aplicación.
Pruebas de regresión: conjunto de pruebas que se ejecutan para comprobar que la nueva funcionalidad no ha afectado a lo que ya había. Suelen ejecutarse antes de que un desarrollo nuevo pase a producción.
Testing de microservicios: modalidad de testing que consiste en comprobar la integración entre dos o más módulos o microservicios. Al ser arquitecturas novedosas, las modalidades y herramientas de testing también lo son.
Pruebas de humo: conjunto de pruebas típicamente pequeño y de funcionalidad básica que se suelen lanzar sobre un entorno para comprobar su correcto funcionamiento.
Shift Left Testing: se refiere a mover las actividades de testing más hacia la izquierda del proceso de desarrollo. Testing temprano y con participación de todo el equipo y no solo de las personas de QA.
Xray: plugin de JIRA que sirve para escribir casos de prueba, clasificarlos y ejecutarlos. Permite la escritura de casos de prueba en lenguaje natural y en lenguaje Gherkin.
Gherkin: lenguaje sencillo que sirve para escribir casos de prueba.Lenguaje sencillo que permite que todas las partes implicadas en el desarrollo (negocio, equipo técnico, testers) utilice un lenguaje común.
Cucumber: herramienta que interpreta ese lenguaje para poder ser programado.
Cypress: framework de automatización de pruebas funcionales basado en node.js. Posee integración con Cucumber.
Selenium: framework de automatización de pruebas funcionales implementado como una extensión de Firefox. Suele integrarse con lenguajes de programación como Java o Python.