
Intelligence Artificielle Impact de l'Intelligence Artificielle sur l'Automatisation de l'Assurance Qualité
Intelligence Artificielle Impact de l'Intelligence Artificielle sur l'Automatisation de l'Assurance Qualité
Par Lisette Zounon, CSM-CSP, CAL1, DTM
Au cours des dix dernières années, la plupart des outils d'automatisation de l'assurance qualité ont offert aux ingénieurs QA des opportunités de créer de l'automatisation de tests, mais nous manquons encore dans certains domaines tels que l'efficacité d'exécution, la réutilisabilité des cas de test et les mises à jour rapides. Les tests manuels peuvent prendre beaucoup de temps chaque fois qu'une rupture se produit dans le script. L'automatisation de l'assurance qualité a une marge d'amélioration pour permettre une détection rapide des erreurs. Fondamentalement, l'apprentissage automatique (Machine Learning) est une technologie de reconnaissance de formes – elle utilise des modèles identifiés par vos algorithmes d'apprentissage automatique pour prédire les tendances futures.
L'intelligence artificielle devient très cruciale dans les technologies de l'information. Ces dernières années, l'automatisation logicielle a expérimenté l'IA et l'apprentissage automatique. Ci-dessous, nous allons détailler certains des avantages des outils basés sur l'IA.
- Déterminer les avantages de l'utilisation d'un outil basé sur l'IA
- Tests de validation visuelle
Les tests visuels consistent à vérifier si les aspects visuels de l'application semblent appropriés aux utilisateurs finaux. Les bugs visuels sont généralement des problèmes de rendu. En raison de la précision des tests visuels automatisés alimentés par l'IA, ils peuvent être déployés pour plus que de simples tests fonctionnels et visuels. Les outils de test visuel alimentés par l'IA sont cruciaux pour valider toute application qui nécessite un changement constant de contenu et de format.
- Tester les API
Les tests d'API activés par l'intelligence artificielle offrent un bond en avant en productivité et en efficacité. Vous pouvez capturer toutes les étapes en un seul ensemble. Avec une API activée par l'IA, vous pouvez définir quelque chose une fois et le verrouiller dans un modèle de test intelligent et partager ce modèle avec un grand nombre de testeurs. Cela aide à gérer et comprendre l'inventaire complet des API. Les utilisateurs peuvent bénéficier de l'ajout d'apprentissage automatique pour automatiser la création de tests API en apportant cohérence et couverture à leurs efforts.
- Auto-guérison des tests automatisés
Il est nécessaire d'avoir un système pour détecter les pannes et les réparer automatiquement sans intervention humaine. Le test automatisé nécessite beaucoup de maintenance lorsque vous avez une application qui change fréquemment. L'auto-guérison (self-healing ou auto-healing) est utilisée pour aider à s'adapter aux changements mineurs, afin que les tests continuent de fonctionner. Chaque fois que des tests sont exécutés, ils interagissent avec un élément ; ils collectent des attributs d'élément qu'ils utilisent pour trouver l'élément la prochaine fois et suivre les changements au fil du temps. Le test pourrait suivre de nombreux attributs tels que le texte, les classes CSS, les données et d'autres informations comme l'emplacement et la taille sur la page. Toute étape de test qui interagit avec un élément sur la page peut être auto-réparée.
L'automatisation activée par l'IA apporte une valeur supplémentaire, parfois intangible, aux testeurs QA. L'IA rend vos tests fiables car vos tests peuvent maintenant s'adapter aux changements de développement. L'IA n'est pas là pour prendre le relais de l'assurance qualité, mais plutôt pour permettre à l'ingénieur qualité de devenir plus productif et de se concentrer sur ce que l'assurance qualité fait de mieux.
Certains des avantages que l'IA a prouvés sont :
- Amélioration de la création des cas de test
- Amélioration des portes de qualité
- Repérer les erreurs en double et les nouvelles erreurs dans les modifications de code
- Créer des tests automatisés plus fiables
J'ai eu l'opportunité d'expérimenter et d'utiliser des systèmes d'assurance qualité avec des tests fonctionnels et des tests de charge, tous deux exploitant l'intelligence artificielle. Vous trouverez ci-dessous un résumé d'une étude de cas parmi tant d'autres sur l'utilisation d'un outil d'automatisation basé sur l'IA.
- Résumé de l'étude de cas réussie de l'utilisation d'un outil basé sur l'IA
Problème
Cette équipe agile très performante travaille ensemble depuis plus de 10 mois à la construction d'un nouveau site avec divers services pour les clients. Ils avaient respecté le délai initial après tout le travail acharné pour satisfaire les clients. Mais maintenant, ils ont un énorme retard de fonctionnalités que le client attend d'eux dans les six prochains mois. La préoccupation de l'équipe concerne principalement la garantie que les nouvelles fonctionnalités, la nouvelle version du code, ne cassent pas les fonctionnalités existantes auxquelles les clients sont habitués. Le seul membre de l'équipe QA dans cette équipe agile a créé plus de 1100 cas de test pour tester avec succès toutes les fonctionnalités de ce site. Le membre de l'équipe QA prend généralement 2 à 4 jours, trois jours en moyenne, pour exécuter tous les cas de test de régression après chaque version de code dans un environnement. L'objectif est d'assurer une livraison rapide, une détection rapide des erreurs d'un environnement à l'autre, et enfin un retour rapide des clients satisfaits.
Solution
La direction QA a pris en charge ce problème et a cherché un outil pouvant aider à résoudre ce défi et assurer une livraison rapide, une détection rapide des erreurs et un retour rapide. Nous avons trouvé un outil basé sur l'IA que le membre de l'équipe QA peut exploiter pour résoudre ce problème. Après avoir parlé avec l'équipe agile et leur avoir fait une démonstration de cet outil, ils étaient tous enthousiastes et ont prévu du temps dans leur cycle de sprint pour que l'assurance qualité automatise la suite de régression. L'analyste QA, sans expérience préalable en codage, commence à créer des cas de test dans l'outil basé sur l'IA avec une formation. Il a fallu environ 3 à 4 semaines pour tous ces efforts d'automatisation des 1100 cas de test manuels.
Résultat
L'exécution des 1100 cas de test automatisés prend environ 30 minutes pour s'exécuter avec succès dans un environnement. Ces cas de test sont facilement exécutés dans un autre environnement, de l'assurance qualité à la préproduction jusqu'aux environnements de production. L'équipe QA se concentre désormais sur les tests des éléments de travail du sprint et peut exploiter les tests de la suite de régression pour exécuter rapidement les cas de test. L'équipe est capable d'exploiter l'automatisation des cas de test dans l'environnement CI/CD. Cela permet une livraison rapide des nouvelles fonctionnalités, une détection rapide des erreurs et un retour rapide aux clients. L'équipe a maintenant une exécution cohérente des mêmes cas de test dans tous les environnements.
- Retour sur Investissement du projet et bonheur de l'équipe
Le retour sur investissement (ROI) de l'utilisation d'outils basés sur l'IA dans votre automatisation QA est énorme pour votre projet et votre équipe. En voici quelques-uns que nous connaissons et avons expérimentés :
-
-
-
- Adopter un état d'esprit d'apprentissage continu
- Logiciel de haute qualité
- Logiciel de haute qualité
- Boucle de rétroaction rapide vers le client
- Réponse rapide au problème
- Implication de l'équipe interfonctionnelle
- Augmentation de la confiance de l'équipe
- L'assurance qualité devient une activité amusante et n'est plus un goulot d'étranglement
- Augmentation du bonheur de l'équipe et meilleur engagement
- Excellent travail d'équipe et collaboration
-
-
Références
https://support.smartbear.com/testcomplete/docs/testing-with/running/self-healing-tests.html
https://techwireasia.com/2019/07/what-is-self-healing-automation-and-why-is-it-important-to-devops/
https://applitools.com/blog/visual-testing/
https://www.parasoft.com/to-make-api-testing-easier-add-machine-learning-to-your-ai/
https://techbeacon.com/app-dev-testing/how-ai-changing-test-automation-5-examples
