Comment rédiger des cas de test efficaces
Software Teams

Comment rédiger des cas de test efficaces

Dans les services financiers, on parle de « processus maker-checker ». Dans la gestion des risques, on parle communément du « principe des quatre yeux ». Dans la gestion des armes nucléaires américaines, on parle du « concept des deux personnes ».

En substance, ils font tous la même chose : ces processus comprennent un niveau supplémentaire d'évaluation, de confirmation, d'autorisation ou d'approbation afin de garantir l'exactitude, la qualité ou la pertinence du résultat.

Dans le domaine du développement logiciel, cela s'appelle le test ou l'assurance qualité. En termes simples, le test logiciel évalue le code pour s'assurer qu'il fonctionne comme prévu. Pour mener à bien cette activité, les équipes qualité utilisent un outil puissant appelé « cas de test ».

Dans cet article, nous explorons ce que c'est, pourquoi c'est nécessaire, quand l'utiliser et, surtout, comment rédiger des cas de test.

Qu'est-ce qu'un cas de test ?

Un cas de test est un ensemble d'actions, de conditions et de données d'entrée utilisées pour évaluer la qualité d'une application logicielle.

Supposons que vous ayez créé un formulaire pour saisir le nom et l'identifiant d'e-mail de l'utilisateur afin d'effectuer un abonnement à une newsletter. Son cas de test spécifiera les éléments suivants :

