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é sans réflexion dans laquelle les testeurs exécutent les étapes de test et comparent les résultats réels avec les résultats attendus. Une telle activité d’exécution de tests peut être automatisée et ne nécessite pas beaucoup de compétences cognitives.

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
  • Suivi 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

    Pour aller plus loin

    En génie logiciel, les tests exploratoires sont effectués pour surmonter les limites des tests scriptés. Cela aide à améliorer Cas de test suite. Il fait preuve d'empathie pour l'apprentissage et l'adaptabilité.