Академический Документы
Профессиональный Документы
Культура Документы
CUnit
Encadre par : Ralise par : Youssef baddaz Abdelfateh el-ouadiki
1/16
Plan
Les
tests en gnral Cunit Exemple Registres suites et tests Lancement des tests Conclusion
2/16
Les tests
Les logiciels deviennent de plus en plus complexes et importants. Pas de programme sans bug!
Important de tester avant de distribuer son code.
3/16
Les tests
On peut distinguer les tests en fonction de leur :
objectif :
scnario : vrifier que le comportement fonctionnel est bien celui attendu non-regression : ce qui fonctionnait dans les version prcdentes du code fonctionne toujours dans la nouvelle version performance (bench) ou charge (load) : les temps de rponse une requte sont conformes aux attentes intgration/fonctionnels : le code s'intgre bien avec les autres lments du systme.
cible :
scnarios : tester un cas d'utilisation unitaires : tester un composant du systme
technologie :
Web : envoyer des requtes Web simulant le comportement d'utilisateur(s)
4/16
5/16
parties centrales
6/16
CUnit
Le test unitaire est un procd permettant de s'assurer du fonctionnement correct d'une partie dtermine d'un logiciel ou d'une portion d'un programme.
7/16
CUnit
Il utilise une plateforme permettant de construire des structures de test et fournissant un ensemble daffirmations (assertion) riche pour le test des types de donnes communes.
Il offre diffrentes interfaces, statiques et dynamiques, pour lancer les tests et reporter les rsultats
8/16
9/16
Utilisation gnrale
1. criture des fonctions pour les tests et les suites (initialisation et dsallocation) si ncessaire 2. Initialisation du registre de test - CU_initialize_registry ()
CUnit
fonction d'assertion
Une assertion est un lment de spcification plac au sein du code. Une assertion est caractrise par une condition boolenne qui doit tre vraie. Dans le cas d'un test, une assertion fausse entrane l'chec du test. En gnral, on associe chaque assertion un message d'erreur. Si l'assertion est fausse, le message d'erreur est affich.
11/16
CUnit
Fonction test
12/16
Exemple
Soit la fonction maxi qui retourne le max de deux entiers :
int maxi (int i1, int i2) { return (i1 > i2)? i1: i2; }
13/16
Void test_maxi (void) { CU_ASSERT (maxi(0,2) == 2); CU_ASSERT (maxi (0,-2) == 0); CU_ASSERT (maxi(2,2) == 2); }
14/16
16/16
18/16
Remarque
Les rsultats sont effacs chaque nouveau lancement.
19/16
Non interactif
CU_ErrorCode CU_basic_run_tests (void) CU_ErrorCode CU_basic_run_suite (CU_pSuite pSuite)
interactif
vide CU_curses_run_tests (void)
20/16
conclusion
Les interfaces prsentent les rsultats des tests. Cependant, le code du testeur pourrait avoir besoin de rsultats intermdiaires. Ces rsultats peuvent inclure le nombre de lancements
Cunit est un logiciel, il prsente ainsi plusieurs erreurs permettant de reprer son comportement. Par exemple, erreur dinitialisation de registre, duplication du nom dune suite de test, erreur douverture de fichier, etc
Par dfaut, si une erreur plate-forme survient, son code est enregistr et le scnario de test est pour suivit. Parfois, le testeur a besoin darrter le test afin dviter la corrlation des fautes. (Ignorer, le test arrt ou lapplication exit)
21/16