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 canalización de CI/CD
Los dos tipos de pruebas automatizadas a los que se hace referencia habitualmente en los procesos 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 una base de código y en el entorno de desarrollo. La arquitectura de referencia de AWS Deployment Pipeline
-
Prueba unitaria: estas pruebas compilan y ejecutan el código de la aplicación para comprobar que funciona de acuerdo con las expectativas. Simulan todas las dependencias externas que se utilizan en la base de código. 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 cumple los requisitos técnicos mediante pruebas en un entorno de prueba aprovisionado. Algunos ejemplos de herramientas de pruebas de integración son Cucumber
, vRest NG e integ-tests (for). AWS CDK -
Prueba de aceptación: estas pruebas verifican que la aplicación cumple los requisitos del usuario al probarla en un entorno de prueba aprovisionado. Entre los ejemplos de herramientas de prueba 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 prueba de rendimiento se incluyen Apache JMeter
, Locust y Gatling . -
Prueba de resiliencia: también conocidas como pruebas de caos, estas pruebas inyectan fallas en los entornos para identificar las áreas de riesgo. Los períodos en los que se producen las fallas se comparan luego con los períodos sin fallas. Algunos ejemplos de herramientas de prueba de resiliencia incluyen AWS Fault Injection Service
Gremlin . -
Prueba estática de seguridad de aplicaciones (SAST): estas pruebas analizan el código para detectar infracciones de seguridad, como la inyección de SQL
o el uso de scripts entre sitios (XSS). Algunos ejemplos de herramientas SAST incluyen Amazon CodeGuru y Checkmarx . SonarQube -
Prueba dinámica de seguridad de aplicaciones (DAST): estas pruebas también se conocen como pruebas de penetración o pruebas de lápiz. Identifican vulnerabilidades, como la inyección de SQL o el XSS, en un entorno de prueba aprovisionado. Algunos ejemplos de herramientas de DAST son Zed Attack Proxy (ZAP
) y HCL. AppScan Para obtener más información, consulte Pruebas de penetración.
No todas las canalizaciones completas de CI/CD 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.