• 8 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 12/01/2024

Choisissez la méthode de test adaptée

Appréhendez les différentes méthodes

Les méthodes de test sont un peu comme des ustensiles de cuisine.

Pour faire cuire des pâtes, vous avez le choix entre une casserole ou une poêle. Les deux peuvent fonctionner, mais l’une est nettement plus efficace que l’autre, et propose plus de garanties de succès.

Les méthodes de test, c’est pareil. Vous allez avoir en votre possession tout un arsenal, qu'il ne tiendra qu’à vous d’utiliser à votre convenance et au moment opportun.

Dans ce chapitre, je n’aborderai pas toutes les méthodes qui peuvent exister, mais seulement celles que vous aurez à utiliser le plus souvent :

Les tests boîte noire

En quoi consistent-t-ils ? 

Cette méthode consiste à s’assurer que les fonctionnalités du produit fonctionnent, “sans se soucier” de la manière dont elle est mise en œuvre

Pour vulgariser un peu, vous ne connaissiez pas le code source, la conception ou encore la structure du système. Imaginez une boîte que vous devez utiliser, mais pour laquelle vous n’avez pas connaissance de ce qui se passe à l’intérieur.

Quel est l’objectif ? 

Cela vous permet de vous placer du point de vue de l’utilisateur final, et d’utiliser l’application comme le fera le client final.

Vous vous concentrez donc sur les données en entrée et en sortie, et pas de la manière dont le système a traité ces données.

Quels sont ses avantages et inconvénients ?

Dans les avantages de cette méthode, on retrouvera le fait que nous n’avons pas besoin de connaître l’implémentation de l’application, la vue technique du code étant écartée.

Un autre avantage est que cette méthode est guidée par le cahier de recette, qui vous fournira un mode opératoire à adopter.

Toutefois, un des inconvénients est que la conception et l’exécution de ces tests peuvent devenir coûteuses et chronophages.

Y a-t-il des bonnes pratiques ?

Il y en a : déterminer les cas de test pertinents à tester, et éviter la duplication de cas de tests.

La duplication peut très vite arriver, car vous n’allez pas trouver un cas de test qui correspond tout à fait à vos besoins. Pensez, lors de la rédaction des cas de test, à les variabiliser, pour pouvoir les réutiliser dans différentes campagnes.

Les tests exploratoires

En quoi consistent-t-ils ? 

Ils se basent sur l’exploration, et l’intuition du testeur à découvrir des bugs. Vous pourriez vous placer dans la peau d’un utilisateur lambda.

À contrario des tests fonctionnels, cette méthode est informelle. Vous n’aurez pas de cahier de recette à suivre à la lettre.

Quel est l’objectif ? 

L’objectif est de trouver des défauts dans le système qui n’auraient pas été identifiés par les autres méthodes de tests.

Ce type de test est souvent utilisé pour tester des fonctionnalités complexes, ou pour vérifier l’expérience utilisateur.

À titre d’exemple : Vous ajoutez un produit au panier et vous faites des allers-retours entre la page d’accueil, le panier, les rayons, de différentes façons. En utilisant la fonction du site, puis celle du navigateur, en modifiant l’URL, etc.

Quels sont ses avantages et inconvénients ?

Les principaux avantages sont que cela vous permet de gagner en flexibilité, en vous adaptant rapidement à des changements de spécifications. Et surtout, d’être complémentaire avec d’autres méthodes de tests.

Par contre, il peut y avoir un manque de traçabilité, comme ils ne sont pas planifiés à l’avance. Il y a un risque que la couverture de test soit insuffisante si c’est la seule technique utilisée.

Y a-t-il des bonnes pratiques ?

Pour pallier cela, quelques bonnes pratiques peuvent grandement vous aider :

  • Définissez un objectif clair : Avant de commencer à tester, définissez clairement les objectifs à explorer : 

    • Je veux tester la fonctionnalité du panier.

  • Allouez un temps précis : Cette méthode, bien que séduisante, peut être extrêmement chronophage ; donnez-vous un temps maximum à ne pas dépasser : 

    • Je m’autorise à des sessions de tests exploratoires de 30 minutes, chaque jour.

  • Prenez des notes : Il est essentiel de prendre des notes détaillées de toutes les actions et des résultats des tests exploratoires. 

    • Croyez-moi que de noter ses actions, en cas d’anomalie rencontrée, quand il vous faudra rapporter les étapes pour reproduire, vous serez content de noter.

    • Vous pouvez également utiliser des outils qui vous permettent d’enregistrer en vidéo vos sessions (Screen Recorder, par ex.). Mais vérifiez auparavant si vous en avez le droit ou non.

Les tests de non-régression

En quoi consistent-t-ils ? 

Cette méthode va vous permettre de vous assurer que les fonctionnalités qui n’ont pas été impactées par votre projet continuent de fonctionner comme avant.

Quel est l’objectif ? 

L’objectif est de garantir que les changements apportés au logiciel n’ont pas introduit de nouveaux bugs ou des problèmes de qualité dans le logiciel qui était déjà fonctionnel dans les versions précédentes.

