Tests exploratoires limitï¿?s dans le temps avec XQual

Tests exploratoires encore plus faciles

Mots-clés :
Tests exploratoires
PDNL
Capitalisation des tests

Résumé : Ce livre blanc présente comment XQual permet de réaliser efficacement des tests exploratoires limités dans le temps 1. Cette pratique ne sert pas uniquement à tester de nouvelles fonctionnalités, mais permet également de transformer et de capitaliser facilement vos tests exploratoires en tests manuels scriptés, grâce à l'utilisation de la Procedure Definition in Natural Language (PDNL) 3 d'XQual.

Avec XQual, vous mesurez également directement la qualité de votre système sous test (SUT) en incluant les résultats de ces tests exploratoires.

Sommaire

Introduction

Que vous construisiez ou mainteniez une solution, ou un ensemble de solutions, quel que soit votre secteur d'activité, vous devez tester les nouvelles fonctionnalités ainsi que celles que vous avez largement modifiées. Dans ce cas, vous ne pouvez pas vous fier uniquement à vos tests existants : les tests de régression ne suffisent pas.

Vous disposez de différentes options cumulables pour vérifier la qualité et valider les fonctionnalités nouvelles ou modifiées :

  • Tests automatisés
  • Tests manuels scriptés
  • Tests exploratoires limités dans le temps
Figure 1 : Tests automatisés, tests manuels scriptés et tests exploratoires

Tests automatisés

Il s'agit de la pratique la plus recommandée.
Elle nécessite de construire un ensemble de tests reproductibles que vous pouvez utiliser dans différentes campagnes : tests de fumée (smoke testing), tests de régression et tests de fiabilité, pour n'en citer que quelques-unes.

Néanmoins, toute personne en charge de l'automatisation des tests sait qu'automatiser en même temps que l'on construit ou modifie une fonctionnalité est difficile, et parfois même inefficace ou trop coûteux. Cela nécessite des exigences et une conception claires et stables. Pour cette raison, les équipes ont tendance à différer l'automatisation (au moins d'une partie des tests) après la démonstration (fin de sprint ou d'itération).

En utilisant un test automatisé hypothétique décrit ci-dessous, le temps total serait de 7h57, incluant l'implémentation, l'exécution et l'analyse.

tests automatisés
Figure 2 : Tests automatisés

Tests manuels scriptés

Les tests manuels scriptés sont plus rapides et moins coûteux à créer que les tests automatisés.
Le plus souvent, il s'agit de la première étape avant l'automatisation des tests.

Cela nécessite le même niveau d'implication et d'information que pour l'automatisation des tests. Cependant, il est clairement plus facile de le réaliser au cours d'un cycle de développement court.
Avec les tests manuels scriptés, ce même test hypothétique ne prendrait que 2h22, incluant la création, l'exécution et l'analyse.

tests standards
Figure 3 : Tests standards

Tests exploratoires limités dans le temps

Avec les tests exploratoires, ce même test scripté hypothétique ne prendrait que 1h53 à créer, exécuter et analyser.

tests exploratoires
Figure 4 : Tests exploratoires

Il ne faut pas la considérer comme une pratique alternative aux tests manuels scriptés ou aux tests automatisés, mais plutôt comme une pratique complémentaire - qui est cependant plus souvent utilisée dans les contextes Agile 2.
Il existe sur le web un ensemble important de documentations faisant autorité sur les tests exploratoires ; nous ne décrirons donc pas cette pratique ici.

Nous expliquerons plutôt :
  • Comment XQual facilite l'utilisation des tests exploratoires.
  • Comment cela réduit considérablement le temps de création des tests manuels scriptés grâce au PDNL d'XQual.
  • Comment cela prend en charge les tests basés sur les risques (Risk Based Testing).


Quand pratique-t-on les tests exploratoires limités dans le temps ?


Il n'y a pas de bon ou de mauvais moment pour pratiquer les tests exploratoires. Cependant, la plupart des équipes s'y engagent généralement lorsqu'il n'existe aucun test (manuel ou automatisé) et que peu de ressources et de temps sont disponibles pour vérifier ou valider de nouvelles fonctionnalités.

Bien souvent, elles ne bénéficient ni de spécifications relues, ni d'un accès direct aux utilisateurs finaux ayant exprimé les besoins.

Dans ce cas, vous assignerez des aspects spécifiques à vérifier à des acteurs disponibles - testeurs, analystes métier, utilisateurs avancés, développeurs... toute partie prenante ayant un intérêt pour la fonctionnalité concernée.

Lorsque nous parlons de « timeboxed » (limité dans le temps), nous entendons que la durée du test doit être limitée (1h à 3h).

Lorsque nous parlons de « tests exploratoires », nous attendons qu'une charte (Quoi ? Pourquoi ? tester), un responsable assigné et l'effort nécessaire à l'exécution du test soient définis en amont.

En reprenant toujours notre test manuel scripté hypothétique, le temps total serait de 2h05, incluant la création, l'exécution et l'analyse.

Comment le faire avec xstudio ?

XQual gère les tests exploratoires sous forme de sessions spécifiques de campagne de test.
Vous créez une session exploratoire, définissez sa charte, assignez des membres de l'équipe et sélectionnez le système sous test (SUT) spécifique sur lequel les tests seront exécutés. Une bonne pratique consiste à indiquer dans la charte le type de risques ou de défaillances que vous craignez de rencontrer, et que vous souhaitez vérifier. Cela guide le « testeur » sans imposer de pratique ou de chemin de test particulier.

