Logo
  • A propos
  • Blog
  • Services
  • Media
  • Contact
Contactez-nous !

Le guide des heuristiques pour le test exploratoire

Date publication
Feb 17, 2025

Le guide des heuristiques pour le test exploratoire

Je vous propose une série d’articles sur le test exploratoire.

Cette série d’articles explore en 5 parties les thèmes suivant :

  1. Explication du test exploratoire,
  2. Un guide des heuristiques pour mieux maitriser le test exploratoire (cet article),
  3. Comment utiliser le test exploratoire pour définir son plan de test pour un produit sans spécification ?
  4. Comment effecteur du test exploratoire sur des APIs ?
  5. Comment automatiser nos tests exploratoires ?
image

La charte de test, un outil indispensable

Description

La charte de test, introduite par Maaret Pyhäjärvi, propose une approche structurée mais flexible pour organiser les tests exploratoires. Elle repose sur la création d’une charte qui guide une session de test tout en laissant de la place à la découverte et à l’adaptation en temps réel.

La charte permet de répondre aux questions essentielles : quoi tester, comment le tester, et pourquoi le tester, tout en maintenant une focalisation sur des objectifs précis. Cela offre un cadre clair pour documenter les résultats, tout en favorisant la créativité du testeur.

Structure d’une charte de test

La charte de test se compose généralement des éléments suivants :

  1. Objectif (mission de test) :
    • Quelle partie du produit souhaitez-vous explorer ?
    • Quel est le résultat attendu ?
    • Exemple : "Valider que la gestion des utilisateurs respecte les règles de confidentialité lorsqu’un administrateur ajoute de nouveaux membres."
  2. Focalisation :
    • Quelles fonctionnalités, types de données ou scénarios spécifiques souhaitez-vous tester ?
    • Exemple : "Explorer les scénarios où l’utilisateur n’a pas tous les droits nécessaires."
  3. Approche (Idées et outils) :
    • Quelles techniques de test ou outils allez-vous utiliser ?
    • Exemple : "Utiliser des comptes avec différents niveaux de privilèges pour tester les droits d’accès."
  4. Contraintes ou limites :
    • Y a-t-il des restrictions pour cette session ?
    • Exemple : "Tester uniquement avec des navigateurs supportés officiellement (Chrome et Firefox)."
  5. Critères de réussite :
    • Comment saurez-vous que votre test a atteint son objectif ?
    • Exemple : "Confirmer que les utilisateurs non autorisés ne peuvent ni lire, ni modifier des données sensibles."
  6. Données d’entrée :
    • Quelles données ou configurations initiales seront nécessaires pour ce test ?
    • Exemple : "Créer 3 types de comptes : administrateur, utilisateur standard et invité."
  7. Évaluation des résultats :
    • Comment interpréterez-vous les observations et résultats des tests ?
    • Exemple : "Noter les anomalies dans les permissions accordées aux différents comptes."

Afin de mieux structurer votre charte et vos sessions de tests exploratoires, il est possible de s’appuyer sur des heuristiques de tests.

Qu'est-ce qu'une heuristique et pourquoi est-elle essentielle en test exploratoire ?

En test exploratoire, une heuristique est une règle empirique ou une méthode pratique qui aide les testeurs à structurer leur approche et à découvrir des problèmes potentiels dans un logiciel. Contrairement à des scénarios prédéfinis, les heuristiques permettent une exploration flexible tout en restant guidé par des concepts clés.

Pourquoi utiliser des heuristiques ?

  • Structure et inspiration : Les heuristiques donnent une direction dans des situations complexes ou ambiguës.
  • Optimisation du temps : Elles permettent de maximiser la couverture des tests avec des ressources limitées.
  • Identification des risques : Les heuristiques aident à cibler rapidement les zones les plus susceptibles de contenir des défauts.

Utiliser des heuristiques dans le test exploratoire, c'est combiner la créativité et l'efficacité pour délivrer un logiciel de meilleure qualité. Voici les heuristiques les plus couramment utilisées, leurs auteurs et des exemples concrets pour chaque cas.

1. SFDPOT - James Bach et Michael Bolton

Description

SFDPOT est une heuristique clé du Rapid Software Testing. Elle propose d'explorer le produit à travers six axes majeurs :

  • Structure : La composition interne du produit (UI, base de données, API).
  • Fonctions : Les actions que le produit peut exécuter.
  • Données : Les types et volumes de données traitées.
  • Plateformes : Les environnements supportés (OS, navigateurs, appareils).
  • Opérations : Les interactions des utilisateurs.
  • Temps : Les aspects temporels, comme les performances ou les délais.

Exemple concret

