Le test exploratoire : trouver les bugs que personne n’imagine

Chartes, sessions chronométrées, heuristiques et « tours » : la méthode pas à pas pour trouver les bugs qu’aucun scénario de test n’avait prévus.

Sommaire

Imaginez une application de livraison de repas. Le scénario de test disait : ajouter un plat, payer par mobile money, vérifier la confirmation. Tout est passé au vert. Puis une cliente valide son paiement, perd le réseau dans le taxi, rouvre l’application… et paie une seconde fois une commande que le système croyait encore en attente.

Aucun script n’avait prévu ce chemin. C’est le terrain du test exploratoire : on apprend l’application en la testant, et chaque découverte oriente le test suivant. Ce n’est pas « cliquer au hasard ». C’est une méthode, avec une mission, un chronomètre et des notes.

Dans ce guide, vous apprendrez à écrire une charte de test, à mener une session chronométrée, à puiser des idées dans des heuristiques et des « tours » reconnus par la communauté, puis à transformer vos trouvailles en rapports utiles.

Qu’est-ce que le test exploratoire, exactement ?

Définition

Test exploratoire : une approche dans laquelle le testeur conçoit, exécute et évalue ses tests en même temps, au fil de ce qu’il apprend de l’application et des résultats précédents. (D’après le glossaire de l’ISTQB (nouvel onglet).)

Le test scénarisé ressemble à une recette suivie à la lettre. Le test exploratoire ressemble au cuisinier qui goûte, ajuste, puis goûte encore. Le tableau ci-dessous compare les deux approches.

CritèreTest scénariséTest exploratoire
PréparationÉtapes et résultats attendus écrits à l’avanceUne mission et une durée ; les étapes s’inventent sur place
Ce qu’il trouve le mieuxLes écarts par rapport au prévuLes problèmes que personne n’avait prévus
Point fortRépétable, facile à déléguer et à automatiserRapide à lancer, s’adapte à ce qu’on découvre
Point faibleS’use : rejoué à l’identique, il trouve de moins en moinsDépend beaucoup de l’habileté du testeur

Le syllabus de l’ISTQB le juge utile quand les spécifications sont rares ou incomplètes, quand le temps presse, et en complément des techniques plus formelles. Il ajoute qu’il réussit mieux à un testeur expérimenté, qui connaît le domaine et fait preuve de curiosité, de créativité et d’esprit d’analyse. Bonne nouvelle : tout cela s’apprend. Pour situer cette technique parmi les autres, voyez notre carte des types de test.

Comment écrire une bonne charte de test ?

Une charte (test charter) est la mission qui guide une session d’exploration. Elle dit où regarder et pourquoi, sans dicter chaque geste.

Elisabeth Hendrickson, dans son livre Explore It! (2013), a popularisé un modèle en trois parties :

Explorer <la cible>
avec <les ressources>
pour découvrir <l'information recherchée>

La cible est la zone à explorer. Les ressources sont vos leviers : données, outils, conditions, appareils. L’information est ce que vous voulez apprendre. Voici trois chartes pour notre application de livraison :

  • Explorer le paiement mobile money avec des coupures réseau et le bouton retour pour découvrir si une commande peut être payée deux fois, ou pas du tout.
  • Explorer la saisie d’adresse avec des quartiers sans nom de rue, des repères (« derrière la pharmacie ») et des textes très longs pour découvrir si le livreur reçoit une adresse exploitable.
  • Explorer le suivi de commande avec un téléphone de 2 Go de RAM et l’économiseur de batterie activé pour découvrir si le statut reste à jour.

Une charte trop précise devient un cas de test déguisé. Une charte trop large (« explorer l’application pour trouver des bugs ») ne vous dit jamais quand vous avez fini. Visez une zone que vous pouvez couvrir en une à deux heures.

Astuce

Où trouver des idées de chartes ? Dans ce qui vient de changer, dans les avis du store, dans les plaintes du service client, dans les zones où l’argent circule, et dans la réponse à cette question posée au responsable du produit : « Qu’est-ce qui vous empêcherait de dormir si ça cassait ? »

Comment se déroule une session chronométrée ?

En 2000, Jonathan Bach a décrit, avec son frère James, la gestion du test par sessions (Session-Based Test Management). Leur idée : rendre l’exploration mesurable sans l’étouffer. Une session est un bloc de temps sans interruption, consacré à une charte, et qui laisse une trace relisible : la feuille de session.

Dans leur équipe, une session durait environ quatre-vingt-dix minutes ; une session courte, plutôt quarante-cinq ; une longue, près de deux heures. Chaque session se terminait par un débriefing, une courte discussion entre le testeur et son responsable. Le syllabus de l’ISTQB reprend ce schéma : durée limitée, charte, débriefing et feuille de session.

