La complexité des mises en œuvre des jeux de données.
Les tests de non régression sont indispensables pour mettre en production une version de qualité avec, idéalement, aucun bug. Mais ce résultat dépendra en grande partie du patrimoine de test et surtout des jeux de données.
Lors de la mise en œuvre d’un plan de campagne de tests fonctionnels (ou de non régression) il faut constituer le référentiel de test, c’est-à-dire l’ensemble du patrimoine de test nécessaire pour la campagne de tests :
– les exigences de test,
– les plans de test,
– les fiches de test,
– les résultats d’exécutions de test, ..
Les fiches de tests doivent représenter l’ensemble des scénarios et des parcours à mettre en place pour réaliser le plan de tests. Le but est de parcourir le plus de cas d’utilisation de votre développement : logiciel, site internet, application.
Fréquemment un référentiel de tests est associé à un outil qui permet de stocker les données nécessaires tels : Xray, Squash ™, HP Quality Center …
Mais on trouve souvent aussi ;-) la bonne veille feuille Excel, avec multitude d’onglets.
Ces outils permettent, entre autre, de structurer, modéliser les scénarios et les étapes qui les composent. Ce référentiel va permettre de solliciter des prestataires tiers, les automaticiens,.. pour mettre en place l’automatisation des tests.
Le testeur peut alors parcourir le référentiel de tests d’une part et exécuter le scénario, via un outil comme Sélénium (par exemple).
Mais ce scénario n’a de sens et de valeur que s’il est couplé aux jeux de données correspondant.
Le jeux de données est la pierre angulaire qui permet la réalisation et l’exécution de tests lors d’une campagne, avant une mise en production (par exemple). Le jeux de données doit être préalablement intégré dans la base des données pour conduire le scénario. Si l’on veut pouvoir exécuter le scénario ci-dessus il nous faut, à minima :
Avec ces données nous pouvons lancer un scénario conditionnel et exécuter notre test de non régression. Les jeux de données sont stratégiques pour permettre la bonne exécution du référentiel de tests, mais plus encore : au fur et à mesure que l’on exécute les tests on “grille” des jeux de données. En effet une fois le test exécuté, est-ce que le jeu de données est toujours exploitable ? Dans notre cas, une fois que la pièce jointe a été importée dans la base, est-il possible d’importer une pièce du même nom ? De même, si pour un autre scénario le prospect devient client lors de la validation d’un devis, il deviendra impossible de valider l’étape “Demander la création d’un prospect”.
Dans les faits, pour permettre d’avoir un processus itératif d’exécution d’une campagne de tests de non régression avant une mise en production, il faut que les jeux de données puissent être compatibles avec l’exécution de la campagne.
On ne le dira jamais assez, mais si vous êtes amené à reproduire vos tests plusieurs fois, repartez toujours du jeu d’origine et non de la base enrichie au fur et à mesure de vos tests. Cela vous évitera de potentiellement générer des erreurs non liées à la fonction.
Les jeux de données sont clés car au fur et à mesure que l’on avance dans la campagne de non régression il y a des jeux de données qui ne sont plus utilisables. La base de données sur laquelle s’exécute la campagne n’est plus compatible et les tests remonteront des défauts qui ne sont pas dus à un bug mais à un problème de jeux de données.
Pour conclure.
Pour illustrer nos propos nous avons utilisé un cas relativement simple. Mais les données nécessaires à l’exécution des tests peuvent être nombreuses et doivent être traitées comme un véritable sous -projet de la campagne de tests. Pour minimiser les erreurs, partez toujours de vos scénarios et consolidez votre jeu de données scénario par scénario. Et, une fois la base constituée, figée-là en la sauvegardant comme étant là :
« Base de données de la campagne TNR X.XX de la version Y.YY de l’application ».
Pour toute CETTE phase de tests vous n’aurez plus qu’à l’importer pour réexécuter vos tests !
Vous avez beau avoir : Le patrimoine, Le référentiel, Une équipe au top, si vous ne mettez pas les moyens (humains et financier) pour élaborer des versions de jeux de données compatibles avec vos campagnes de tests, vous serez dans l’incapacité de maintenir en conditions opérationnelles vos tests. Vos livraisons verront alors leur qualité se dégrader au fur et à mesure.
CloudNetCare
Pour que chaque clic soit une expérience réussie
On pilote vos tests, vous gardez le contrôle !
Grâce à notre expertise, vos applications et sites web restent fluides, sans bugs ni frictions, vous permettant de vous concentrer sur votre innovation et garantir ainsi une expérience utilisateur irréprochable.
Notre cabinet français d’experts en tests logiciels, automatise, gère et analyse vos tests quotidiennement pour détecter et corriger les dysfonctionnements avant qu’ils n’affectent vos utilisateurs.