Accélérer la maturité DevOps grâce à la couverture de tests automatisés
Le défi
L’organisation faisait face à des obstacles importants pour améliorer sa maturité DevOps, notamment en ce qui concerne la couverture des tests unitaires. Les principaux défis comprenaient :
- De grands volumes de code source patrimonial répartis sur plusieurs environnements informatiques
- Un mandat cible d’augmenter la couverture des tests unitaires à 80 % pour tous les fichiers sources
- Des ressources limitées côté développeurs, la plupart étant concentrées sur les projets en cours et les activités courantes
- Les développeurs manquaient de familiarité avec les bases de code patrimoniales, nécessitant du temps supplémentaire pour comprendre une logique complexe avant d’écrire des tests unitaires
Ces problèmes ont créé des goulets d’étranglement dans l’atteinte d’une meilleure couverture de test et risquaient de retarder la transformation globale DevOps.

L’objectif
Pour accélérer la création de tests unitaires pour le code patrimonial sans surcharger les développeurs, une approche automatisée était nécessaire afin de réduire l’effort manuel, de minimiser le temps de montée en compétence sur des bases de code inconnues et de prendre en charge la génération de tests en masse pour atteindre efficacement les objectifs de couverture.


La solution
Un cadre d’automatisation propulsé par Python a été développé pour simplifier le processus :
- Capacité de téléchargement en lot : les développeurs peuvent télécharger plusieurs fichiers sources à la fois dans le système
- Génération de tests unitaires en un clic : en une seule action, le script génère des cas de tests unitaires complets pour tous les fichiers téléchargés
- Compréhension logique basée sur l’IA : en tirant parti de grands modèles de langage, le système interprète la logique source, permettant la création automatique de tests unitaires pertinents alignés sur les objectifs de couverture
- Convivial pour les développeurs : les tests générés peuvent être affinés, exécutés et intégrés dans les pipelines CI/CD existants, assurant une adoption fluide

L'impact
La solution a permis d’apporter des améliorations substantielles en matière d’efficacité et de couverture :
- Augmentation rapide de la couverture des tests unitaires vers l’objectif de 80 % sans consommer de nombreuses heures de développeurs
- A libéré la capacité des développeurs pour se concentrer sur des activités BAU et des projets à plus forte valeur ajoutée.
- A réduit la dépendance à la connaissance approfondie du code patrimonial en automatisant l’interprétation de la logique
- Accélération de la maturité DevOps grâce à une génération de tests unitaires cohérente, évolutive et automatisée
- Mise en place d’un cadre reproductible pouvant être étendu à de futurs référentiels de code et à des objectifs de couverture évolutifs
Services AWS utilisés
- Amazon Bedrock
- AWS CloudTrail
- Amazon CloudWatch
- Amazon VPC

