REL08-BP02 Intégrer les tests fonctionnels dans le cadre de votre déploiement - Framework AWS Well-Architected

REL08-BP02 Intégrer les tests fonctionnels dans le cadre de votre déploiement

Les tests fonctionnels sont exécutés dans le cadre du déploiement automatisé. Si les critères de réussite ne sont pas respectés, le pipeline est arrêté ou annulé. Ces tests sont exécutés dans un environnement de préproduction, qui est mis en place avant la production dans le pipeline. Idéalement, cela s’effectue dans le cadre d’un pipeline de déploiement.

Résultat escompté : vous utilisez l’automatisation pour effectuer des tests fonctionnels, et les données de test associées réduisent la durée et les dépenses des tests et améliorent la précision des résultats des tests. Vous intégrez des tests fonctionnels dans le cadre de votre processus de déploiement, ce qui vous permet d’automatiser vos pipelines de publication pour des mises à jour rapides et fiables des applications et de l’infrastructure.

Anti-modèles courants :

  • Vous effectuez manuellement des tests en dehors du pipeline de déploiement.

  • Vous sautez les étapes de test de votre automatisation grâce à des flux de travail d’urgence manuels.

  • Vous ne suivez pas les plans et processus de test établis au profit de délais accélérés.

Avantages liés au respect de cette bonne pratique : les tests fonctionnels permettent de vérifier que le système fonctionne conformément aux exigences spécifiées. Il est utilisé pour vérifier de manière cohérente l’état de fonctionnement prévu des composants tels que les interfaces utilisateur, les API, les bases de données et le code source. Lorsque vous examinez ces composants du système, les tests fonctionnels vérifient que chaque fonctionnalité se comporte comme prévu, ce qui protège à la fois les attentes des utilisateurs et l’intégrité du logiciel. Intégrez des tests fonctionnels dans le cadre de votre déploiement régulier et utilisez l’automatisation pour déployer toutes les modifications, ce qui réduit le risque d’introduction d’erreurs humaines.

Niveau d’exposition au risque si cette bonne pratique n’est pas respectée : élevé

Directives d’implémentation

Intégrez les tests fonctionnels dans le cadre de votre déploiement. Les tests fonctionnels sont exécutés dans le cadre du déploiement automatisé. Si les critères de réussite ne sont pas remplis, le pipeline est arrêté ou annulé. AWS CodePipeline fournit un pipeline de livraison continue pour les tests automatisés, ce qui permet aux testeurs d’automatiser l’ensemble du processus de test et de déploiement. Il s’intègre à des services AWS comme AWS CodeBuild et AWS CodeDeploy pour automatiser les phases de création, de test et de déploiement du cycle de vie du développement logiciel.

Étapes d’implémentation

  • Configurez votre pipeline : configurez vos étapes source, de construction, de test et de déploiement à l’aide de la console AWS CodePipeline ou de AWS Command Line Interface (CLI).

    • Définissez votre source : avec AWS CodePipeline, vous pouvez récupérer automatiquement le code source à partir de systèmes de contrôle de version tels que GitHub, AWS CodeCommit ou Bitbucket, qui vérifient que le code le plus récent est toujours utilisé pour les tests.

    • Automatisez les builds et les tests : AWS CodeBuild peut automatiquement créer et tester votre code et générer des rapports de test. Il prend en charge les frameworks de test populaires tels que JUnit, NUnit et TestNG.

    • Déployez votre code : une fois le code créé et testé, AWS CodeDeploy peut le déployer dans votre environnement de test, y compris les instances Amazon EC2, les fonctions AWS Lambda ou les serveurs sur site.

    • Surveillez les pipelines : AWS CodePipeline permet de suivre la progression de votre pipeline et l’état de chaque étape. Vous pouvez également utiliser des contrôles de qualité pour bloquer le pipeline en fonction de l’état d’exécution du test. Vous pouvez aussi recevoir des notifications en cas d’échec ou d’achèvement d’une étape du pipeline.

Ressources

Documents connexes :