logo
Jeux d'essai (Tester ses programmes)

Un jeux d’essai (test cases) est la description d’une suite d’action et de résultats attendus, ayant pour objectif la validation d’une fonctionnalité de l’application.

Dans l'exemple ci-dessous, la fonction croissant est fournie avec un jeu d'essai associé.

Celui-ci consiste en 5 assertions (tests) qui permettent de tester que la fonction retourne le bon résultat suivant différentes valeurs d'arguments passés en paramètre.

Chaque test est identifié par la phrase "Pass test" suivi du numéro du test. A l'execution de votre programme chaque test doit être validé par True.

Exemple : Pass test1 --> True indique que le test n°1 est réussi.


Soit la fonction croissant qui renvoie True si les 3 valeurs passées en paramètres sont données dans l'ordre strictement croissant.
# fonction croissant
# Entrée : a,b,c de type nombre
# Sortie : valeur booléenne (True si a,b,c sont tels que a<b<c ; False sinon)
def croissant(a,b,c):
	return a<b<c		

# Jeu d'essai
print("Pass test1 --> ",croissant(1,5,9)==True)
print("Pass test2 --> ",croissant(1,5,2)==False)
print("Pass test3 --> ",croissant(7,3,4)==False)
print("Pass test4 --> ",croissant(9,7,5)==False)
print("Pass test5 --> ",croissant(5,5,5)==False)

Il est aussi possible d'utiliser le mot réservé assert.

Une assertion est une affirmation sous forme de condition qui doit être vérifiée.

Dans ce cas le jeu d'essai ne générera une sortie sur la console qu'en cas d'échec de l'assertion.

# fonction croissant
# Entrée : a,b,c de type nombre
# Sortie : valeur booléenne (True si a,b,c sont tels que a<b<c ; False sinon)
def croissant(a,b,c):
	return a<b<c		

# Jeu d'essai
assert(croissant(1,5,9)==True)
assert(croissant(1,5,2)==False)
assert(croissant(7,3,4)==False)
assert(croissant(9,7,5)==False)
assert(croissant(5,5,5)==False)

Nous nous limiterons ici à l'écriture de jeux d'essai élémentaires.

Différents aspects peuvent être testés :


Pour aller plus loin :

  1. Concevoir des jeux d'essai.
  2. Test et recette.
  3. pythonTutor

CC BY SA  ( Christophe Béasse - Mai 2019 )