Lors de la réalisation de tests exploratoires, il est essentiel de prendre des « notes intelligentes » et il est efficace de déclarer les « anomalies » potentielles au fur et à mesure.

Les « notes intelligentes » sont essentielles car elles permettent aux développeurs de se référer à la session, d'analyser et, éventuellement, de reproduire les anomalies potentielles. Plus les notes sont propres et structurées, plus le travail des développeurs sera facile. À l'inverse, imposer un format et un langage stricts pour la prise de notes nuira à la capacité du « testeur » à se concentrer sur le test lui-même.

Pour cette raison, XQual propose, sans l'imposer, la Procedure Definition in Natural Language (PDNL).

Le PDNL est simple à apprendre et à utiliser. Il s'agit d'une notation descriptive de la séquence de tâches utilisée par un testeur pour rédiger le test :

  • testcase
  • do
  • check
  • and

Le PDNL n'est pas seulement utilisable pour la prise de notes, mais également pour documenter les « étapes de reproduction » d'une anomalie.

Mot-clé Signification
testcase Indique un nouveau cas de test. Un nom pour le cas de test peut être fourni à côté de ce mot-clé.
do Définit des étapes/actions dans la procédure du cas de test.
check Définit des points de vérification dans la procédure du cas de test.
and peut être utilisé après les mots-clés do ou check pour répéter le mot-clé.

Exemple :
L'objectif de cette session est de tester les performances générales du site web :

testcase Temps de chargement de la page d'accueil
do allumer l'ordinateur et ouvrir firefox et naviguer vers https://www.xqual.com
check le site web s'ouvre en moins de 3 secondes et correspond à la mise en page spécifiée.

testcase temps de chargement de la page d'accueil
do allumer l'ordinateur
and ouvrir internet explorer
and naviguer vers https://www.xqual.com
and cliquer sur le menu Documentation
check la page de support se charge en moins de 4 secondes
check la mise en page s'affiche correctement
do cliquer sur le menu Support
check la page de support se charge en moins de 4 secondes
and la mise en page s'affiche correctement.

testcase Compatibilité du site web
do allumer l'ordinateur do ouvrir firefox and naviguer vers https://www.xqual.com
do ouvrir safari and naviguer vers https://www.xqual.com
do ouvrir internet explorer and naviguer vers https://www.xqual.com
do ouvrir chrome and naviguer vers https://www.xqual.com

Comment transformer des tests exploratoires en tests scriptés ?


Une fois qu'un nouveau test exploratoire a été réalisé, vous voudrez souvent faire un débriefing et décider si ce test doit rester ponctuel ou s'il est pertinent de le transformer en un test réutilisable - principalement pour les tests de régression.

C'est là que vous bénéficiez du fait qu'XQual vous permet de traduire les notes de test rédigées en PDNL pour générer automatiquement des tests accompagnés de leurs procédures détaillées. Cela se fait en un rien de temps.

Transformer des notes de test exploratoire en cas de test est tellement pratique que la plupart des clients ont tendance à utiliser les tests exploratoires lors de la conception de nouveaux tests manuels scriptés.
Ce faisant, ils construisent et essaient leurs tests, s'assurent qu'ils répondent aux objectifs de test, puis génèrent les tests scriptés en un clic.

tests exploratoires avec XQual
Figure 5 : Tests exploratoires avec XQual

Du test exploratoire aux tests scriptés avec XQual : 1h25 du début aux premiers résultats

Cela apporte un gain de temps et d'effort important.
nous avons mesuré un gain d'au moins 35 % par rapport à la rédaction traditionnelle de tests manuels scriptés.

comparaison des types de tests
Figure 6 : Comparaison des types de tests

Conclusion :
DE NOMBREUSES ORGANISATIONS UTILISENT LES TESTS EXPLORATOIRES POUR LES TESTS DU « SOMMET DE LA PYRAMIDE » (APRÈS LES TESTS UNITAIRES, D'INTÉGRATION, DE FLUX ET DE CHARGE...).

CEPENDANT, GRÂCE À LA MANIÈRE DONT ILS SONT IMPLÉMENTÉS DANS XSTUDIO, LES ÉQUIPES DE DÉVELOPPEMENT EFFICACES UTILISENT LES TESTS EXPLORATOIRES PENDANT LE SPRINT/L'ITÉRATION POUR VÉRIFIER LES CRITÈRES D'ACCEPTATION DES USER STORIES, TANDIS QUE LES TESTEURS DÉDIÉS ET LES ANALYSTES MÉTIER L'UTILISENT COMME UN OUTIL PRODUCTIF POUR RÉDIGER DE MEILLEURS TESTS MANUELS SCRIPTÉS.

L'UTILISATION DU PDNL D'XQUAL EST ESSENTIELLE À CET ÉGARD, ET AMÉLIORE LA MANIÈRE DONT VOUS POUVEZ DOCUMENTER LES ANOMALIES POUR UNE REPRODUCTIBILITÉ PLUS FACILE. IL EST SIMPLE, EFFICACE ET DEVIENT RAPIDEMENT LE LANGAGE UTILISÉ PAR TOUTES LES PARTIES PRENANTES.

Références :
1 Tests exploratoires : https://www.satisfice.com/blog/archives/1509
2 Agile : https://agilemanifesto.org/
3 PDNL : Procedure Description Natural Language


Try XQual for Free for 30 Days!

No credit card, No install, No Ads and No SPAM.