L'IA dans les tests logiciels


Alors que les exigences des utilisateurs SAP augmentent, les équipes de test doivent maîtriser des cycles de re-lease de plus en plus courts - souvent même plusieurs builds par jour pour les applications cloud. Pour suivre ce rythme, l'assurance qualité ne doit plus se faire à la fin, mais doit être intégrée dans toutes les phases du processus DevOps.
Ce qu'il faut, c'est un shift-left dans le modèle V : en tenant compte de la qualité dès la planification des applications, les entreprises peuvent identifier et traiter les problèmes à un stade précoce. Mais comment faire face à la baisse des budgets et à la pénurie de personnel qualifié ? Aujourd'hui, il n'est plus possible de faire l'impasse sur l'automatisation des tests. L'intelligence artificielle est de plus en plus utilisée à cet effet.
Les DSI misent sur l'IA
86 % des DSI considèrent déjà l'IA comme un critère important dans le choix de solutions d'assurance qualité, selon le World Quality Report de Capgemini. Selon une étude menée par TechStrong et Tricentis auprès des professionnels DevOps, 90% des personnes interrogées voient un potentiel considérable dans l'utilisation de l'IA. C'est dans le domaine des tests qu'ils attendent les plus grands avantages.
Les tests UI servent à s'assurer qu'une interface utilisateur fonctionne comme prévu et offre une bonne expérience utilisateur. Ils sont généralement laborieux et prennent beaucoup de temps, car ils sont difficilement automatisables. L'IA permet de surmonter cet obstacle. En simulant le comportement humain de l'utilisateur, elle peut effectuer des tests d'interface utilisateur de manière autonome du point de vue de l'utilisateur.
Une approche shift-left est particulièrement difficile pour les tests d'interface utilisateur. En effet, en règle générale, les testeurs ne peuvent commencer à automatiser les tests qu'une fois l'interface utilisateur entièrement développée. Cela ralentit le processus de validation. En revanche, l'IA peut déjà créer des cas de test à partir de la maquette d'une application. Cela permet de concevoir des cas de test UI avant même que l'interface utilisateur n'existe. Les mêmes tests peuvent ensuite être appliqués à l'application entièrement développée.
Les tests visuels servent à s'assurer qu'une interface utilisateur fonctionne sur différents terminaux. En comparant une capture d'écran de base avec une capture d'écran future, il est possible de détecter des problèmes qui ne sont pas détectés lors des tests fonctionnels au niveau du DOM (Document Object Model). Une IA peut automatiser les tests visuels. La condition préalable est de lui apprendre quels sont les indices visuels auxquels elle doit prêter attention.
Il suffit d'une petite modification dans une application pour que l'identification des objets ne fonctionne plus et que les tests soient interrompus. Les responsables de l'assurance qualité doivent donc continuellement vérifier et adapter leurs scripts d'automatisation. Cela demande beaucoup d'efforts et fait grimper les coûts de maintenance.
Une IA peut en revanche automatiser les tests d'interface utilisateur sans identifiants techniques. Elle reconnaît les objets à l'aide de réseaux neuronaux au niveau visuel de l'interface utilisateur. Ainsi, il n'y a plus de problèmes liés à des relations interrompues entre les objets et les identificateurs. L'IA visuelle rend en outre les cas de test indépendants de la technologie sous-jacente. Les tests peuvent ainsi être utilisés sur toutes les plateformes, qu'une application fonctionne sur un système Windows, Android, Apple ou Cloud.
Les testeurs passent une grande partie de leur temps à rechercher des erreurs. Lorsqu'un test échoue, ils doivent s'efforcer de déterminer pourquoi il ne fonctionne pas. En revanche, l'IA peut analyser automatiquement les données des tests qui ont échoué et identifier les modèles d'erreur courants. Elle peut même réparer automatiquement les problèmes courants, tels que les références erronées.
Pour que le testing soit le plus efficace possible, il est important de tester de manière ciblée les domaines qui présentent le plus de risques. Dans la pratique, cette transparence fait souvent défaut. De nombreuses entreprises testent donc selon le principe de l'arrosoir et accumulent une suite de tests hypertrophiée qui devient de plus en plus lente. Mais ce faisant, elles ne couvrent que 20 à 40 % de leurs risques commerciaux.
DevOps et Low-Code avec l'IA
Une IA peut effectuer une analyse d'impact automatisée afin d'identifier les risques les plus importants. Elle aide ainsi les responsables de l'assurance qualité à donner la priorité aux tests les plus importants et à tester ce qui convient. En outre, l'IA peut également concevoir des cas de test automatisés et obtenir une couverture de test optimale.
Pour mettre en œuvre une stratégie globale d'ingénierie de la qualité, les entreprises ont besoin du meilleur soutien technique possible. L'IA aide à intégrer l'automatisation des tests dans les processus DevOps dès les premières phases. La meilleure façon d'introduire la nouvelle technologie est d'utiliser une plateforme Low-Code/No-Code, voir aussi les Cover story de l'E3 dans sur le sujet.