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.
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
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
- que tester
- comment cela peut-il être testé
- 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
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é.