Dans le domaine du test fonctionnel, plusieurs tendances ont émergé récemment, notamment en raison de l'évolution rapide des technologies et des pratiques de développement logiciel. Voici les principales évolutions qui vont marquer les années à venir.
L’automatisation des tests assistée par l’IA
De plus en plus d’outils d’automatisation recourent à l'intelligence artificielle (IA) et à l'apprentissage automatique (ML) pour rendre les tests plus adaptables aux évolutions. Des outils comme Testim et Mabl utilisent des algorithmes pour détecter automatiquement les changements dans l'interface utilisateur et ajuster les tests en conséquence. D’autres comme Cypress ou TestCafe ont intégré des fonctionnalités de self-healing qui permettent aux tests automatisés de se réparer automatiquement en cas de défaillance due à des changements mineurs dans l'application. Certains automates de test comme Appium et Espresso intègrent des fonctionnalités d'intelligence artificielle pour détecter les changements dans l'interface des applications mobiles et ajuster automatiquement les scripts de test. Certains outils comme TestProject ou Perfecto utilisent l'IA pour assister les testeurs manuels, par exemple en générant des cas de test ou en suggérant des scénarios de test basés sur les données historiques et les erreurs courantes.
Souvent présentée comme un « game changer » qui va révolutionner les tests, l’IA peine à tenir ses promesses. La capacité de ces outils à détecter, ajuster, réparer, générer, est encore trop limitée et trop complexe à mettre en œuvre pour être efficace et rentable. C’est une tendance très médiatisée mais encore en devenir contrairement aux sujets suivants qui sont de réelles tendances de fond.
Tests Fonctionnels sur Progressive Web Apps (PWA)
Les Progressive Web Apps (PWA), combinent les avantages des sites web et des applications mobiles natives. Elles intègrent des fonctionnalités qui exigent de nouveaux types de tests fonctionnels. Les outils comme Cypress et Puppeteer sont désormais utilisés pour tester les fonctionnalités des PWA, y compris les capacités hors ligne, la gestion du cache et les notifications push.
Les Tests d’API et de Microservices
Avec l'essor des architectures microservices, les tests fonctionnels se concentrent de plus en plus sur les Tests d'API. Postman est sans doute l’outil le plus utilisé pour tester les interactions entre différents services backend. D’autres outils comme Spring Cloud Contract vont plus loin. Ils font ce qu’on appelle des Tests de contrat. En lieu et place d’une URL c’est un contrat qui est soumis à l’outil. Sur la base de ce contrat, l’outil vérifie que les services communiquent de manière cohérente, même lorsque les appels à l'API changent.
Tests en environnements réalistes
Avec la généralisation des applications Web et Mobile des acteurs comme BrowserStack, Sauce Labs ou AWS Device Farm ont développé une offre de cloud testing. Ces acteurs mettent à disposition de leurs clients des fermes de périphériques pour effectuer des tests fonctionnels sur une multitude de navigateurs, d’appareils mobiles et de systèmes d’exploitation. L'utilisation d'appareils réels pour exécuter des tests fonctionnels reste une priorité dans les tests mobiles pour s'assurer que l'application fonctionne correctement dans des conditions d'utilisation réelles. Selon les configurations ces tests sont exécutés soit manuellement, soit en automatique.
Tests d'accessibilité automatisés
Les Tests d’accessibilité visent à vérifier si une application, un site web ou une interface numérique est accessible et utilisable par tous les utilisateurs, y compris ceux en situation de handicap. L'objectif est de s'assurer que les utilisateurs, quelle que soit leur condition (cécité, malvoyance, mobilité réduite, troubles cognitifs, etc.), peuvent accéder à l'information et interagir avec l'application de manière efficace et indépendante. Les problèmes d’accessibilité impactent l’expérience utilisateur des publics ayant un handicap
Des outils open source comme Axe-core ou Google Lighthouse ont amélioré la détection automatique des problèmes d'accessibilité dans les applications web et mobiles. Axe-core, qui est open source, permet notamment d’automatiser les tests d’accessibilité durant l’exécution de tests fonctionnels automatisés.
Gestion des données sensibles
La protection des données sensibles lors des tests fonctionnels est une préoccupation majeure, car les tests impliquent souvent l'utilisation de données réelles susceptibles de contenir des informations confidentielles et personnelles. L'exposition de ces données pendant les tests pourrait entraîner des violations de confidentialité et des conséquences légales graves, notamment en vertu des réglementations telles que le Règlement Général sur la Protection des Données (RGPD) en Europe, ou la loi HIPAA aux États-Unis pour la protection des informations de santé.
L'anonymisation et la pseudonymisation des données sont des techniques qui permettent de réduire le risque d'exposition des informations sensibles pendant les tests. Mockaroo ou Faker sont des outils de pseudonymisation qui génèrent des noms, adresses e-mail, numéros de téléphone et autres données réalistes sans compromettre la confidentialité. Test Data Management, Delphix ou SQL Server Data Tools (SSDT) sont des outils d'anonymisation qui masquent et anonymisent les données sensibles.
CI/CD pour tests automatisés
L'intégration des tests automatisés dans les pipelines de CI/CD est de plus en plus courante. Des outils comme Jenkins, GitLab CI, ou CircleCI permettent d'exécuter les tests fonctionnels de manière continue dès qu'un code est modifié, améliorant ainsi la vitesse et la qualité des déploiements.
Les tests sans code (NoCode Testing)
Le NoCode Testing a pour objectif de rendre accessible à des utilisateurs non techniques l’automatisation des tests sans avoir à écrire de code. La plupart des outils disponibles sont en réalité des outils low-code. Ils fonctionnent par enregistrement des interactions d’un utilisateur avec l’application. Un fois réalisé, cet enregistrement constitue le squelette du script de test qu’il faut ensuite adapter pour le rendre opérationnel. Les outils low-code facilitent le travail du programmeur qui développe les scripts. Ils ne s’adressent pas au Testeur. Certains outils comme Rainforest QA et Testim utilisent l’IA pour faciliter le passage des tests manuels aux scripts de test automatisé. Comme nous l’avons vu, ces outils sont trop limités pour espérer rendre le Testeur véritablement autonome. Quelques outils comme Leapwork se basent sur des graphes pour décrire le déroulé d’un test sous une forme visuelle. Un script de test est généré à partir de ce graphe, script qui doit ensuite être adapté pour devenir opérationnel.
Le plus abouti des outils no-code est la Plateforme de Qualification SCAPIN. Cette plateforme invente une nouvelle façon de rédiger les tests qui s’appuie sur les images des écrans de l’application. C’est le Storyboard Testing©, le test par l’image. Ses avantages sont multiples. D’abord, c’est une solution réellement no-code. Le testeur est réellement autonome pour automatiser ses tests. En plus d’être 100% no-code, les tests SCAPIN sont des documents illustrés, compréhensibles par tous les acteurs du projet. Ils donnent à voir l’application pendant les phases d’idéation, de conception, et de prototypage. Le Storyboard Testing© propose une approche cinétique et visuelle pour la construction d’une application. La conception de l’application peut être testée avant même d’engager les développements.
La Plateforme de Qualification SCAPIN n’est pas un simple outil de test, c’est une plateforme capable de traiter la complexité sur toute la chaine de valeur des tests. C’est une solution solide qui permet au Testeur de structurer une démarche qualité cohérente. C’est la tendance forte qui émerge aujourd’hui dans le domaine des tests fonctionnels.
Comments