As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Testes para CI/CD tubulações
Os dois tipos de testes automatizados comumente mencionados nos pipelines de implantação são testes de unidades e testes de integração. No entanto, há muitos tipos de testes que você pode executar em uma base de código e no ambiente de desenvolvimento. O AWS Deployment Pipeline Reference Architecture
-
Teste de unidade: estes testes criam e executam o código da aplicação para verificar se está operando de acordo com as expectativas. Eles simulam todas as dependências externas usadas na base de código. Exemplos de ferramentas de teste de unidade incluem JUnit
, Jest e pytest . -
Teste de integração: estes testes verificam se a aplicação atende aos requisitos técnicos por meio de testes em um ambiente de teste provisionado. Exemplos de ferramentas de teste de integração incluem Cucumber
, vRest NG e integ-tests (para AWS CDK). -
Teste de aceitação: estes testes verificam se a aplicação satisfaz os requisitos do usuário por meio de testes em um ambiente de teste provisionado. Exemplos de ferramentas de teste de aceitação incluem Cypress
e Selenium . -
Teste sintético: estes testes são executados continuamente em segundo plano para gerar tráfego e verificar se o sistema está íntegro. Exemplos de ferramentas de teste sintético incluem Amazon CloudWatch Synthetics e Dynatrace
Synthetic Monitoring. -
Teste de performance: estes testes simulam a capacidade de produção. Eles determinam se a aplicação atende aos requisitos de performance e comparam as métricas com a performance anterior. Exemplos de ferramentas de teste de performance incluem Apache JMeter
, Locust e Gatling . -
Teste de resiliência: também conhecido como teste de caos, esses testes injetam falhas nos ambientes para identificar áreas de risco. Os períodos em que as falhas são injetadas são então comparados aos períodos sem falhas. Exemplos de ferramentas de teste de resiliência incluem o AWS Fault Injection Service
e o Gremlin . -
Teste de segurança de aplicações estáticas (SAST): estes testes analisam o código em busca de violações de segurança, como injeção de SQL
ou cross-site scripting (XSS) . Exemplos de ferramentas SAST incluem Amazon CodeGuru e Checkmarx . SonarQube -
Teste dinâmico de segurança de aplicações (DAST): estes testes também são conhecidos como testes de penetração ou pen test. Eles identificam vulnerabilidades, como injeção de SQL ou XSS em um ambiente de teste provisionado. Exemplos de ferramentas do DAST incluem o Zed Attack Proxy (ZAP)
e o HCL. AppScan Para obter mais informações, consulte Teste de penetração .
Nem todos os CI/CD pipelines completos executam todos esses testes. No entanto, no mínimo, um pipeline deve executar testes de unidades e testes SAST na base de código, bem como testes de integração e aceitação em um ambiente de teste.