Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Pruebas de CI/CD canalización
Los dos tipos de pruebas automatizadas a las que se suele hacer referencia en las canalizaciones de implementación son las pruebas unitarias y las pruebas de integración. Sin embargo, hay muchos tipos de pruebas que se pueden ejecutar en un código base y en el entorno de desarrollo. La arquitectura de referencia para canalizaciones de implementación de AWS
-
Prueba unitaria: estas pruebas compilan y ejecutan el código de la aplicación para comprobar que funcione según las expectativas. Simulan todas las dependencias externas que se utilizan en el código base. Entre los ejemplos de herramientas de pruebas unitarias se incluyen JUnit
, Jest y pytest . -
Prueba de integración: estas pruebas verifican que la aplicación cumpla con los requisitos técnicos mediante la prueba en un entorno de prueba aprovisionado. Entre los ejemplos de herramientas de pruebas de integración se incluyen Cucumber
, vRest NG , e integ-tests (para AWS CDK). -
Prueba de aceptación: estas pruebas verifican que la aplicación cumpla con los requisitos del usuario mediante la prueba en un entorno de prueba aprovisionado. Entre los ejemplos de herramientas de pruebas de aceptación se incluyen Cypress
y Selenium . -
Prueba sintética: estas pruebas se ejecutan de forma continua en segundo plano para generar tráfico y verificar que el sistema esté en buen estado. Algunos ejemplos de herramientas de prueba sintéticas son Amazon CloudWatch Synthetics y Dynatrace
Synthetic Monitoring. -
Prueba de rendimiento: estas pruebas simulan la capacidad de producción. Determinan si la aplicación cumple con los requisitos de rendimiento y comparan las métricas con el rendimiento anterior. Entre los ejemplos de herramientas de pruebas de rendimiento se incluyen Apache JMeter
, Locust y Gatling . -
Prueba de resiliencia: también conocidas como pruebas de caos, estas pruebas inyectan errores en los entornos para identificar las áreas de riesgo. Los periodos en los que se producen los errores se comparan luego con los periodos sin errores. Entre los ejemplos de herramientas de pruebas de resiliencia se incluyen AWS Fault Injection Service
y Gremlin . -
Prueba estática de seguridad de aplicaciones (SAST): estas pruebas analizan el código en busca de infracciones de seguridad, como una inyección de código SQL
o el scripting entre sitios (XSS) . Algunos ejemplos de herramientas SAST incluyen Amazon CodeGuru y Checkmarx . SonarQube -
Prueba dinámica de seguridad de aplicaciones: estas pruebas también se conocen como pruebas de penetración o pruebas de incursión. Identifican vulnerabilidades, como la inyección de código SQL o el XSS, en un entorno de prueba aprovisionado. Algunos ejemplos de herramientas de DAST incluyen Zed Attack Proxy (ZAP
) y HCL. AppScan Para más información, consulte Penetration Testing .
No todas las CI/CD canalizaciones completas ejecutan todas estas pruebas. Sin embargo, como mínimo, una canalización debería ejecutar pruebas unitarias y pruebas de SAST en el código base, así como pruebas de integración y aceptación en un entorno de pruebas.