Published On: 8 novembre 20194,4 min read

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.

Testez plus vite et mieux avec les outils CloudNetCare

Une plateforme SaaS puissante au service de vos développements et de l’expérience de vos utilisateurs. Testez plus vite, plus souvent et mieux avec la plateforme d’automatisation des tests de CloudNetCare.

Testez plus vite
et mieux avec les outils
CloudNetCare

UX Functional testing

Plateforme SaaS de tests de montée en charge

UX Functional testing
UX Functional testing

Testez plus vite et mieux avec
les outils
CloudNetCare

UX Functional testing

Plateforme SaaS de tests de montée en charge

UX Functional testing
UX Functional testing