top of page

L'IA pour accroître votre qualité tout au long du cycle de développement


Par Danny Paradis : Architecte de solutions d'automatisation spécialisé en tests d'interface utilisateur.

21 mars 2024


Je souhaite aujourd’hui vous inviter à une réflexion captivante sur le pouvoir transformateur de l’intelligence artificielle (IA) dans le monde du développement logiciel. Bien plus qu’une simple transformation des méthodes de développement d’applications, l’IA redéfinit la notion de qualité à chacune des étapes du processus. Explorons ensemble trois utilisations de l’IA dans le cycle de développement : la qualité au niveau de la définition de l’interface utilisateur, la qualité au niveau de la couverture des tests et la maintenance intelligente des tests. 


L’expérience utilisateur et l’accessibilité au cœur de la conception


Imaginez la scène… Des outils d’IA qui analysent des milliers de designs pour vous suggérer la meilleure interface utilisateur (IU)… Des IU qui, en plus d’être esthétiquement agréables, sont optimisées pour offrir une expérience utilisateur (UX) intuitive. Des systèmes qui évaluent l’accessibilité de votre conception en temps réel, vous assurant ainsi que votre application est utilisable par tous, sans exception. N’est-ce pas là une perspective prometteuse et révolutionnaire pour le développement de produits numériques?

Pour illustrer mon propos, voici l’exemple d’une discussion que j’ai eue avec ChatGPT, sur mon cellulaire.


Danny: Tu es un spécialiste UI, dis-moi ce que tu penses de cette esquisse d’écran pour mon nouveau logicielChatGPT.


Chat GPT: L'esquisse d'écran que vous avez partagée pour votre nouveau logiciel semble être un wireframe initial montrant l'interface utilisateur (UI) pour le téléchargement et la génération de contenu. Voici quelques observations :

Clarté : Les éléments sont clairement délimités, ce qui aide à comprendre la structure et la fonction de chaque section.

Simplicité : L'interface est simple, ce qui peut rendre l'expérience utilisateur moins intimidante et plus accessible.

Hiérarchie : Il semble y avoir une hiérarchie visuelle, avec le "Drop or Upload your image or text" comme point central, mais cela pourrait être amélioré en ajustant la taille et le placement pour guider l'utilisateur plus efficacement.

Étiquetage : Les étiquettes comme "generate REACT code", "generate API Swagger", "generate User Flow", et "generate Unit test" sont spécifiques et directes, ce qui est bon pour la compréhension des fonctions.

Interactivité : Il est supposé que chaque boîte représente un bouton ou une zone interactive, mais cela pourrait être rendu plus explicite, peut-être en ajoutant des conventions visuelles comme des boutons en relief ou des zones de glisser-déposer distinctes.

Flux d’utilisateur : Le flux général semble logique, mais il pourrait être utile de montrer comment les utilisateurs passent d'une étape à l'autre.

Conception réactive : Envisagez comment cela s'adaptera à différents écrans ou dispositifs.

Feedback Utilisateur : Pensez à intégrer des éléments qui fourniront des retours d'interaction aux utilisateurs, comme des animations ou des messages de confirmation.

En général, pour une ébauche initiale, c'est un bon début. L'étape suivante serait de développer ces wireframes en prototypes plus détaillés, en intégrant des commentaires sur l'ergonomie et l'expérience utilisateur (UX) pour tester avec de vrais utilisateurs.


source: Chat GPT


De la définition des tests aux tests E2E


La mise en place de la qualité logicielle a subi une transformation profonde grâce à l’IA. Désormais, des outils alimentés par l’IA facilitent la définition de cas de test pertinents, les tests unitaires s’autoévaluent pour assurer une couverture de code optimale, et les tests de bout en bout (E2E) s’ajustent dynamiquement pour englober des scénarios complexes. Grâce à l’IA, nous bénéficions de tests plus rapides et plus intelligents.

Je vous donne en exemple un flux de travail (« flow ») fictif que j’ai écrit pour un magasin de bougies. Pour ce faire, j’ai utilisé Mermaid, un outil génial pour décrire de manière visuelle un flux de travail.



Par la suite, j’ai demandé à ChatGPT de m’écrire un tableau de tests basé sur le « flow ».



N’étant pas satisfait de la réponse, je lui ai demandé d’optimiser les cas de test.



Ce n’est qu’un petit exemple qui explique comment l’IA peut nous aider dans l’élaboration des tests.


Vers une ère de maintenance simplifiée


Et si je vous disais que le code des tests peut s’autoréparer? Grâce à l’IA, c’est une réalité envisageable. Comment? Par des algorithmes qui apprennent de chaque bogue et qui s’autocorrigent, réduisant ainsi le temps de maintenance et augmentant la fiabilité des tests. 

Prenons l’exemple d’un changement fait à l’interface graphique. L’IA de test ne trouvant plus le bouton tentera de trouver son équivalent en se basant sur d’autres attributs (le rôle, le texte ou les coordonnées) pour le remplacer en cours d’exécution, afin de prévenir un faux positif. Évidemment, l’IA de test produira un rapport des changements que vous pourrez accepter ou refuser afin de garder un contrôle sur les tests. Plusieurs outils commerciaux offrent déjà cette fonctionnalité.


L’intelligence artificielle ne se limite pas à être simplement un ajout à notre boîte à outils de développement logiciel; c’est plutôt un compagnon qui nous oriente vers un avenir où la qualité, l’efficacité et l’innovation convergent harmonieusement. Je suis fermement persuadé que l’intégration de l’IA dans nos processus de développement représente la prochaine avancée majeure vers l’excellence logicielle.


Enfin, à celles et ceux qui sont préoccupés par les enjeux de confidentialité, sachez qu’il est tout à fait possible d’avoir sa propre intelligence artificielle sur son poste, éliminant ainsi cette préoccupation. De plus, l’avantage d’utiliser sa propre IA réside dans la possibilité de la perfectionner en permanence! Restez à l'affût de mon prochain article! Vous découvrirez comment vous doter de votre propre intelligence artificielle sur votre poste.


Alors… Est-ce que j’ai su piquer votre intérêt à explorer les innombrables possibilités offertes par l’intelligence artificielle dans les cycles de développement? 




135 vues0 commentaire
bottom of page