Pour une application de gestion de calendriers :

  • Structure : Testez les vues (mois, semaine, jour) et la synchronisation avec une base de données cloud.
  • Fonctions : Créez, modifiez et supprimez des événements.
  • Données : Essayez avec des événements contenant des caractères non latins ou des émoticônes.
  • Plateformes : Testez sur Android, iOS et un navigateur web.
  • Opérations : Simulez un utilisateur ajoutant rapidement plusieurs événements successifs.
  • Temps : Testez les performances lors de l'importation d'un calendrier contenant 10 000 événements.

2. FEW HICCUPPS - James Bach

Description

FEW HICCUPPS est une heuristique qui détecte des problèmes courants dans les logiciels :

  • Functionality : Les fonctions du produit.
  • Errors : Les erreurs et crashs possibles.
  • Workflow : La fluidité des processus.
  • Heuristic : Respect des règles empiriques.
  • Images : Qualité visuelle.
  • Compatibility : Environnements variés.
  • Configuration : Paramètres utilisateurs.
  • Usability : Intuitivité.
  • Performance : Réactivité et rapidité.
  • Platforms : Fonctionnement sur différentes plateformes.
  • Security : Protection des données.

Exemple concret

Pour un site e-commerce :

  • Functionality : Les articles peuvent-ils être ajoutés au panier ?
  • Errors : Les pages d’erreur contiennent-elles des messages clairs ?
  • Workflow : La navigation entre le catalogue et le paiement est-elle fluide ?
  • Usability : L’interface mobile est-elle ergonomique ?
  • Performance : Le site charge-t-il rapidement pendant les soldes ?
  • Security : Les transactions par carte bancaire sont-elles chiffrées ?

3. FCC CUTS VIDS - Michael Bolton

Description

Cette heuristique guide les types de tests exploratoires à effectuer :

  • Functions : Fonctions principales.
  • Compatibility : Environnements divers.
  • Configuration : Paramètres.
  • Usability : Expérience utilisateur.
  • Time : Performances.
  • Security : Protection des données.
  • Values : Données par défaut.
  • Installation : Processus d'installation.
  • Data : Manipulation des données.
  • Structure : Composition interne.

Exemple concret

Pour une application de visioconférence :

  • Functions : Les réunions peuvent-elles être planifiées et lancées ?
  • Compatibility : L'application fonctionne-t-elle sur plusieurs OS ?
  • Usability : Les icônes sont-elles intuitives ?
  • Security : Les appels sont-ils chiffrés de bout en bout ?

4. Tour-based Testing - James A. Whittaker

Description

Le Tour-based Testing, introduit par James A. Whittaker dans le livre Exploratory Software Testing, propose de structurer les tests exploratoires en tours thématiques. Chaque tour représente une manière spécifique d'explorer le produit en se concentrant sur un objectif précis ou une perspective particulière. Cette méthode s'inspire de l'idée que les testeurs jouent des rôles variés, comme des explorateurs dans un environnement inconnu.

Les différents types de tours

  1. Tour de la carte :
    • Objectif : Obtenir une vue d'ensemble des fonctionnalités disponibles.
    • Approche : Parcourir l’application comme si vous exploriez une carte inconnue.
    • Exemple concret : Pour un outil de gestion de projet, naviguez entre les différents onglets (tableaux Kanban, rapports, calendrier) pour comprendre les connexions entre eux.
  2. Tour du guide :
    • Objectif : Tester l’accompagnement utilisateur (tutoriels, guides, messages d’aide).
    • Approche : Simuler un nouvel utilisateur cherchant à comprendre le fonctionnement du produit.
    • Exemple concret : Sur une plateforme d'apprentissage en ligne, suivez les tutoriels pour un cours spécifique et évaluez s’ils couvrent toutes les étapes nécessaires.
  3. Tour des ruines :
    • Objectif : Identifier des zones du logiciel négligées, inachevées ou obsolètes.
    • Approche : Explorez les fonctionnalités moins utilisées, les anciennes versions ou des modules rarement testés.
    • Exemple concret : Dans un système de gestion de stocks, testez une ancienne fonctionnalité d'exportation de données Excel et vérifiez si elle fonctionne encore avec des volumes de données importants.
  4. Tour des backdoors :
    • Objectif : Identifier les failles de sécurité ou les contournements possibles des restrictions.
    • Approche : Cherchez des moyens non documentés ou inattendus d’accéder à des données ou des fonctionnalités sensibles.
    • Exemple concret : Dans une application de messagerie, essayez d'envoyer un message sans authentification en manipulant directement les requêtes API.
  5. Tour de la salle de torture :
    • Objectif : Pousser l’application à ses limites.
    • Approche : Testez les cas extrêmes, comme les tailles de données inhabituelles, les utilisateurs multiples ou les interruptions fréquentes.
    • Exemple concret : Dans une application de streaming, ouvrez plusieurs vidéos en parallèle sur différents appareils et évaluez les impacts sur la performance et la synchronisation.
  6. Tour de la rue commerçante :
    • Objectif : Se concentrer sur l’expérience utilisateur et la convivialité.
    • Approche : Explorez le produit comme un consommateur cherchant des informations ou des fonctionnalités attrayantes.
    • Exemple concret : Sur un site e-commerce, simulez un utilisateur cherchant un produit spécifique, évaluant la clarté de la recherche et du processus de paiement.