Quels sont ses avantages et inconvénients ?

Ces tests sont généralement effectués après les tests fonctionnels.

  • À chaque nouvelle livraison, les tests de non-régression que vous avez identifiés doivent être lancés. Ils vous assureront que des effets de bord indésirables ne se sont pas glissés dans l’application.

  • Soyez donc vigilant au moment d’effectuer ces tests.

Et ils sont automatisables.

Par contre, tout le périmètre non impacté par votre projet n’est pas à tester !

  • Ne prenez en compte “que” le périmètre de l’application qui risquerait d’être impacté par l’ajout des nouvelles fonctionnalités.

Y a-t-il des bonnes pratiques ?

Identifiez les tests critiques, la non-régression doit se concentrer sur les fonctionnalités critiques de l’application.

Planifiez régulièrement ces tests (après chaque livraison, par exemple).

Surveillez les résultats des tests ; si un échec intervient, une analyse de la cause doit être faite au travers d’une anomalie.

Les tests automatisés

En quoi consistent-t-ils ? 

Ce sont des tests effectués par des automates, définis et développés par des humains. Ils exécutent des scénarios programmés pour tester une ou plusieurs fonctionnalités de l’application.

Quel est l’objectif ? 

Cela permet une exécution rapidefiable et répétitive des tests, afin de détecter rapidement les problèmes de qualité, et de garantir la stabilité du logiciel.

Quels sont ses avantages et inconvénients ?

Ils font gagner un temps précieux en exécutant des tests que vous n’aurez pas à faire manuellement. Cela réduira donc les coûts projet, tout en proposant une meilleure couverture de test.

La mise en place de cette automatisation présente un coût initial élevé. L’investissement sur la stratégie d’automatisation et le développement peut coûter cher. Il est donc nécessaire de cadrer son besoin avant d’automatiser des tests.

Y a-t-il des bonnes pratiques ?

Automatisez les tests de non-régression. Cela inclura bien entendu leur maintenance en cas d’évolution sur ces parcours.

Choisissez vos méthodes de test

  • Comprendre les objectifs du test : Qu’est-ce que je veux faire ? Assurez-vous d’avoir les objectifs de ce que vous souhaitez tester : 

    • Les détections des erreurs ? 

    • L’amélioration de la qualité du produit ?

    • La couverture de tous les scénarios ?

    • La validation de l’expérience utilisateur ?

  • Identifiez les méthodes de test disponibles : Qu’ai-je à ma disposition ?

    • Les tests manuels sont-ils possibles ? 

    • Quel est mon patrimoine automatisé ? Doit-il être mis à jour ? 

    • Aurai-je un gain à faire des tests exploratoires ?

  • Analysez les exigences et les contraintes du projet et de l'environnement : Qu’est-ce que je peux faire ?

    • Quel temps et quelles ressources seront disponibles durant la campagne ?

    • La complexité du système ?

    • Le niveau de compétence de l’équipe de test ?

  • Restez flexible : 

    • Adaptez vos choix en fonction de l’évolution projet.

    • Le projet peut changer durant la campagne d'exécution, réévaluez donc vos décisions, ne restez pas statique.

Pour résumer, mettez en perspective vos scénarios, l’environnement de test et les outils à votre disposition. Cela vous permettra de dégager les différentes contraintes que l’un peut avoir sur les autres, mais aussi mettre en lumière les méthodes facilitantes.

À vous de jouer !

Contexte

Votre périmètre de test se fixe de plus en plus, le “Quoi”. Maintenant, il est temps de choisir “Comment” vous allez tester les scénarios que vous avez défini.

Édouard a porté à votre connaissance que les ressources techniques, qui auraient été capables de développer et mettre à jour les automates de tests pour le projet, ne seront pas disponibles avant le début de la campagne de test.

Consignes

Identifiez les méthodes de test adaptés à la situation. Et justifiez votre choix.

En résumé

  • Les méthodes de test permettent d’utiliser des techniques adaptées, qui faciliteront l’atteinte de vos objectifs pour la campagne de tests.

  • Les 4 types de tests les plus courants que vous rencontrerez sont : 

    • les tests boîte noire (ou tests fonctionnels), où vous testerez sans avoir connaissance du code ;

    • les tests exploratoires, pour tester de manière informelle ou quand le temps est limité ;

    • les tests de non-régression, pour vous assurer que les fonctionnalités non impactées fonctionnent toujours ;

    • les tests automatisés, pour exécuter automatiquement des scénarios (tels que des test de non-régression).

  • Le choix des méthodes de test est le résultat de la combinaison de vos scénarios prévus, des contraintes liées à votre environnement, et des méthodes de test à votre disposition.

Si les méthodes de test sont les ustensiles pour cuisiner sa campagne de test, passons maintenant aux ingrédients, en choisissant les ressources dont vous aurez besoin.

Exemple de certificat de réussite
Exemple de certificat de réussite