Qu’est-ce que les tests exploratoires ?

⚡ Résumé intelligent

Les tests exploratoires sont une approche de test où les testeurs conçoivent et exécutent simultanément des cas de test sans les scénariser à l'avance, mettant l'accent sur l'investigation, l'apprentissage et l'intuition du testeur pour découvrir des défauts que les tests scénarisés manquent souvent ; cette approche est largement utilisée dans le développement Agile.

  • 🔍 Définition des tests exploratoires : Les testeurs conçoivent et exécutent les tests à la volée au lieu de les programmer à l'avance.
  • ???? vs Tests scriptés : Les tests scriptés confirment les exigences ; les tests exploratoires examinent et s'adaptent en cours de test.
  • 🧠 Activité de réflexion : Elle met l'accent sur l'apprentissage, la créativité et l'intuition du testeur pour dénicher les bugs cachés.
  • 🇧🇷 Processus SBTM : Taxonomie des bogues, charte de test, délai imparti, résultats de l'examen et débriefing.
  • Meilleur pour : Exigences manquantes, itérations préliminaires, applications critiques et testeurs expérimentés.
  • Compromis : Permet de déceler davantage de bugs et encourage la créativité, mais dépend fortement des compétences du testeur.

Qu'est-ce que les tests exploratoires

Qu’est-ce que les tests exploratoires ?

Essais exploratoires est un type de test logiciel dans lequel les cas de test ne sont pas créés à l'avance mais les testeurs vérifient le système à la volée. Ils peuvent noter des idées sur ce qu'il faut tester avant l'exécution du test. Les tests exploratoires se concentrent davantage sur les tests en tant qu’activité de « réflexion ».

Les tests exploratoires sont largement utilisés dans les modèles Agile et concernent la découverte, l'investigation et l'apprentissage. Il met l'accent sur la liberté personnelle et la responsabilité de chaque testeur.

Pourquoi des tests exploratoires ?

Dans le cadre des tests scriptés, vous concevez d'abord des cas de test, puis procédez ensuite à l'exécution des tests. Au contraire, les tests exploratoires sont un processus simultané de conception et d’exécution de tests effectués en même temps.

L'exécution de tests scriptés est généralement une activité automatisée où les testeurs exécutent les étapes du test et comparent les résultats obtenus aux résultats attendus. Cette activité peut être automatisée car elle ne requiert pas de compétences cognitives importantes.

Essais exploratoires

Bien que la tendance actuelle en matière de tests logiciels soit de pousser à l'automatisation, les tests exploratoires sont une nouvelle façon de penser. L'automatisation a ses limites

Essais exploratoires

Différences entre les tests scriptés et exploratoires

Tests scénarisés Essais exploratoires
Réalisé à partir des exigences Réalisé à partir des exigences et exploré pendant les tests
Détermination des cas de tests bien à l’avance Détermination des cas de tests lors des tests
Confirmation des tests avec les exigences Enquête sur le système ou l'application
Met l’accent sur la prédiction et la prise de décision Met l’accent sur l’adaptabilité et l’apprentissage
Implique des tests confirmés Implique une enquête
Il s'agit de contrôler les tests Il s'agit d'améliorer la conception des tests
C'est comme faire un discours : vous lisez un brouillon C'est comme avoir une conversation – c'est spontané
Le script est aux commandes L'esprit du testeur est aux commandes

Techniques de tests exploratoires

  • Il ne s'agit pas de tests aléatoires, mais de tests ad hoc dans le but de détecter des bogues.
  • Est structuré et rigoureux
  • Est structuré sur le plan cognitif (pensée) par rapport à la structure procédurale des tests scriptés. Cette structure vient de Charter, time boxing etc.
  • Est hautement enseignable et gérable
  • Ce n'est pas une technique mais c'est une approche. Les actions que vous effectuerez ensuite sont régies par ce que vous faites actuellement

Comment exécuter des tests exploratoires

Voici un processus étape par étape sur la façon d'effectuer des tests exploratoires, également appelés gestion des tests basés sur la session (cycle SBTM) :

Étape 1) Créer une taxonomie des bogues (classification)

  • Catégoriser les types courants de défauts trouvés dans les projets antérieurs
  • Analyser l'analyse des causes profondes des problèmes ou des pannes
  • Trouver les risques et développer des idées pour tester l’application.

Étape 2) Charte de test

  • La charte de test devrait suggérer
    1. que tester
    2. comment cela peut-il être testé
    3. Ce qu'il faut regarder
  • Les idées de tests sont le point de départ des tests d'exploration
  • La charte de test aide à déterminer comment l'utilisateur final pourrait utiliser le système

Étape 3) Heure Box

  • Cette méthode implique une paire de testeurs travaillant ensemble pendant au moins 90 minutes.
  • Il ne devrait y avoir aucun temps interrompu au cours de ces séances de 90 minutes
  • La timebox peut être prolongée ou réduite de 45 minutes
  • Cette session encourage les testeurs à réagir à la réponse du système et à se préparer au résultat correct.

