Quelques définitions à connaître avant de commencer à s'intéresser aux tests et à la recette

Cette page présente des concepts fondamentaux, comme la notion de use case ou de test case, qu'il est primordial de connaître avant même de s'intéresser aux tests et à la recette.

Avant de commencer à parler de qualité logicielle, de tests unitaires ou d'intégration, de tests fonctionnels ou technique, etc. il est primordial de connaître quelques concepts informatiques particulièrement fondamentaux, dont nous parlerons tout au long de ce cours.

Use case (cas d'utilisation)

La notion de use case (cas d'utilisation en français) est fondamentale en informatique.

Définition Un use case est la spécification d'une fonctionnalité, une action réalisée par un acteur (humain ou logiciel) et qui mène à un résultat.

L'utilisation des cas d'utilisation est très répandue en informatique, notamment pour l'écriture de spécifications fonctionnelles, pour la description de test cases, etc. UML fournit notamment un formalisme spécialement conçu pour décrire des cas d'utilisation : les diagrammes de cas d'utilisation.

UN EXEMPLE DE CAS D'UTILISATION, DÉCRIT EN UML

Un exemple de cas d'utilisation, décrit en UML

Une autre manière de décrire un cas d'utilisation est de le spécifier à la façon d'une user-story, comme le préconisent certaines méthodes agiles (Scrum) :

AS A Customer

I WANT TO Be able to log into the site

SO THAT I can use premium features.

L'ensemble des fonctionnalités d'un système informatique peut être décrit à l'aide de cas d'utilisation.

Test case (cas de test)

Définition Un test case est l'instanciation d'un use case dans un contexte défini.

Les test cases (cas de test) permettent de concrétiser un use case, sur des données concrètes, réelles. Par exemple, si on considère un cas d’utilisation « Log in », un cas de test pourrait être « Log in on landing page with username="Pascal" and password="My password" ».

Important – Il n'y a pas de test case sans use case ! Un cas de test découle toujours d'un cas d'utilisation.

La syntaxe Gherkin

Une manière de décrire des test cases est d'utiliser la syntaxe Gherkin :

GIVEN I browse the login page

WHEN I fill the « User » field with my username

AND I fill the « Password » field with my password

AND I click on the « Submit » button

THEN I access a welcome page where my name is mentionned.

Ce format a le mérite de forcer ses utilisateurs à identifier clairement des pré-requis au test (section GIVEN), de préciser les actions à réaliser (section WHEN) et enfin de préciser les résultats attendus (section THEN). Nous l'utiliserons tout au long du cours.

Testez vos connaissances !

Quelle est la différence entre un use case et un test case ?

  •  Il n'y en a pas, les deux servent à tester.
  •  Un test case est une instance de use case, autrement dit un use case que l'on applique dans un contexte donné.
  •  Les use cases sont forcément décrits en UML, ce qui n'est pas le cas des test cases.