Testeum

Très souvent, lorsque l’on développe une nouvelle application ou une nouvelle fonctionnalité d’un produit existant, nous mettons en place des processus Qualité pour s’assurer que l’implémentation répond bien aux besoins de nos clients : rédaction des spécifications, rédaction du code source via les méthodes BDD et TDD, des tests fonctionnels (qui peuvent être automatisés), etc…

Puis, lorsque tout est prêt, nous sollicitons bien souvent un groupe de personnes pour “faire des tests” sur la version beta, l’environnement pre-prod, ou autre. Celles-ci peuvent être des testeurs, développeurs, consultants métiers, PO, ou tout simplement des personnes “non tech” issues de notre entourage proche. D’ailleurs, ce sont souvent ces mêmes personnes que l’on sollicite dès que l’on sort des nouveautés, afin qu’elles soient les premières à fournir du feedback. 

Et si le Crowdtesting nous offrait un angle d’attaque différent pour identifier plus efficacement des bugs dans nos applications ? C’est ce dont nous allons parler dans cet article, grâce à un retour d’expérience de Testeum, une solution développée par HighTest et dédiée au Crowdtesting, fraîchement sortie en 2020 !

Qu’est-ce que le Crowdtesting ? 

Il s’agit de faire appel à une communauté de testeurs pour effectuer des séries de vérifications sur une application, d’identifier d’éventuels bugs ou problèmes rencontrés, et de les remonter de manière rigoureuse pour aider les équipes supports à les reproduire. 

Cette approche présente plusieurs avantages : 

  • La flexibilité : les testeurs qui participent à votre campagne démarreront dans un laps de temps très court les phases de tests, chacun indépendamment des autres.
  • Un regard neuf : A force de répétition, certains tests exploratoires peuvent être biaisés car les testeurs ont acquis plusieurs réflexes sur l’utilisation de la plateforme
  • Une approche multiculturelle et multi-device : la diversité des profils testeurs à travers le monde, leurs habitudes d’utilisation des applications digitales, mais aussi la diversité des devices utilisés constituent des atout non négligeables pour vos tests, surtout si vous ciblez un marché international

Testeum est donc une plateforme de Crowdtesting et qui permet : 

  • A des éditeurs comme ProMyze de solliciter des testeurs professionnels pour explorer un ensemble de fonctionnalités de leurs produits
  • A des testeurs issus du grand public de gagner un revenu complémentaire, sur le timing de leur choix, et de découvrir à chaque session de nouveaux horizons numériques

Définir une campagne de tests avec Testeum

Rentrons maintenant dans le concret ! Nous avons tout d’abord commencer par créer une application, où il s’agit surtout d’indiquer comment les testeurs pourront accéder à celle-ci, et quels sont les environnements cibles. 

Création de l'application dans Testeum

Ici, nous souhaitons que notre Themis soit testé sur macOS et Windows, et sous le navigateur Google Chrome.

Ensuite, Testeum nous demande d’importer des cas de tests à partir d’un fichier au format Excel (.xls/.xlsx), qui contient un ensemble de scénarios, d’étapes et de résultats attendus. La structuration est triviale, et l’écriture des scénarios se fait sans difficultés. D’ailleurs, dans certains cas, les équipes auront déjà défini des cas de tests fonctionnels, il suffira ainsi de les reprendre pour les adapter au format souhaité par Testeum. 

Une fois importés, Testeum affiche nos scénarios de tests, afin que nous puissions détecter toute anomalie dans la construction de ceux-ci. Dans notre cas, nous avions 10 modules et 19 cas de tests. Si tout est OK, on peut valider et passer à l’étape suivante !

Chargement des cas de tests dans Testeum

La dernière étape consiste à définir quels sont les environnements de tests sur lesquels les testeurs devront explorer l’application : 

  • Libre : le testeur choisit l’environnement sur lequel effectuer ses tests, sans restriction imposée par l’éditeur ;
  • Ciblé : le testeur choisit son environnement parmi une liste définie par l’éditeur. C’est ce qu’il est logique de sélectionner s’il y a des environnements qu’on ne veut expressément pas cibler ; 
  • Tous : tous les environnements sélectionnés par l’éditeur seront obligatoirement testés. 

