bonjour,
je dois faire des tests unitaires en language C.
Est-ce que quelqu'un pourrait me donner quelques exemples pour m'en ispirer ?
merci
-----
17/11/2005, 11h57
#2
invite4a7ad6a4
Date d'inscription
janvier 1970
Messages
136
Re : test unitaires en C
Salut,
Tout dépend de ton programme.
Exemple tu as codé une fonction. Tester en unitaire revient à créer un programme qui va appeler cette fonction selon tous les cas possibles (les bons cas, mais aussi les mauvais cas pour voir le comportement en erreur).
Exemple toujours, tu as une fonction de tri. Tu vas donc créer un programme qui va appeler ta fonction avec plusieurs jeux de données à trier. Dans ton jeu de données il te faudra absolument : des données non triées à trier (cas normal), des données triées (bah oui, et çà fait quoi si c'est déjà trié ?? Ca retrie ?? ), des données vides, un jeu de une donnée, un autre avec deux données (c'est ce qu'on appelle les cas aux limites).
Voila, j'espère que çà répond à ta question, sinon, n'hésite pas.
17/11/2005, 12h13
#3
invite9ce43b7f
Date d'inscription
janvier 1970
Messages
11
Re : test unitaires en C
merci Fred78
c'est déjà un bon debut pour mieux comprendre.
Donc si je comprends bien, il faudrait que je connaisse aussi le résultats réels attendus des fonctions à tester, n'est-ce pas ?
Et est-ce que l'appel aux différentes fonctions doit se faire via un seul program ?
Je veux dire, je dois faire un petit programme qui m'appelle au fur et à mesure toutes les fonctions ?
merci
17/11/2005, 12h43
#4
invite4a7ad6a4
Date d'inscription
janvier 1970
Messages
136
Re : test unitaires en C
Envoyé par essebi_o
Donc si je comprends bien, il faudrait que je connaisse aussi le résultats réels attendus des fonctions à tester, n'est-ce pas ?
Oui, et généralement mieux vaut savoir ce qu'on a (ou ce qu'on s'attend à avoir) à la fin d'une fonction
Tu dois réflechir aux différents cas (qu'est ce que ma fonction donne quand çà marche - la liste triée dans l'exemple -, mais aussi qu'est ce que ma fonction donne quand çà ne marche pas - cas nul, erreur, etc.).
Après cette phase de réflexion tu as normalement +/- tous les cas possibles.
Ces cas n'arrivent que si tu donnes à ta fonction certaines données en entrée (ex : la liste vide pour le tri).
Donc une fois que tu as tes <> cas tu as tes jeux de tests
Envoyé par essebi_o
Et est-ce que l'appel aux différentes fonctions doit se faire via un seul program ?
Je veux dire, je dois faire un petit programme qui m'appelle au fur et à mesure toutes les fonctions ?
Là, pas de règle absolue. Tout dépend du langage, si tu travaille avec un outil de test (CUnit), etc.
Comme tu es en unitaire, tu va faire un programme par "bloc" unitaire. Si ton bloc est un ensemble de fonctions (un module, une librairie, un fichier source), un programme pour tout tester (avec un déroulement logique bien sur).
Quand tu as un ens. de blocs, tu lances un script qui va lancer les programmes de tests unitaire de chacun.
(C'est là qu'on utilise des logiciels type CUnit,JUnit et cie)
Voila, je pense que çà complète un peu mon 1er post
@+
P.S : Bon des fois j'ai des phrases un peu tordues, alors hésite pas à me dire quand je fais une explication encore plus tordue que le problème