Actions [visibles par l'utilisateur et internes] : tout ce que l'utilisateur ou le logiciel est censé faire pour achever le flux de travail dans le logiciel en cours de développement.

  • L'utilisateur saisit un nom
  • L'utilisateur saisit une adresse e-mail.
  • L'utilisateur clique sur « Soumettre ».
  • E-mail de confirmation envoyé à l'utilisateur
  • Données enregistrées dans la base de données correspondante
  • Données ajoutées à la liste de diffusion de l'e-mail de la newsletter correspondante.

Conditions : les exigences auxquelles l'utilisateur ou le système doit satisfaire lors de l'exécution de ses actions.

  • Enregistrer si la validation du champ nom est acceptée, sinon afficher un message d'erreur.
  • Enregistrer si la validation du champ adresse e-mail est acceptée, sinon afficher un message d'erreur.
  • Ajouter à la liste de diffusion uniquement si l'utilisateur a confirmé son adresse e-mail.
  • Si l'utilisateur existe déjà, affichez le message d'erreur correspondant.

Données d'entrée : échantillons de données d'entrée acceptables pour la fonctionnalité. En général, les équipes d'assurance qualité [QA] créent des données de test permettant de tester des résultats positifs et négatifs.

Par exemple, si la condition de validation du champ « nom » est « ne peut contenir que des lettres de l'alphabet et des espaces », les données de test seraient les suivantes

  • Jane Doe, qui répond aux critères
  • Ad@m Sand!er, qui ne répond pas aux critères

Rôle des cas de test dans l'ingénierie logicielle

La méthode des cas de test est une approche complète, systématique et reproductible des tests logiciels. Si son objectif premier est de garantir la qualité de l'application, elle ajoute également plusieurs niveaux de robustesse et de fiabilité au processus d'ingénierie logicielle lui-même.

Identification des défauts : les cas de test permettent d'identifier les défauts dans les logiciels. Ils déterminent si l'application peut être mise en production en toute sécurité.

Validation des exigences : les cas de test garantissent que ce que vous avez créé correspond bien à ce que vous aviez prévu. Cela est particulièrement important si vous êtes une entreprise de services qui développe des logiciels pour des parties prenantes externes ayant des exigences spécifiques.

Atténuation des risques : les cas de test évaluent une fonctionnalité en termes de sécurité, de performances et de risques financiers. L'analyste qualité inclut également des conditions relatives à la conformité réglementaire, aux normes industrielles, etc. afin de s'assurer que tous les aspects sont pris en compte.

Équilibrer la vue d'ensemble : une nouvelle fonctionnalité peut très bien fonctionner isolément. Mais une fois intégrée au reste du logiciel, elle peut ne plus fonctionner ou entraîner le dysfonctionnement d'une autre fonctionnalité. Les cas de test permettent de détecter ce type de problème avant qu'il n'affecte l'expérience de l'utilisateur en production.

Un seul cas de test peut-il couvrir tous les aspects à faire mentionnés ci-dessus ? Pas vraiment. En fonction des fonctionnalités, des logiciels, des systèmes, des besoins et des objectifs organisationnels, les équipes d'assurance qualité rédigent plusieurs types de cas de test.

Types de cas de test

Il existe un cas de test pour chaque type de test logiciel. Voici quelques-uns des plus couramment utilisés.

Cas de test fonctionnel : ce cas de test basique et fondamental évalue si un logiciel fonctionne comme prévu. Tout responsable de l'assurance qualité doit au minimum rédiger ce type de cas.

Cas de test unitaires : les tests unitaires évaluent une partie de la fonctionnalité ou une seule unité. Par exemple, un responsable de l'assurance qualité peut rédiger des tests unitaires pour vérifier que le champ de l'adresse e-mail répond à diverses conditions.

Cas de test de sécurité : ils permettent d'évaluer si la fonctionnalité répond aux normes de sécurité requises pour passer en production. En général, cela inclut des tests d'autorisation, d'authentification, de conformité aux normes OWASP, etc.

Cas de test de performance : ils permettent de vérifier que la nouvelle fonctionnalité répond aux exigences en matière de vitesse, de fiabilité, d'évolutivité et d'utilisation des ressources.

Cas de test de régression : les tests de régression garantissent que la nouvelle fonctionnalité que vous avez développée n'affecte aucune des fonctionnalités existantes du produit.

En plus de cela, des cas de test spécifiques peuvent également être exécutés. Par exemple, les organisations axées sur la conception peuvent inclure des cas de test d'interface utilisateur [UI]. Les produits qui exécutent une partie d'un flux de travail plus large peuvent nécessiter la rédaction de nombreux cas de test d'intégration. D'autres peuvent créer des cas de test d'utilisabilité spécifiques autour de l'heuristique, de l'accessibilité, de l'inclusion, etc.

En tant que propriétaire de produit, vous devez décider de ce que votre logiciel doit faire et créer des cas de test applicables à cela. Vous devez couvrir tous les scénarios qui sont importants pour vous.

Cela signifie-t-il qu'un cas de test est simplement un scénario de test ? Pas du tout.

Cas de test vs scénario de test

Un cas de test est un enregistrement complet du comportement attendu de votre nouvelle fonctionnalité [et de la manière de la tester]. Un scénario de test est une description générale des actions susceptibles de se produire [et donc d'être testées].

En prolongeant l'exemple précédent, le scénario de test serait « tester l'abonnement à la newsletter ». Cependant, les cas de test seraient les suivants :

  • Champ « Nom du test » avec un nom acceptable
  • Champ de nom de test avec caractères spéciaux
  • Champ « Nom du test » pour les noms de célébrités
  • Champ de nom de test avec des nombres
  • Champ « Nom du test » pour les noms fictifs ou de remplacement tels que John Doe
Cas de testScénario de test
DéfinitionDocumentation complète sur la manière de tester une fonctionnalitéBrève description du fonctionnement de la fonctionnalité du point de vue de l'utilisateur final.
NiveauActions de bas niveau avec responsabilité granulaireActions de haut niveau avec une responsabilité globale
Concentrez-vousComment tester [description détaillée des fonctions prévues]Que tester [bref compte rendu des résultats escomptés]
SourceDérivé de scénarios de testDérivé des récits d'utilisateurs et des cas d'utilisation de l'entreprise
ApprocheEnvisagez un éventail de possibilités plus large et testez de manière approfondie.Imitez des scénarios réels et testez en conséquence.

Maintenant que nous connaissons les différences, revenons au cas de test et examinons-le de plus près avec le Zoom.

Composantes d'un scénario de test

Pour résumer, un cas de test est une documentation détaillée de tout ce qui doit être testé pour s'assurer que le logiciel fonctionne comme prévu. Il est donc complet, granulaire et multiforme, et implique plusieurs composants.

Voici quelques-uns des éléments essentiels d'un scénario de test :

Identifiant du cas de test : chaque cas de test possède un nombre. Cela peut sembler simple, mais pour tester une application de manière approfondie, vous devrez effectuer divers tests qui semblent similaires. L'identifiant du cas de test permet de les différencier.

Description : Description de ce que vous testez. Dans l'exemple ci-dessus, cela pourrait être « Ajouter des prospects réels et intéressés à notre base de données de newsletter ».

Conditions préalables : toutes les conditions préalables à remplir pour utiliser cette fonctionnalité. Par exemple, nous avons abordé la validation de chaque champ ci-dessus. En outre, d'autres conditions peuvent s'appliquer, notamment :

  • L'utilisateur ne doit pas être déjà abonné à la newsletter.
  • L'utilisateur ne devrait pas s'être désabonné de la newsletter.

Étapes : étapes que l'utilisateur ou le système doit suivre pour achever l'évaluation et la marquer comme une réussite.

  • L'utilisateur saisit un nom valide.
  • L'utilisateur saisit un identifiant de e-mail valide.
  • L'utilisateur coche la case à cocher relative à la confidentialité.
  • L'utilisateur clique sur le bouton « Soumettre ».

Résultats attendus : liste des actions à faire ensuite.

  • Si le nom d'utilisateur n'est pas valide, affichez un message d'erreur.
  • Si l'identifiant d'e-mail n'est pas valide, affichez un message d'erreur.
  • Si le nom d'utilisateur et l'identifiant d'e-mail sont valides, enregistrez-les dans la base de données correspondante.
  • Une fois enregistré dans la base de données, envoyez un e-mail de confirmation à l'utilisateur.

Résultats réels : il s'agit des observations du testeur après avoir exécuté le cas de test. C'est ce qui sera renvoyé au développeur en cas de dysfonctionnement.

  • Champ de nom testé avec Katy P3rry et accepté comme entrée valide [bien qu'il contienne un nombre].

Vous êtes désormais prêt à rédiger des cas de test efficaces. Voici comment procéder.

Comment rédiger des cas de test efficaces avec des exemples

La rédaction d'un bon scénario de test nécessite à la fois une bonne compréhension de la logique métier et une expertise technologique. Vous devez comprendre le scénario du point de vue de l'utilisateur dans le monde réel, ainsi que du point de vue technologique dans le monde numérique. Vous trouverez ci-dessous un cadre solide pour vous aider à vous lancer dans cette aventure.

1. Identifiez les scénarios de test

Avant de rédiger des cas de test, comprenez les scénarios réels dans lesquels la fonctionnalité sera utilisée. Lisez le récit de l’utilisateur, étudiez le document des exigences ou discutez même des spécifications avec le développeur.

Par exemple, les scénarios de test dans l'exemple précédent seraient les suivants : L'utilisateur s'abonne avec succès à la newsletter.

À cette étape, il est important de se demander si le document des exigences décrit l'utilisateur d'une manière spécifique.

Par exemple, si vous créez une fonction de newsletter réservée aux utilisateurs payants, vous serez confronté à un scénario dans lequel des utilisateurs non payants pourraient essayer de s'abonner.

Examinez donc attentivement les exigences, les spécifications et les récits d'utilisateurs.

2. Définissez les objectifs des cas de test

À cette étape, définissez ce que vous souhaitez accomplir en exécutant vos tests. Par exemple, si vous testez simplement si la fonctionnalité fonctionne comme prévu, vous rédigerez des cas de test fonctionnels.

Cependant, si vous avez également besoin qu'il soit sécurisé et performant, vous rédigerez également les cas de test correspondants. Cela vous aidera à rationaliser votre processus de test agile et à présenter les résultats à l'équipe de développement.

3. Rédigez des étapes claires et concises

Cette étape ne se limite pas à définir le flux de travail. Elle englobe tout ce que l'assurance qualité doit faire pour garantir que la fonctionnalité fonctionne comme prévu.

Soyez exhaustif : entrez dans les détails autant que possible. Indiquez ce qui doit se produire en fonction de l'action de l'utilisateur/du système. Par exemple, vous pourriez écrire :

  • Entrez le nom dans le champ prévu à cet effet.
  • Si le nom contient un nombre, affichez le message d'erreur « Veuillez saisir un nom composé uniquement de lettres et d'espaces ».
  • Si le nom contient des caractères spéciaux, affichez le message d'erreur « Veuillez saisir un nom composé uniquement de lettres et d'espaces ».
  • Si le nom est un espace réservé, affichez le message d'erreur « Veuillez saisir un nom valide ».
  • Si le nom est validé, autorisez l'utilisateur à soumettre

Rendez-les réutilisables : la plupart des fonctionnalités ont des points communs avec d'autres fonctionnalités existantes. Par exemple, les champs pour les abonnements à la newsletter peuvent être similaires à ceux pour la création de nouveaux comptes utilisateurs. Réutilisez-les autant que possible pour garantir la cohérence et l'efficacité.

En fait, vous pouvez également créer des modèles de documents d'exigences produit réutilisables à partir desquels il est plus facile d'extraire des scénarios de test et des cas de test.

Dessinez le processus : pour les fonctionnalités complexes, vous pourriez avoir du mal à documenter tous les cas de test de manière linéaire. Dans ce cas, essayez un organigramme.

Tableaux blancs ClickUp
Comment préparer un café sous forme d'organigramme avec ClickUp Tableaux blancs

ClickUp Tableaux blancs offre une toile vierge hautement personnalisable pour visualiser votre flux de travail. Ne vous sentez pas obligé de tout faire seul. Créez vos organigrammes et partagez-les avec toutes les parties prenantes (analystes commerciaux, développeurs, responsables des tests, etc.) afin d'obtenir leur adhésion avant de vous lancer !

Définissez le contexte : bien que le scénario de test décrive le contexte de l'entreprise, vous devez définir clairement l'installation du test. Indiquez la version du logiciel, le système d'exploitation/navigateur, le matériel, les formats de date/heure, le fuseau horaire, etc. Ajoutez également des liens vers tous les documents et ressources qui pourraient être utiles pendant l'exécution du test.

4. Spécifiez les résultats attendus

C'est la réponse à la question « Que se passe-t-il si ? ». Que se passe-t-il si le champ « nom » est validé ? Que se passe-t-il si le champ « nom » n'est pas validé ?

  • Que faire si l'utilisateur est déjà abonné ? Faut-il refuser son abonnement ou le réabonner ?
  • Que faire si l'utilisateur n'est pas un client payant ? Devriez-vous lui demander de payer maintenant ?
  • Que se passe-t-il si l'utilisateur s'est désabonné auparavant ? Faut-il vérifier avant de le réabonner ?

De cette manière, décrivez les résultats attendus pour chaque possibilité. Plus votre fonctionnalité est complexe, plus votre liste sera longue.

5. Incluez les conditions préalables et les conditions postérieures

Aujourd'hui, aucune fonctionnalité n'est isolée. Dans le développement logiciel, chaque fonctionnalité est liée à d'autres, ce qui signifie que les tests ont un certain nombre de conditions préalables et postérieures.

Exemples d’exemples de conditions préalables

  • Vous devez être un client payant.
  • Vous devez fournir un nom et une adresse e-mail valides.
  • Vous devez accepter les conditions générales.
  • Nécessite l'utilisation de la dernière version de Chrome.
  • Vous devez être connecté depuis votre mobile.

Exemples de postconditions

  • À ajouter à la base de données
  • Doit accepter l'abonnement dans l'e-mail de confirmation
  • À ajouter à la liste de diffusion dans le CRM.

Si vous êtes un chef de produit et que vous souhaitez vous familiariser avec les tests, voici quelques outils sans code destinés aux chefs de produit.

Voilà pour les bases, passons maintenant aux détails pratiques.

Bonnes pratiques pour la rédaction de cas de test

Soyons réalistes : la rédaction de cas de test est un art. Un bon cas de test permettra de détecter des bogues et des défauts qui n'étaient même pas envisagés dans les exigences. Par exemple, que se passerait-il si le champ « nom » comportait deux espaces ? Ou si le nom de famille de l'utilisateur comportait un trait d'union ?

Pour vous assurer que vos cas de test sont conçus pour fournir des logiciels de haute qualité, tenez compte des bonnes pratiques suivantes.

🧠 Pensez comme un utilisateur

Avant de rédiger vos cas de test, mettez-vous à la place de l'utilisateur. Soyez critique et minutieux. Dans l'exemple que nous avons évoqué jusqu'à présent, vous pourriez vous demander :

  • Que signifie « nom » ? Prénom ? Nom de famille ? Ou les deux ?
  • À qui appartient ce nom ? Le texte du nom du champ devrait-il plutôt être « votre nom » ?
  • Faut-il ajouter un texte de remplacement pour guider le lecteur ?
  • Si l'utilisateur saisit un nom invalide, le message d'erreur doit-il identifier ce qui ne va pas ?

Mettez-vous à la place de l'utilisateur. Explorez diverses possibilités, y compris les cas limites. Vous ne créerez peut-être pas de cas de test pour tous les cas, mais les explorer vous aidera à renforcer la fonctionnalité.

🎯 Concentrez-vous sur une seule chose à la fois

Ne rédigez pas un cas de test fonctionnel qui soit également un cas de test d'utilisabilité et un cas de test de base de données. Faites une chose à la fois. Ainsi, lorsque le résultat d'un test est positif ou négatif, vous savez exactement ce qui a fonctionné ou ce qui n'a pas fonctionné.

Inclure trop de variables dans un seul test compliquera les problèmes en cas d'échec du test.

👫 Ne faites pas cavalier seul

Les cas de test définissent la qualité d'un logiciel. Même s'il s'agit de l'étape de vérification dans le processus de création-vérification, elle nécessite une deuxième étape de révision par une deuxième personne. Ainsi, une fois que vous avez rédigé les cas de test, faites-les réviser par un collègue.

Demandez à un collègue de relire ce que vous avez écrit. Encouragez-le à trouver des erreurs et à vous faire part de ses commentaires critiques. Il est également utile de collaborer avec des analystes commerciaux et des développeurs afin de mieux comprendre leurs intentions.

♻️ Créez des modèles réutilisables

Parmi toutes les bonnes pratiques en matière de rédaction de cas de test, la plus précieuse consiste à créer des modèles. Que vous testiez des fonctionnalités similaires ou complètement différentes, un modèle vous permet de structurer vos réflexions. Incluez les composants clés, un mécanisme de numérotation automatisé ou un cadre pour présenter tous les résultats des tests.

Modèle de cas de test ClickUp

Le modèle de cas de test de ClickUp est un exemple simple mais puissant qui montre comment vous pouvez améliorer considérablement votre efficacité et votre visibilité grâce à un cadre reproductible. Ce modèle pour débutants est personnalisable, ce qui permet à vos équipes d'être plus productives plus rapidement. De plus, vous pouvez également utiliser ce modèle pour identifier les candidats à l'automatisation et redoubler d'efforts en matière d'assurance qualité.

🛠️ Utilisez les bons outils

Dans une équipe de développement logiciel, la rédaction de cas de test complets pour des fonctionnalités complexes peut être une tâche fastidieuse. Sans parler de leur documentation et de leur organisation pour en faciliter l'accès.

À faire, choisissez le bon outil.

Outils et ressources pour la gestion des cas de test

Une bonne gestion des cas de test vous permet de créer, d'organiser, d'exécuter, d'enregistrer et de surveiller ce que vous testez. Elle aide les équipes de test à garantir l'exhaustivité sans perdre en efficacité. Elle aide les équipes de développement à voir clairement les bugs.

Si les avantages sont infinis, les défis le sont tout autant. La règle empirique pour le nombre de cas de test par fonctionnalité est « autant que nécessaire ». Selon votre fonctionnalité, cela peut être deux, c'est-à-dire un positif et un négatif. Cela peut être trois, si le cas de test est conditionnel. Ou cela peut être plusieurs.

Pour y parvenir, vous avez besoin d'un outil robuste. Voici quelques-uns des meilleurs outils de test d'assurance qualité modernes:

TestRail

TestRail est une plateforme de gestion des tests permettant de documenter et de suivre les plans de test. Elle comprend des fonctionnalités de traçabilité, de couverture, d'automatisation des tests et d'analyse. Elle s'intègre nativement à un nombre important d'outils de développement logiciel et offre une API complète.

BrowserStack

BrowserStack est un outil de test d'applications et de navigateurs. Il permet de tester les applications iOS et Android ainsi que les sites web sur plusieurs navigateurs. Il comprend des modules spécifiques pour les tests visuels, les tests d'accessibilité, l'observabilité des tests, l'automatisation low-code, etc.

Jira

Jira, l'un des outils de gestion de projet agile les plus populaires, fait également office de logiciel de suivi des bogues. Avec Jira, vous pouvez rédiger des cas de test et les lier à des récits d'utilisateurs, des bogues connus ou d'autres problèmes.

Cependant, Jira n'étant pas conçu pour la gestion des cas de test, les fonctionnalités de rapports et d'automatisation peuvent être limitées.

ClickUp

ClickUp pour les équipes logicielles est un outil de gestion de projet tout-en-un, conçu pour prendre en charge tous les aspects du processus d'ingénierie. La gestion des cas de test ne fait pas exception.

Gestion des cas de test ClickUp
Rationalisez la gestion des cas de test avec ClickUp

Rédaction de cas de test : ClickUp permet aux équipes de gérer efficacement leur backlog grâce à des fonctionnalités robustes de suivi des bogues et des problèmes. Gérez les cas de test existants et créez-en de nouveaux avec ClickUp. Utilisez des formulaires pour que les équipes logicielles puissent saisir les demandes/bogues et les convertir automatiquement en tâches pour l'équipe.

Visibilité des opérations : vous pouvez les visualiser sous forme de tableau Kanban par statut ou utiliser la vue calendrier pour les planifier. Gérez les tâches de l'équipe d'assurance qualité grâce à la vue Charge de travail de ClickUp et accélérez la mise en production. Utilisez le modèle de suivi des bogues et des problèmes de ClickUp pour avoir une vue d'ensemble de tous les tests effectués dans le cadre de votre projet de développement logiciel.

Automatisation dans la gestion de projet : intégrez de manière transparente la gestion des cas de test dans votre processus de développement de produits.

Utilisez les automatisations ClickUp pour attribuer le bon testeur à chaque cas de test. Lorsque le statut de l'assurance qualité change, réattribuez-le automatiquement au développeur pour qu'il le révise.

Avec ClickUp pour les équipes Agile, créez des checklists réutilisables qui seront automatiquement ajoutées aux tâches. Configurez ClickUp Brain pour aider les équipes d'assurance qualité à rédiger leurs rapports plus rapidement.

Bonnes pratiques déjà mises en place : utilisez les dizaines de modèles prédéfinis pour structurer votre processus de test. Commencez par les différents modèles de cas de test ou de rapport de bug.

Modèle de gestion des tests de ClickUp

Essayez ensuite le modèle de gestion des tests de ClickUp pour rationaliser vos scénarios, cas et exécutions de tests. Grâce à ce modèle, suivez le processus, évaluez les résultats et collaborez avec l'équipe de développement sur les bugs/problèmes.

Pour les débutants, ce modèle comprend également un document complet intitulé « Comment commencer » qui vous guidera tout au long du processus.

Vous vous demandez comment rédiger un rapport de test ? Nous avons un modèle pour vous. Téléchargez et utilisez le modèle de rapport de test ClickUp, adapté aux débutants, pour résumer les résultats de vos tests et les transmettre aux développeurs.

Créez d'excellents logiciels pour chaque cas avec ClickUp

Dans le développement logiciel, les tests jouent un rôle crucial pour s'assurer que tout fonctionne correctement. Ils offrent une assistance à 360 degrés.

Cela permet de valider le travail de l'équipe de développement. Cela confirme l'adéquation avec les intentions de l'équipe commerciale. Cela permet de rester fidèle aux besoins des utilisateurs en matière de fonctionnalité, de performance, de sécurité et de confidentialité.

La gestion d'un processus aussi critique et complet nécessite un ensemble d'outils bien pensés. C'est précisément ce qu'offre ClickUp.

Que vous suiviez un modèle agile, Waterfall ou hybride de développement logiciel, ClickUp regorge de fonctionnalités conçues pour être hautement personnalisables afin de s'adapter à vos besoins uniques.

En plus d'une gestion des tâches puissante et multifonctionnelle, ClickUp comprend également une suite de tests, des automatisations DevOps, des intégrations et des modèles très performants. Voyez par vous-même. Essayez ClickUp gratuitement dès aujourd'hui.