Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Tests pour les pipelines CI/CD
Les deux types de tests automatisés couramment mentionnés dans les pipelines de déploiement sont les tests unitaires et les tests d'intégration. Cependant, il existe de nombreux types de tests que vous pouvez exécuter sur une base de code et dans l'environnement de développement. L'architecture de référence du pipeline de AWS déploiement
-
Test unitaire : ces tests génèrent et exécutent le code de l'application pour vérifier qu'il fonctionne conformément aux attentes. Ils simulent toutes les dépendances externes utilisées dans la base de code. Des exemples d'outils de test unitaire incluent JUnit
Jest et pytest . -
Test d'intégration : ces tests vérifient que l'application répond aux exigences techniques en effectuant des tests par rapport à un environnement de test provisionné. Des exemples d'outils de test d'intégration incluent Cucumber
, vRest NG et integ-tests (for). AWS CDK -
Test d'acceptation — Ces tests vérifient que l'application répond aux exigences de l'utilisateur en effectuant des tests par rapport à un environnement de test provisionné. Cypress
et Selenium sont des exemples d'outils de test d'acceptation. -
Test synthétique — Ces tests sont exécutés en continu en arrière-plan pour générer du trafic et vérifier que le système est en bon état. Amazon Synthetics et Dynatrace CloudWatch Synthetics Monitoring sont des exemples d'outils de test synthétiques.
-
Test de performance — Ces tests simulent la capacité de production. Ils déterminent si l'application répond aux exigences de performance et comparent les indicateurs aux performances passées. Apache
, Locust et Gatling sont JMeter des exemples d'outils de test de performance. -
Test de résilience : également appelés tests de chaos, ces tests injectent les défaillances dans les environnements afin d'identifier les zones à risque. Les périodes pendant lesquelles les défaillances sont injectées sont ensuite comparées à des périodes sans défaillances. Parmi les exemples d'outils de test de résilience, citons AWS Fault Injection Service
Gremlin . -
Test statique de sécurité des applications (SAST) : ces tests analysent le code pour détecter les violations de sécurité, telles que l'injection SQL
ou les scripts intersites ( XSS). Amazon et Checkmarx sont des exemples CodeGuru d'SonarQube outils SAST. -
Test dynamique de sécurité des applications (DAST) — Ces tests sont également appelés tests de pénétration ou tests au stylo. Ils identifient les vulnérabilités, telles que l'injection SQL ou le XSS dans un environnement de test provisionné. Les exemples d'outils DAST incluent Zed Attack Proxy (ZAP) et HCL
. AppScan Pour plus d'informations, consultez la section Tests de pénétration .
Tous les pipelines CI/CD complets n'exécutent pas tous ces tests. Cependant, un pipeline doit au minimum exécuter des tests unitaires et des tests SAST sur la base du code ainsi que des tests d'intégration et d'acceptation sur un environnement de test.