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.
Exécuter des tests parallèles dans des builds par lots
Vous pouvez l'utiliser AWS CodeBuild pour exécuter des tests parallèles dans des builds par lots. L'exécution de tests en parallèle est une approche de test dans laquelle plusieurs scénarios de test s'exécutent simultanément sur différents environnements, machines ou navigateurs, au lieu de s'exécuter de manière séquentielle. Cette approche permet de réduire de manière significative le temps global d'exécution des tests et d'améliorer leur efficacité. Dans CodeBuild, vous pouvez répartir vos tests dans plusieurs environnements et les exécuter simultanément.
Les principaux avantages de l'exécution de tests en parallèle sont les suivants :
-
Temps d'exécution réduit : les tests qui prendraient plusieurs heures de manière séquentielle peuvent être réalisés en quelques minutes.
-
Meilleure utilisation des ressources - Utilise efficacement les ressources informatiques disponibles.
-
Feedback plus tôt - L'exécution plus rapide des tests signifie un feedback plus rapide pour les développeurs.
-
Cost-effective- Permet d'économiser du temps et des coûts informatiques à long terme.
Lors de la mise en œuvre de l'exécution de tests en parallèle, deux approches principales sont généralement envisagées : les environnements séparés et le multithreading. Bien que les deux méthodes visent à réaliser des tests simultanés, elles diffèrent considérablement en termes de mise en œuvre et d'efficacité. Des environnements distincts créent des instances isolées dans lesquelles chaque suite de tests s'exécute indépendamment, tandis que le multithreading exécute plusieurs tests simultanément dans le même espace de processus à l'aide de différents threads.
Les principaux avantages des environnements séparés par rapport au multithreading sont les suivants :
-
Isolation - Chaque test est exécuté dans un environnement complètement isolé, évitant ainsi les interférences entre les tests.
-
Conflits de ressources - Pas de compétition pour les ressources partagées, ce qui se produit souvent dans le multithreading.
-
Stabilité : moins sensible aux conditions de course et aux problèmes de synchronisation.
-
Débogage simplifié : lorsque les tests échouent, il est plus simple d'en identifier la cause car chaque environnement est indépendant.
-
Gestion de l'état : gérez facilement les problèmes d'état partagé qui affectent les tests multithread.
-
Meilleure évolutivité - Possibilité d'ajouter facilement d'autres environnements sans complexité.
Rubriques
Assistance en AWS CodeBuild
AWS CodeBuild fournit un support robuste pour l'exécution de tests en parallèle grâce à sa fonction de génération par lots, spécialement conçue pour tirer parti de l'exécution d'environnements séparés. Cette implémentation s'aligne parfaitement sur les avantages des environnements de test isolés.
- Création par lots avec distribution de tests
-
CodeBuildLa fonctionnalité de génération par lots permet de créer plusieurs environnements de génération qui s'exécutent simultanément. Chaque environnement fonctionne comme une unité complètement isolée, avec ses propres ressources de calcul, environnement d'exécution et dépendances. Grâce à la configuration de génération par lots, vous pouvez spécifier le nombre d'environnements parallèles dont ils ont besoin et la manière dont les tests doivent être répartis entre eux.
- CLI pour tester le sharding
-
CodeBuild inclut un mécanisme de distribution de tests intégré via son outil CLI
codebuild-tests-run, qui divise automatiquement les tests en différents environnements. - Agrégation de rapports
-
L'un des principaux atouts de sa mise en œuvre CodeBuild est sa capacité à gérer de manière fluide l'agrégation des résultats des tests. Lorsque les tests sont exécutés dans des environnements distincts, collecte et combine CodeBuild automatiquement les rapports de test de chaque environnement dans un rapport de test unifié au niveau de la génération par lots. Cette consolidation fournit une vue complète des résultats des tests tout en préservant les avantages en termes d'efficacité de l'exécution parallèle.
Le schéma suivant explique le concept complet de l'exécution de tests en parallèle dans AWS CodeBuild.