Voici le déroulé que nous conseillons pour une session de 75 minutes :

  1. Préparer (5 à 10 minutes). Relisez la charte. Préparez l’appareil, les comptes et les données de test, l’enregistrement d’écran. Activez « Ne pas déranger ».
  2. Survoler (10 minutes). Faites un premier passage pour dresser la carte de la zone : écrans, champs, boutons, états.
  3. Creuser (40 à 50 minutes). Variez les données, l’ordre, le rythme, les conditions. Suivez les pistes qui sentent le problème.
  4. Conclure (10 minutes). Relisez vos notes, isolez les bugs, listez les questions et ce que vous n’avez pas couvert.
  5. Débriefer (10 à 15 minutes). Racontez la session à la personne responsable et décidez ensemble des chartes suivantes.

Les Bach demandaient aussi d’estimer la part du temps passée à tester, à enquêter sur les bugs et à préparer la session. Si l’enquête dévore votre temps, la version est peut-être trop instable pour être explorée : un smoke test aurait dû l’arrêter avant.

Et si vous tombez sur un problème grave hors de votre charte ? Suivez-le s’il le mérite : la méthode prévoit ce temps « d’opportunité ». Notez simplement la part qu’il a prise.

Quelles heuristiques et quels « tours » pour trouver des idées ?

Une heuristique est une règle empirique : elle ne garantit rien, mais elle donne souvent une bonne piste. En exploration, elle sert à ne jamais être à court d’idées.

Les tours : visiter l’application comme un touriste

Un tour est une série de tests exploratoires organisée autour d’un thème. La métaphore circulait déjà chez plusieurs auteurs ; Michael Kelly en a publié une liste dès 2005, sous le moyen mnémotechnique FCC CUTS VIDS, et James Whittaker l’a popularisée en 2009 dans Exploratory Software Testing, en rangeant ses tours par « quartiers » d’une ville. Voici des tours de Whittaker appliqués à notre application de livraison :

TourL’idéeSur l’application de livraison
Money tourTester ce qui fait vendre le produitCommander et payer en trois gestes, comme dans la publicité
Landmark tourVisiter les fonctions clés dans des ordres variésPanier, puis profil, puis recherche, puis retour au panier
FedEx tourSuivre une donnée de son entrée à sa sortieL’adresse saisie : récapitulatif, écran du livreur, reçu par SMS
Garbage collector’s tourPasser en revue tous les éléments d’un même genreDéclencher chaque message d’erreur, ouvrir chaque menu
Back alley tourVisiter les fonctions peu utiliséesChanger de numéro, de langue, supprimer son compte
SaboteurPriver l’application de ce dont elle a besoinCouper les données, saturer le stockage, refuser la localisation
Obsessive-compulsive tourRépéter la même actionToucher « Payer » cinq fois de suite sur un réseau lent
Rained-out tourLancer une opération, puis l’annulerAnnuler pendant la saisie du code mobile money

Les aide-mémoire : SFDIPOT et compagnie

Dans son Heuristic Test Strategy Model, James Bach décrit sept familles d’éléments du produit, résumées par l’acronyme SFDIPOT. Chacune pose une question :

  • Structure : de quoi le produit est-il fait (code, services, fichiers) ?
  • Fonction : que fait-il (règles métier, calculs, gestion des erreurs) ?
  • Données : que traite-t-il (zéro, un, beaucoup ; trop grand ; invalide) ?
  • Interfaces : par où y accède-t-on (écrans, API, import, export) ?
  • Plateforme : de quoi dépend-il (système, navigateur, mémoire, réseau) ?
  • Opérations : comment les gens s’en servent-ils, normalement ou maladroitement ?
  • Temps : que se passe-t-il avec les délais, les fuseaux horaires, la lenteur, les actions simultanées ?

Elisabeth Hendrickson propose aussi une « antisèche » d’heuristiques de test en annexe de son livre. Gardez l’une de ces listes ouverte pendant vos sessions : quand l’inspiration baisse, piochez-y une ligne.

Comment prendre des notes pendant l’exploration ?

Une exploration sans notes n’est qu’une promenade. Les notes servent à reproduire les bugs, à montrer ce qui a été couvert et à nourrir le débriefing. La feuille de session des Bach comportait la charte, le testeur, la date et l’heure, la répartition du temps, les fichiers de données, les notes de test, les questions (issues) et les bugs. Voici un modèle prêt à copier :

CHARTE   : Explorer ... avec ... pour découvrir ...
TESTEUR  : ...        DATE : ...        DÉBUT : ...        DURÉE : ... min
APPAREIL : Android 12, 2 Go de RAM, écran 6,5 pouces - réseau 3G instable
DONNÉES  : compte de test n° 2, solde fictif 15 000 FCFA

NOTES (horodatées)
14:12  Paiement normal OK, confirmation en 6 s
14:20  Coupure réseau après le code PIN -> chargement sans fin

BUGS         B1 ...   B2 ...
QUESTIONS    Q1 ...
IDÉES        I1 (prochaine charte) ...
TEMPS        test 60 % / enquête 30 % / préparation 10 % - hors charte 15 %
NON COUVERT  ...