Liste des environnements d'exécutions des cas de tests

Nous sommes maintenant prêts pour valider la commande, et c’est désormais aux Crowdtesteurs de jouer !

Exploration et analyses des bugs

Après quelques jours, nous pouvions explorer les premiers résultats proposés par Testeum. L’avancement de l’exécution des cas de tests est disponible, sous une approche Burndown Chart. En tout cas, 5 Crowdtesteurs ont participé avec donc un résultat de 95 cas de tests exécutés (19 cas de tests * 5 testeurs). Nous voyons ci-dessous la répartition des 34 bugs remontés selon le niveau de sévérité :

Nous pouvons ensuite passer à la phase d’exploration des bugs au cas par cas. Chaque bug est détaillé avec précision (quel était l’environnement), et est catégorisé selon la nature du problème (ex : bug d’affichage).  

Liste des bugs remontés par Testeum

Nous pouvons ensuite ouvrir chaque bug pour en savoir davantage. L’exemple ci-dessous est trivial, et mets en avant une faute d’orthographe dans le texte : 

Exemple de bug remonté par Testeum

Tous les bugs sont complétés par des captures d’écrans et des commentaires, et le cas de test associé est également mentionné. Pour notre équipe, cela a été assez simple de reproduire les bugs rencontrés ! La liste de bugs peut être filtrée selon différents critères, notamment l’OS et la criticité, afin de prioriser les actions à mener pour les équipes techniques. 

Au final, cela nous également a permis d’identifier des problématiques d’UX/UI, tels que  des éléments d’affichage ambigus ou trompeurs pour des utilisateurs, ou bien certains champs d’un formulaire qui auraient mérité + de robustesse et de protection. Ainsi, certains bugs remontés n’étaient pas en soi des bugs fonctionnels, mais soulevaient des problématiques liées à la perception des utilisateurs. Cela a été une des belles découvertes de l’expérience !

Une éthique dans la rémunération des testeurs

Un point important à souligner est que, contrairement à d’autres plateformes de Crowdtesting, les testeurs ne sont pas rémunérés en fonction du nombre de bugs identifiés. En effet, cette approche présente 2 inconvénients non négligeables de notre point de vue : d’une part, si l’application testée ne contient pas ou très peu de bugs à signaler, le testeur aura consacré du temps de travail mais n’en tirera aucun bénéfice. Au bout d’un certain temps, alors qu’un bug aurait pu être trouvé en continuant l’exploration, le testeur aura peut être stoppé son travail, en se disant qu’il est en train de perdre son temps. D’autre part, cela peut inciter à des signalements d’anomalies peu qualifiées, à cause de l’appât du gain qui pousse à remonter de la matière. 

A l’inverse, Testeum propose une tarification calculée à partir du nombre de cas de tests, et des environnements de tests (libre pour les testeurs, ciblés sur des OS/Navigateurs précis, …). Ainsi, au moment de la commande, les conditions tarifaires sont claires et sans mauvaise surprise. Les testeurs peuvent se concentrer sereinement sur l’exploration de l’application et partir à la conquêtes des bugs !

Conclusion

Nous avons vécu grâce à Testeum notre première expérience avec le Crowdtesting. Cela nous a permis de découvrir la plus-value de cette approche, principalement sur la diversité des bugs rencontrés apportée par l’expertise des testeurs. L’outil est très intuitif, simple d’utilisation, et les rapports d’analyses sont très complets et détaillés. Faire appel à un ami ou un proche pour tester une application c’est bien, mais faire appel à des testeurs impartiaux et motivés vous apportera des résultats plus complets ! Testeum est une solution nouvelle et très prometteuse, très intuitive et facile d’utilisation. 

La semaine prochaine, nous resterons avec HighTest, qui répondra à quelques questions sur Testeum. N’hésitez pas à en poser en commentaire d’ici-là !

Start connecting developers' knowledge with Promyze

Best coding practices shared from IDEs & Code reviews

Promyze, the collaborative platform dedicated to improve developers’ skills through best practices sharing and definition.

Crafted from Bordeaux, France.

©2023 Promyze – Legal notice