Logo Parasoft Rechercher

Découvrez GoogleTest certifié TÜV avec Agentic AI pour les tests C/C++ !
Plus de détails »

Essayez Parasoft Jtest !

Facilitez et accélérez les tests unitaires grâce à l'assistance de l'IA.

Essayez gratuitement

WEBINAIRE

Regardez des requêtes d'extraction plus intelligentes : une IA qui teste, corrige et valide le code Java

Les nouveaux flux de travail de génération de code par IA accélèrent le développement d'applications Java. Cependant, de nombreuses équipes cherchent encore comment adapter leurs pratiques de test et d'assurance qualité du code en parallèle. Face à l'augmentation des modifications de code, les équipes de développement sont confrontées à de nouvelles contraintes : des tâches comme la création de tests unitaires et la correction des erreurs d'analyse statique exigent toujours un effort d'ingénierie conséquent.

 

Dans cette vidéo, découvrez comment l'IA agentique prend en charge les tests et l'analyse de code directement au sein du flux de travail des demandes d'extraction.

Vous allez apprendre à:

  • Déclenchez automatiquement les flux de travail d'analyse statique et de tests unitaires sur chaque demande d'extraction grâce à l'IA agentique.
  • Détecter et corriger les violations, puis vérifier ces corrections à l'aide d'agents LLM avant de fusionner le code.
  • Générer des tests unitaires pour le code modifié afin de renforcer la qualité au niveau de la demande de fusion et de satisfaire aux critères de qualité.
  • Combinez la correction des analyses statiques et la génération de tests unitaires dans un flux de travail CI/CD autonome.

L'évolution vers des flux de travail intelligents

Traditionnellement, la création d'une demande de fusion déclenche un processus CI/CD qui exécute une analyse statique et des tests unitaires. Si des problèmes sont détectés, il incombe au développeur d'examiner manuellement les rapports, de comprendre les problèmes, de les corriger, puis d'attendre la prochaine exécution du processus. Cette correction manuelle est chronophage et entraîne des changements de contexte, ce qui ralentit le développement et augmente le risque de défauts.

La nouvelle approche repose sur des flux de travail intelligents et autonomes. Au lieu de se contenter d'identifier les problèmes, ces flux de travail peuvent :

Ce flux de travail moderne permet de réduire la dette technique, d'accélérer les cycles de rétroaction, d'améliorer la fiabilité des tests de régression et permet aux développeurs de se concentrer davantage sur l'écriture de code plutôt que sur la correction des problèmes.

Fonctionnement : un aperçu technique

Le processus classique de création d'une demande de fusion commence par la création d'une branche de fonctionnalité par un développeur, suivie d'une demande de fusion. Ceci déclenche un processus CI/CD qui exécute une analyse statique et des tests unitaires. En cas d'erreurs ou d'échecs de tests, le développeur les corrige manuellement. Une revue de code manuelle est ensuite effectuée avant que la demande de fusion puisse être acceptée.

Un flux de travail automatisé remplace le processus de correction manuel par un agent d'IA. Cet agent accède aux résultats d'analyse et corrige automatiquement les problèmes. Il crée ensuite une demande de fusion contenant ces corrections, que le développeur peut examiner avant de l'intégrer à sa demande de fusion initiale. Cela réduit considérablement l'effort manuel nécessaire à la correction des violations de code et à la génération de tests.

Démonstration en direct

Lors d'une démonstration avec IntelliJ et GitHub, un développeur crée une branche et modifie le code. Cette modification déclenche un workflow GitHub configuré pour utiliser un agent d'IA. Cet agent effectue une analyse statique, corrige les violations et génère des tests unitaires pour le code détecté. Il crée ensuite une nouvelle demande d'extraction contenant ces corrections automatisées.

Le développeur peut ensuite examiner les modifications générées par l'IA dans cette nouvelle demande d'extraction. S'il est satisfait, il peut fusionner ces correctifs avec sa demande d'extraction initiale. Ce processus simplifie la résolution des problèmes de code et garantit le respect des critères de qualité sans intervention manuelle importante.

Points clés à retenir

  • L'IA accélère la génération de code, mais creuse un fossé en matière de qualité.
  • Les processus traditionnels de validation et de correction sont lents et manuels.
  • Les flux de travail d'IA agentique peuvent tester, corriger et valider de manière autonome les modifications de code.
  • Cela réduit les efforts des développeurs, diminue la dette technique et améliore la qualité du code.
  • Maintenir l'intervention humaine pour la validation est essentiel pour la confiance et le contrôle.
  • Combiner l'automatisation traditionnelle avec l'IA agentielle offre les meilleurs résultats.

Répondre aux préoccupations : confiance et coût

Une préoccupation fréquente concerne la fiabilité des tests et correctifs générés par l'IA. La solution consiste à tenir le développeur informé. La vérification humaine des demandes de fusion générées par l'IA est essentielle. L'intégration de ces processus au sein même de la procédure de demande de fusion, plutôt que sur la branche principale, permet un contrôle rigoureux.

Un autre point à prendre en compte est le coût d'utilisation du LLM. Les stratégies pour y remédier comprennent :

  • Optimisation des invites et des compétences de l'agent IA afin de réduire la consommation de jetons.
  • L'utilisation d'outils autres que LLM pour des tâches comme l'analyse statique et la génération de tests unitaires, directement dans l'IDE ou via des plugins de compilation, permet de déléguer une grande partie du travail à des tâches externes, réduisant ainsi la charge de travail de l'agent d'IA.
  • Mise en œuvre d'un système de script intelligent pour n'invoquer les LLM qu'en cas de besoin (par exemple, lorsque des fichiers Java sont modifiés).
  • Utilisation d'algorithmes d'IA propriétaires pour des tâches telles que la génération en masse de suites de tests de régression, qui sont souvent plus efficaces que les approches basées sur LLM.

En combinant des outils de test traditionnels et robustes avec des flux de travail d'IA autonome , les équipes peuvent obtenir des gains significatifs sans compromettre la qualité ni perturber les fonctionnalités existantes. L'IA étant encore en développement, une approche hybride, où elle vient compléter l'expertise humaine, représente la voie la plus prometteuse.