Optimisation des Tests Logiciels avec le Test Case Designer (TCD)
Lorsqu’il s’agit de tester un logiciel, l’une des préoccupations les plus courantes des clients est la suivante : “Nos tests actuels sont-ils suffisants ? Pourquoi investir du temps et des ressources dans la méthodologie d’un outil comme Xray et in fine dans la gestion des paramètres ?”
Comment le Test Case Designer améliore-t-il la qualité des tests ?
Tout d’abord, penchons-nous sur la plus-value des paramètres dans la conception des scénarios de test.
Les risques étant identifiés, il en résulte la définition d’exigence et de règles métiers spécifiées. Pour les satisfaire, des critères d’acceptation sont implémentés et il en résulte des paramètres associés aux règles métiers qui permettront de les valider. Les paramètres sont utilisés pour la plupart dans des cas de tests génériques que l’on différencie en utilisant des valeurs rattachées dans un jeu de données.
Voici les raisons vraiment valables qui doivent vous amener à les utiliser :
Variété des Scénarios deTest case designer :
Les jeux de données permettent de tester différentes variations et combinaisons de paramètres, de valeurs d’entrée et de conditions pour garantir que le logiciel réagit correctement dans diverses situations.
On peut prendre comme exemple un système de gestion des utilisateurs, dont le jeu de données pourrait inclure des profils avec des rôles, des autorisations d’accès et des données personnelles variées.
Tests de Performance :
Les jeux de données sont également pertinents dans le cadre des tests de performance.
Par exemple, lors des tests de charge, différents jeux de données peuvent être utilisés pour simuler des charges de travail variables et évaluer la réactivité et la stabilité de l’application en listant des personnas spécifiques associés à des threads d’exécution complets.
Données Réelles vs. Données Fictives :
Les jeux de données peuvent contenir des données réelles extraites de la base de données de production (anonymisées pour protéger la confidentialité) ou des données fictives spécialement créées pour les tests.
Automatisation des Tests :
Les jeux de données sont chargés dans des scripts de test automatisés pour pouvoir couvrir de façon la plus complète et structurée les différents cas d’usage en termes de profil, données, configuration et permettent de réduire drastiquement le nombre de test à développer.
Répétabilité :
L’utilisation de jeux de données bien définis permet de reproduire les tests de manière cohérente et surtout faciliter la maintenance des tests incohérents ( flaky tests).
Limites des jeux de données standards
Les jeux de données, en tant que tels, ne suffisent pas nécessairement, il faut avoir une approche combinatoire et appliquer des contraintes spécifiques pour qu’ils soient optimaux.
Dans les systèmes complexes, les problèmes ne se manifestent souvent que lorsque certaines conditions spécifiques sont remplies. En utilisant des contraintes et des combinaisons spécifiques, on peut donc cibler ces conditions pour identifier les problèmes plus rapidement. Il est donc fort probable que le nombre de test soit supérieur si on veut couvrir toutes les combinaisons possibles afin de minimiser les risques.
Le Test Case Designer a combiné toute cette approche et permet vraiment de passer au niveau supérieur en termes de conception des cas de tests. Les tests existants avec des jeux de données standards ont souvent des lacunes, comme des doublons, des valeurs manquantes ou des valeurs par défaut. Pour obtenir une comparaison précise, il est recommandé de remplir les valeurs manquantes avec les données réelles des journaux d’exécution ou d’utiliser les valeurs par défaut lorsque cela est impossible.
Avantages du Test case designer
Les fonctionnalités du TCD sont essentielles pour comprendre pourquoi il est supérieur aux tests standards que l’on peut écrire.
Voici un aperçu de ces fonctionnalités :
Paramètres du Test case designer
Cette section nous permet de définir des paramètres spécifiques pour nos tests, ce qui facilite la personnalisation de nos scénarios.
Chaque paramètre peut avoir différentes valeurs, ce qui permet de créer des combinaisons de tests variées pour couvrir un large éventail de situations potentielles.
Règles du Test Case Designer
Contraintes :
Dans ce menu, on peut créer des contraintes d’inclusion ou d’exclusion qui permetent de spécifier d qu’une certaine combinaison de valeurs ne se produit pas ( ou l’inverse), ce qui est essentiel pour valider la conformité et s’assurer de respecter les règles métiers.
Interactions forcées :
Cette fonctionnalité vous permet de spécifier des interactions obligatoires ( à partir d’un template) entre les paramètres, garantissant ainsi une couverture complète.
Si notre application nécessite que certaines fonctionnalités soient activées ou désactivées en même temps, les interactions forcées s’assureront que ces possibilités sont implémentées.
Scénarios
Les scénarios générés par le TCD sont optimisés pour une couverture maximale avec un nombre minimal de tests en adoptant la méthode pairwise en permettant même de spécifier des interactions mixtes.
On peut paramétrer les interactions pour décider du nombre total des combinaisons tout en garantissant une couverture adéquate des interactions critiques.
Scripts TCD
Dans cette section, la liberté est de mise et permet d’écrire des tests manuels adéquats en s’inspirant des exigences de départ.
En combinant cela aux scénarios pairwise, on obtient une liste exhaustive et complète des cas de tests qui permettront de maximiser la satisfaction de la matrice de risques.
Les tests manuels obéissent à la même logique et on peut intégrer soit du Gherkin ou même du RobotFramework.
Analyse
L’ensemble des éléments précédemment conçus débouchent sur des outils d’analyse avancés puissants pour évaluer la qualité des tests.
Matrice de Couverture
La matrice de couverture vous permet de visualiser la relation entre les tests et les fonctionnalités de votre application. Elle indique quels scénarios de test couvrent quelles parties de votre logiciel. Cela vous aide à identifier les zones qui ont été testées de manière exhaustive et celles qui nécessitent une attention supplémentaire.
Graphique de Couverture
Le graphique de couverture représente graphiquement le nombre d’interaction avec le nombre de tests. Cela permet de prendre des décisions éclairées sur l’ajout ou la suppression de tests pour optimiser la couverture selon la stratégie adoptée.
La combinatoire donne un graphe logarithmique du fait de la combinaison des interactions.
Il existe aussi des fonctions de partage de projets et différents exports possibles.
Conclusion du Test Case Designer (TCD)
Le Test Case Designer (TCD) représente une avancée significative pour l’amélioration de la qualité et de la performance des logiciels.
Cette approche met l’accent sur la personnalisation des scénarios de test en utilisant des paramètres et des jeux de données, ce qui présente plusieurs avantages essentiels. Le TCD va au-delà en offrant des fonctionnalités avancées pour personnaliser les tests. On peut définir des paramètres spécifiques, créer des règles métiers, et gérer les interactions entre les paramètres.
Les scénarios générés sont optimisés pour une couverture maximale avec un minimum de tests, ce qui est particulièrement précieux dans les environnements logiciels complexes.
L’analyse est également simplifiée grâce à des outils puissants, tels que la matrice de couverture et le graphique de couverture, qui permettent d’évaluer la qualité des tests et d’identifier les zones nécessitant une attention particulière. Cette nouvelle fonctionnalité représente une solution complète pour l’optimisation des tests, améliorant la qualité, la couverture, la répétabilité et l’efficacité des tests. Dans l’absolu, les concepts abordés et implémenté dans cet outil sont incontournables pour garantir la fiabilité et la performance du patrimoine, tout en rationalisant les processus de test.
Approfondir avec la formation XRAY
Un merci à Julien Mer pour cet article, expert reconnu dans le domaine des tests logiciels.
Si vous êtes intéressé à approfondir le sujet et à explorer davantage l’outil XRAY, Audrey Kudisa, notre experte sur le sujet, propose un programme dédié pour maîtriser XRAY de A à Z !
Cette formation vous permettra de maîtriser pleinement l’outil et d’optimiser vos processus de tests. N’hésitez pas à nous contacter pour plus d’informations et pour réserver votre place.