Explorer les tests de décalage vers la droite
Comme expliqué précédemment dans le cours, le test de la gestion du cycle de vie des applications est essentiel pour optimiser la qualité du code et réduire le risque opérationnel associé au déploiement et à la mise à jour de logiciels. C’est la raison de l’application de l’approche décalée vers la gauche, qui introduit les activités de test dès que possible dans la phase de développement. Toutefois, il existe certains aspects des tests, qui ne sont pas efficaces lorsqu’ils sont effectués de cette façon. Au lieu de cela, pour servir pleinement leur objectif, ils doivent être effectués dans l’environnement de production. Il s’agit de l’approche shift-right. L’organisation de notre exemple de scénario doit l’utiliser afin d’évaluer correctement la fiabilité de leurs systèmes en combinaison avec l’injection de pannes. Dans cette unité, examinez ce critère ainsi que d’autres critères justifiant le test de déplacement vers la droite.
Quelles sont les raisons du test de décalage vers la droite ?
Bien que le test de décalage vers la gauche soit idéal pour les tests unitaires et de fumée, il est effectué dans des conditions qui diffèrent généralement considérablement de ceux applicables aux cibles de livraison prévues. Même l’assurance qualité et les environnements intermédiaires reflètent rarement entièrement les complexités de leurs équivalents de production. En fait, la meilleure façon d’examiner entièrement le comportement d’une charge de travail après son déploiement consiste à le tester à ce stade.
Les tests en production offrent les avantages suivants :
- Reflète les conditions de travail réelles, notamment la charge supplémentaire associée à la gestion des demandes des utilisateurs finaux.
- Tient compte des facteurs, qui seraient difficiles à simuler, tels que la connectivité à des systèmes externes.
- Reflète les changements de la demande de charge de travail au fil du temps.
Qu’est-ce que les scénarios classiques de test de décalage vers la droite ?
Bien que l’approche de test de décalage à droite puisse être justifiée dans de nombreux scénarios, il n’y en a que peu dans lesquels il convient. Ces scénarios sont les suivants :
Déploiements de microservices : l’architecture des microservices se compose généralement d’un grand nombre de composants développés indépendamment. Un nombre plus élevé de combinaisons de ces services peut justifier le test de décalage vers la droite afin de se concentrer sur les scénarios les plus pertinents dans l’environnement de production réel (en fonction de leur utilisation réelle).
Évaluation de l’impact de la bande passante réseau et des conditions de latence : les conditions réseau ont tendance à être difficiles à simuler. Par conséquent, si les performances d’une charge de travail dépendent fortement de la latence ou de la bande passante, le test de décalage vers la droite peut être l’option la plus appropriée.
Test d’acceptation des utilisateurs : les commentaires des utilisateurs réels peuvent être essentiels pour valider les performances et la facilité d’utilisation de la charge de travail.
Procédures de basculement de validation dans les configurations redondantes: les tests d’injection d’erreurs et de récupération d’urgence sont destinés à évaluer la résilience des charges de travail de production. L’injection de panne consiste à introduire délibérément des défaillances dans des composants individuels d'une charge de travail durant son exécution afin d'identifier les faiblesses et de les atténuer, ce qui améliore la fiabilité globale.
Remarque
L’ingénierie chaos est un autre concept dans le domaine des tests de fiabilité DevOps. Comme avec l’injection de pannes, il implique de simuler des défaillances (dans ce cas, pour créer un chaos contrôlé dans le système en cours de test). Toutefois, son étendue est généralement plus large, ciblant l’ensemble du système, plutôt que seulement ses composants individuels, et ses scénarios de test ont tendance à être plus complets. En effet, l’ingénierie du chaos est généralement limitée aux environnements canaris qui ont un impact très limité ou aucun impact sur la production.
Remarque
Vous pouvez utiliser Azure Chaos Studio pour implémenter des expériences d’ingénierie de chaos qui ciblent des solutions hébergées dans Microsoft Azure. Vous allez parcourir un exemple de ces expériences dans le labo de ce module.