Ces tours offrent une manière structurée de conduire des tests exploratoires tout en s’adaptant aux besoins spécifiques d’un projet ou d’un produit.

5. Personas et Scénarios d’Utilisation - Maaret Pyhäjärvi

Description

Maaret Pyhäjärvi propose d’utiliser les personas pour enrichir les tests exploratoires. Les personas sont des représentations fictives de profils utilisateurs, conçues pour refléter des besoins, comportements et objectifs réels. Ces personnages aident les testeurs à se mettre à la place de différents types d’utilisateurs et à anticiper leurs expériences uniques.

Élaboration des personas

Pour créer un persona, suivez ces étapes :

  1. Identifiez les types d’utilisateurs principaux : Collectez des données sur les groupes cibles.
  2. Définissez les caractéristiques du persona : Créez un profil avec un nom, une photo fictive et des attributs détaillés (niveau d’expérience, objectifs, frustrations).
  3. Associez un scénario d’utilisation : Imaginez une situation spécifique dans laquelle le persona interagit avec le produit.

Exemples concrets

Prenons une application de gestion de tâches :

  1. Persona 1 : Marie, débutante en gestion de projet
    • Profil : Marie est une freelance qui débute dans la gestion de projets. Elle recherche un outil simple avec une prise en main rapide.
    • Scénario : Marie souhaite organiser un projet en ajoutant des tâches et des échéances.
    • Test exploratoire : Simulez une première utilisation en suivant le tutoriel. Évaluez si les fonctionnalités essentielles sont accessibles en quelques clics.
  2. Persona 2 : Paul, chef de projet expérimenté
    • Profil : Paul gère une équipe de 20 personnes et utilise des outils complexes pour suivre les dépendances entre tâches.
    • Scénario : Paul crée un projet complexe avec plusieurs sous-tâches et dépendances.
    • Test exploratoire : Testez les limites de l’outil pour gérer un projet avec des dizaines de tâches imbriquées et évaluez la clarté des relations.
  3. Persona 3 : Éric, utilisateur occasionnel
    • Profil : Éric utilise l’outil une fois par mois pour des projets personnels. Il oublie souvent comment naviguer dans l’application.
    • Scénario : Éric revient après un mois pour mettre à jour un projet existant.
    • Test exploratoire : Testez la facilité de navigation pour un utilisateur peu fréquent et la clarté des labels et icônes.

Scénarios avancés

Pyhäjärvi suggère d’ajouter des contraintes ou des événements imprévus pour enrichir les tests :

  • Marie : Ajoutez une tâche en mode hors connexion et testez la synchronisation au retour en ligne.
  • Paul : Modifiez une dépendance critique en pleine réunion, sous pression, et vérifiez la réactivité de l’outil.
  • Éric : Explorez les messages d’erreur si Éric tente de supprimer par erreur une tâche importante.

Si vous voulez découvrir d’autres heuristiques de test vous pouvez aller sur ce site.

A retenir

Les heuristiques sont des outils puissants pour structurer et enrichir vos tests exploratoires. Chaque heuristique présente une approche unique et complémentaire, permettant d’étudier différents aspects d’un produit. Choisissez celles qui conviennent à votre contexte et combinez-les pour une couverture optimale.

Plus d’articles comme celui-ci

Automatisation et Tests Exploratoires
Automatisation et Tests Exploratoires
Mar 10, 2025
Réussir une séance de test exploratoire pour des APIs
Réussir une séance de test exploratoire pour des APIs
Mar 3, 2025
Découvrir un produit sans spécifications grâce au Test Exploratoire
Découvrir un produit sans spécifications grâce au Test Exploratoire
Feb 24, 2025
Le guide des heuristiques pour le test exploratoire
Le guide des heuristiques pour le test exploratoire
Feb 17, 2025
L’art du test exploratoire : quand créativité et rigueur se rencontrent
L’art du test exploratoire : quand créativité et rigueur se rencontrent
Feb 10, 2025
Logo

Accueil

Blog

Newsletters

Podcasts

Vidéos

Qui suis-je ?

Shift Op Solutions

Mentorat

Formations

Etat des Lieux

Contact

Copyright © Jean-François Fresi 2024 - Site créé en nocode.

LinkedInYouTubeSpotifyRSS