À la différence des autres tests construits sur des scénarios, les tests exploratoires se concentrent sur l'exploration d'un logiciel et sont réalisés sans suivre un cahier de test. Quelle est leur utilité et comment bien les mettre en place ? Lorsqu’ils effectuent des tests dits “exploratoires”, les testeurs ne travaillent pas sur la base de scénarios préalablement créés. Ils explorent le logiciel de leur propre chef pour tester le produit et ses différentes fonctionnalités.
Les tests exploratoires ne doivent pour autant pas être confondus avec le “monkey testing” ou le “chaos monkey” lesquels ont pour but d’éprouver la robustesse et la résilience d’un produit. Les tests exploratoires n’ont pas pour vocation de pousser un logiciel jusqu’à son point de rupture mais plutôt de le tester car nous supposons (et savons) que la documentation est toujours incomplète, incorrecte et incohérente. Les tests exploratoires permettent de vérifier que le produit fonctionne comme cela a été prévu, et que l’expérience est simple et agréable.
La rapidité est l'un des avantages les plus significatifs des tests exploratoires. Les tests exploratoires permettent en effet, aux développeurs et aux testeurs d’obtenir en permanence des retours pertinents qui peuvent être utilisés pour étendre ou renforcer leur approche de test. Les tests exploratoires peuvent, en effet, être exécutés de manière flexible et même en temps réel puisque la conception de script n’est pas nécessaire. Cette approche permet aux testeurs d’identifier plus rapidement d’éventuelles erreurs, puis de fournir des retours aux développeurs et ce, en un minimum de temps pour un maximum d’agilité et éviter les redoutés “effets silo”.
Tous les tests ne devraient pas être automatisés ou scriptés. Réaliser des tests exploratoires permet aux testeurs de vérifier que le logiciel fonctionne comme prévu au-delà de ce qui est documenté par les développeurs et les chefs de produit. Or, de nombreux éléments ne peuvent tout simplement pas être évalués par des tests automatisés. C’est le cas par exemple de l'utilisabilité, de l'interface utilisateur, de l'ergonomie, de l’UX writing et même, ce petit “je-ne-sais-quoi” qui rend immédiatement une application fun et agréable à utiliser. Les tests exploratoires permettent aux testeurs d'être plus créatifs et d’évaluer les aspects émotionnels et sensibles de votre produit ou de votre service.
Les testeurs sont souvent tenus d'exécuter certains cas de test qui les empêchent d'explorer l'ensemble de l'application.Les scripts constituent alors des jalons qui peuvent faire perdre de vue l’objectif de chacune des fonctionnalités ou même, plus simplement, le parcours utilisateur réel. C’est ainsi que de gros bugs peuvent passer entre les mailles pourtant fines des testeurs les plus aguerris. Cependant, en effectuant des tests exploratoires, les testeurs peuvent utiliser librement l'application pour développer une meilleure compréhension du produit, de ses fonctionnalités, etc. C’est une manière de lever la tête du guidon pour observer les choses depuis le point de vue d’un véritable utilisateur.
Les tests exploratoires peuvent être bénéfiques en termes de rétention, de satisfaction professionnelle et d'engagement des testeurs qui les appliquent. Personne n'aime exécuter les mêmes tests scriptés, encore et encore. Ne pratiquer que l’approche scriptée éloigne les testeurs du produit. Ils peuvent finir par le ressentir et se percevoir comme de simples exécutants invités à réaliser perpétuellement les mêmes actions. Laissez à vos testeurs la possibilité de se montrer brillant, original, intelligent… ou même tout simplement humain.
Grâce aux tests exploratoires, les testeurs expérimentés peuvent utiliser leurs compétences pour créer des nouveaux cas de tests qui augmentent la portée du processus de test. Il est important de noter que la qualité de tests exploratoires dépend de l’expertise des testeurs, car une fois les tests exploratoires effectués, le plus difficile reste à faire. Rendre compte clairement et simplement, des difficultés rencontrées peut s’avérer être un véritable défi. Ainsi, les testeurs doivent accorder une attention particulière à la communication et d'expliquer d’une manière complète et détaillée, l'idée derrière chaque test effectué, mais aussi les étapes suivies et les résultats obtenus.
Enfin, last but not least, les tests exploratoires encouragent et favorisent le dialogue entre les équipes. Les testeurs pourront échanger avec les développeurs, l’équipe produit et marketing, lesquels pourront répondre à leurs interrogations et recevoir leurs feedbacks plus personnels. Il est toujours positif d’échanger autour du produit de manière informelle et les tests exploratoires le permettent ! Ne vous en privez pas !
Souhaitez-vous renforcer vos compétences en matière de tests Agile ? Dans ce cas, nous vous invitons à découvrir la CTG Academy, notre centre de formation ! La CTG Academy propose de nombreux cours dans les domaines de test et d'Agile. En savoir plus sur la CTG Academy.
Pour explorer d'autres publications sur les tests en Agile, n'hésitez pas à consulter notre blog ou à télécharger notre livre blanc : Tests et Agilité : Font-ils bon ménage ?