Trois habitudes font la différence :

  • Horodatez chaque note : vous retrouverez vite le bon moment dans l’enregistrement d’écran.
  • Notez ce que vous n’avez pas testé : c’est aussi précieux que ce que vous avez testé.
  • Préfixez vos lignes (B pour bug, Q pour question, I pour idée) : le tri de fin de session prend deux minutes.

À quoi ressemble une session complète sur une application de livraison ?

Exemple

Application : « Plat Express », une application fictive de livraison de repas à Douala.

Charte : explorer le paiement mobile money et le suivi de commande avec un réseau instable et un Android de 2 Go de RAM, pour découvrir les situations où la commande et le paiement ne sont plus d’accord.

Le tableau suivant résume la session de 75 minutes, étape par étape.

MinutesCe que fait la testeuseCe qu’elle observe
0-8Prépare le compte de test, l’enregistrement d’écran, coupe les notifications—
8-20Money tour : commande normale, paiement, suiviTout fonctionne ; confirmation en 6 secondes
20-35Saboteur : coupe les données juste après le code PINChargement sans fin. Après réouverture, commande « en attente » alors que le SMS de l’opérateur confirme le débit (B1, critique)
35-45Obsessive-compulsive tour : touche « Payer » trois fois, réseau lentDeux demandes de paiement partent (B2, majeur)
45-55FedEx tour : adresse « Carrefour Ndokoti, derrière l’école » suivie jusqu’à l’écran du livreurApostrophe et accents mal affichés chez le livreur (B3, mineur)
55-65Hors charte : appel entrant pendant le paiementRetour à un panier vide : normal ou non ? (Q1)
65-75Tri des notes, reproduction de B1 (2 fois sur 3), liste du non-couvertRemboursement et pourboire non testés

Bilan : trois bugs, une question, deux nouvelles chartes (le remboursement après un échec, le pourboire). Au débriefing, l’équipe décide de corriger B1 et B2 avant la sortie, et d’ajouter le scénario de coupure réseau à sa liste de régression.

Comment rapporter ce que vous avez trouvé ?

L’exploration ne vaut que si quelqu’un agit ensuite. Trois livrables comptent.

Les rapports de bug. Avant d’écrire, reproduisez : un bug « qui arrive parfois » n’aide personne. Réduisez les étapes au minimum, indiquez la fréquence (« 2 fois sur 3 »), l’appareil, la version, le réseau, et joignez la capture ou la vidéo. Notre guide du rapport de bug efficace détaille chaque champ.

Le débriefing. En dix minutes, répondez à cinq questions : qu’ai-je couvert ? Qu’ai-je trouvé ? Qu’est-ce qui m’a freiné ? Que reste-t-il à explorer ? Quel risque m’inquiète le plus ?

Les tests à garder. Un bug trouvé en exploration mérite souvent un test écrit, voire automatisé, pour qu’il ne revienne jamais. L’exploration découvre ; le script protège.

Attention

Les erreurs les plus fréquentes : partir sans charte, explorer deux heures sans prendre une note, ne tester que le chemin idéal, et rapporter « ça bugue » sans étapes ni appareil. Un développeur qui ne peut pas reproduire ne peut pas corriger.

Liste de contrôle

À faire dès aujourd’hui, en 45 minutes :

L’exploration est l’une des compétences qui distinguent un vrai testeur d’un simple exécutant. Si vous voulez en faire une activité rémunérée, lisez comment devenir testeur d’applications, puis rejoignez les testeurs GeekTest.

À retenir

  • Le test exploratoire conçoit, exécute et évalue les tests en même temps : ce n’est pas du hasard, c’est un apprentissage dirigé.
  • Une charte tient en une phrase : explorer une cible, avec des ressources, pour découvrir une information.
  • Une session est un bloc sans interruption, de 45 minutes à 2 heures, suivi d’un débriefing.
  • Les tours et les aide-mémoire comme SFDIPOT évitent la panne d’idées.
  • Des notes horodatées et des bugs reproduits transforment l’exploration en décisions.

Pour aller plus loin

Partager cet article

L’auteur

Donchi

Donchi écrit les guides de l’Académie GeekTest, l’espace d’apprentissage de la plateforme de testeurs de Geek Institut : des conseils concrets pour sortir des applications fiables et faciles à utiliser, et pour progresser comme testeur.

Et maintenant ?

Ne manquez aucun article

Chaque nouvel article de l’Académie est annoncé sur la chaîne WhatsApp GeekTest. Rejoignez-la et abonnez-vous : des conseils de test utiles, sans spam.

Rejoindre la chaîne WhatsApp (nouvel onglet)

Devenez testeur

Testez des applications sur votre téléphone ou votre ordinateur, mettez en pratique ce que vous apprenez ici, et soyez rémunéré.

Devenir testeur

Un projet d’application ?

L’équipe de développement de Geek Institut conçoit et réalise des applications web et mobiles, de l’idée à la publication. Parlons de votre projet.

Parler de mon projet