Étape 4) Revvoir les résultats

  • Évaluation des défauts
  • Apprendre des tests
  • Analyse des zones de couverture

Étape 5) Débriefing

  • Compilation des résultats de sortie
  • Comparez les résultats avec la charte
  • Vérifiez si des tests supplémentaires sont nécessaires

Meilleure pratique des tests exploratoires

Lors de l’exécution exploratoire, les opérations suivantes doivent être effectuées :

  • La mission des tests doit être très claire
  • Prendre des notes sur ce qui doit être testé, pourquoi cela doit être testé et l'évaluation de la qualité du produit
  • Tracking des questions et problèmes soulevés lors des tests exploratoires
  • Mieux vaut jumeler les testeurs pour des tests efficaces
  • Plus nous testons, plus nous sommes susceptibles d'exécuter les bons scénarios de test pour les scénarios requis

Il est très important de prendre un document et de surveiller les éléments suivants

  • Couverture des tests – Si nous avons pris des notes sur la couverture des cas de test et amélioré la qualité du logiciel
  • Risques – Quels risques doivent être couverts et lesquels sont tous importants ?
  • Journal d'exécution du test – Enregistrements sur l'exécution du test
  • Problèmes / Requêtes – Prenez des notes sur la question et les problèmes sur le système

Des tests exploratoires plus intelligents détectent plus d’erreurs en moins de temps.

Avantages et inconvénients des tests exploratoires

Avantages

  • Ces tests sont utiles lorsque les documents d'exigences ne sont pas disponibles ou sont partiellement disponibles.
  • Cela implique un processus d'enquête qui permet de trouver plus de bogues que les tests normaux.
  • Découvrez les bogues qui sont normalement ignorés par d'autres techniques de test
  • Aide à développer l'imagination des testeurs en exécutant de plus en plus de cas de test, ce qui améliore également la productivité
  • Ces tests approfondissent la plus petite partie d'une application et couvrent toutes les exigences.
  • Ces tests couvrent tous les types de tests et couvrent divers scénarios et cas
  • Encourage la créativité et l’intuition
  • Génération de nouvelles idées lors de l'exécution des tests

Désavantages

  • Ce test dépend uniquement des compétences du testeur
  • Limité par la connaissance du domaine du testeur
  • Ne convient pas aux temps d'exécution longs

Défis des tests exploratoires

Les tests exploratoires présentent de nombreux défis et ceux-ci sont expliqués ci-dessous :

  • Apprendre à utiliser l’application ou le système logiciel est un défi
  • La réplication d’un échec est difficile
  • Déterminer si des outils doivent être utilisés peut être difficile
  • Déterminer les meilleurs cas de test à exécuter peut être difficile
  • La communication des résultats des tests est un défi car le rapport ne contient pas de scripts ou de cas planifiés à comparer avec le résultat réel.
  • La documentation de tous les événements pendant l'exécution est difficile à enregistrer
  • Les tests exploratoires ne comportent pas de cas de test précis à exécuter, ce qui rend difficile la décision de s'arrêter.

Quand utiliser les tests exploratoires ?

Les tests exploratoires peuvent être largement utilisés lorsque

  • L'équipe de test dispose de testeurs expérimentés
  • Une itération précoce est requise
  • Il existe une application critique
  • Nouveaux testeurs entrés dans l'équipe

FAQ

Les tests exploratoires sont structurés, ciblés et utilisent des chartes et des limites de temps pour identifier les bogues, tandis que les tests ad hoc sont informels et non planifiés. Les tests exploratoires sont documentés et reproductibles ; les tests ad hoc ne le sont généralement pas.

Les tests exploratoires sont principalement une activité manuelle et intuitive, car ils reposent sur l'intuition du testeur et des décisions prises en temps réel. Cependant, des outils permettent d'enregistrer les sessions, de capturer les journaux et de faciliter la documentation pendant les tests.

SBTM est une méthode structurée pour réaliser des tests exploratoires lors de sessions limitées dans le temps et définies par un cahier des charges. Les testeurs documentent leurs résultats, puis font un débriefing pour examiner la couverture, les anomalies et déterminer si des tests supplémentaires sont nécessaires.

L'IA facilite les tests exploratoires en suggérant des idées de tests, en générant des chartes, en analysant les journaux pour détecter les anomalies et en identifiant les zones non testées. Elle renforce l'intuition du testeur sans pour autant remplacer le processus de réflexion exploratoire.

Non. Les tests exploratoires reposent sur la créativité, la curiosité et le jugement du domaine humains, des qualités que l'IA ne peut pas entièrement reproduire. L'IA apporte son aide en prenant en charge les analyses répétitives, mais les testeurs qualifiés restent indispensables à la découverte.

Résumez cet article avec :