Tests
Herramientas
Existen servicios, aplicaciones y librerías específicas que facilitan:
-
La creación de cada tipo de test. Por ejemplo, JUnit facilita crear tests unitarios en aplicaciones Java, Selenium para tests E2E de aplicaciones web, JMeter para tests de rendimiento, etc.
-
La utilización de un tipo concreto de metodología de pruebas. Para BDD, por ejemplo, Cucumber facilita la implementación y la ejecución del lenguaje natural que define los escenarios a probar.
-
La automatización de la ejecución de los tests. Jenkins o el servicio de Github-Actions, por ejemplo, permiten crear un flujo de integración y despliegue continuos1.
-
La generación de informes con métricas de la calidad. Por ejemplo, SonarQube analiza el código para: buscar vulnerabilidades, calcular su complejidad y la cobertura de los tests2.
La CI/CD requiere de una batería de tests que permita determinar si los cambios introducidos continuamente por el equipo de desarrollo no rompen el software actualmente desplegado, y en ese caso, proceder a su instalación automática. Estos son los procesos de involucrados:
La cobertura es el porcentaje de líneas de código que son ejecutadas/probadas por los tests.