TEST UNITAIRE
ISEN Dev’
SOMMAIRE
•
•
•
•
•
•
•
•
•
•
•
•

Qu’est ce qu’un test ?
Définition
Quelques règles
Avantage et intérêt
Outil de test
Cas ...
QU’EST CE QU’UN TEST ?
Un test est un ensemble de cas à tester
éventuellement accompagné d'une procédure
d'exécution. Il e...
QU’EST CE QU’UN TEST ?
Il existe différents niveaux de test :

Test unitaire
 Test d’intégration
 Test de charge
 Test ...
TEST UNITAIRE : DÉFINITION
Un test unitaire est une procédure permettant de
vérifier le bon fonctionnement d'une partie
pr...
TEST UNITAIRE : QUELQUES RÈGLES








Doit être isolé : il doit être indépendant
N’est pas un test de bout en bout :...
TEST UNITAIRE : QUELQUES RÈGLES










Ne teste pas d'enchainement d’action
Etre lancé le plus souvent possible : ...
TEST UNITAIRE : AVANTAGE ET
INTÉRÊT

Garantie la non régression
 Détection de bug plus facile
 Aide a isoler les fonctio...
TEST UNITAIRE : OUTIL DE TEST

PHP

JS

SQL

JAVA

PHPUnit
SimpleTest1

JSUnit

SQLUnit

JUnit

1 : Fonctionnement similai...
TEST UNITAIRE : CAS A TESTER
Lors de l’utilisation de test unitaire on se doit de
tester différents cas.
Cas en succès : f...
TEST UNITAIRE : LES RÉSULTATS
Un test unitaire peux renvoyer 4 résultats
différents :
Success : test réussi
 Error : erre...
TEST UNITAIRE : TDD
On peut piloter un projet par les test (Test Driven
Development). On voit l’avancement du projet par
l...
TEST UNITAIRE : MOCK
Quelques fois un test a besoin d’un composant pour
s’exécuter.
Par exemple pour tester le parseur XML...
TEST UNITAIRE : CONVENTION NOMMAGE
Il est recommandé d’utiliser une même convention
de nommage pour tout les test unitaire...
TEST UNITAIRE : UTILISATION DE JUNIT
Il n'y a pas de limite au nombre de tests au sein de notre classe
de test.

On écris ...
TEST UNITAIRE : UTILISATION DE JUNIT
Au sein des tests on utilise des assertions pour valider ou non un
test. Quelques ass...
TEST UNITAIRE : UTILISATION DE JUNIT
Nous allons écrire un classe de test très simple.

1 : import pour les assertions
2 :...
TEST UNITAIRE : CONCLUSION
Il est donc fortement conseillé d’utiliser les test unitaire
au sein de vos projets :
• Pour év...
TEST UNITAIRE
Merci a tous !

Présentation réalisé pour ISEN Dev le 28/11/2013

18
Prochain SlideShare
Chargement dans…5
×

Test unitaire

2 741 vues

Publié le

Il s'agit d'une initiation a l'utilisation des tests unitaires

La formation présentera les éléments suivants :

•Qu’est ce qu’un test ?
•Définition
•Quelques règles
•Avantage et intérêt
•Outil de test
•Cas à tester
•Les résultats
•Test Driven Development
•Mock
•Convention nommage
•Utilisation Junit
•Conclusion


Cette formation est proposée par ISEN Dev, un projet associatif étudiant de l'association Isen Engineering.
Elle est réalisé en 2013 par SAEZ Jonathan

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
2 741
Sur SlideShare
0
Issues des intégrations
0
Intégrations
379
Actions
Partages
0
Téléchargements
59
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Test unitaire

  1. 1. TEST UNITAIRE ISEN Dev’
  2. 2. SOMMAIRE • • • • • • • • • • • • Qu’est ce qu’un test ? Définition Quelques règles Avantage et intérêt Outil de test Cas à tester Les résultats Test Driven Development Mock Convention nommage Utilisation Junit Conclusion 1
  3. 3. QU’EST CE QU’UN TEST ? Un test est un ensemble de cas à tester éventuellement accompagné d'une procédure d'exécution. Il est lié à un objectif. Source : IEE 2
  4. 4. QU’EST CE QU’UN TEST ? Il existe différents niveaux de test : Test unitaire  Test d’intégration  Test de charge  Test fonctionnel  Test sécurité  ….  3
  5. 5. TEST UNITAIRE : DÉFINITION Un test unitaire est une procédure permettant de vérifier le bon fonctionnement d'une partie précise d'un logiciel. Il s’agit d’un code. En POO  on teste au niveau des classes Pour chaque classe on a une classe de test. 4
  6. 6. TEST UNITAIRE : QUELQUES RÈGLES     Doit être isolé : il doit être indépendant N’est pas un test de bout en bout : il agit que sur une portion de code Doit être déterministe : le résultat doit être le même pour les mêmes entrées Est le plus petit et simple possible 5
  7. 7. TEST UNITAIRE : QUELQUES RÈGLES      Ne teste pas d'enchainement d’action Etre lancé le plus souvent possible : intégration continue Etre lancé le plus tôt possible : détection des bug plus rapide Couvrir le plus de code possible Etre lancé a chaque modification 6
  8. 8. TEST UNITAIRE : AVANTAGE ET INTÉRÊT Garantie la non régression  Détection de bug plus facile  Aide a isoler les fonctions  Aide a voir l’avancement d’un projet (TDD)  7
  9. 9. TEST UNITAIRE : OUTIL DE TEST PHP JS SQL JAVA PHPUnit SimpleTest1 JSUnit SQLUnit JUnit 1 : Fonctionnement similaire a JUnit 8
  10. 10. TEST UNITAIRE : CAS A TESTER Lors de l’utilisation de test unitaire on se doit de tester différents cas. Cas en succès : fonctionnement normal  Cas d’erreur : test sur la gestion d’erreur  Cas aux limites : test de la robustesse  9
  11. 11. TEST UNITAIRE : LES RÉSULTATS Un test unitaire peux renvoyer 4 résultats différents : Success : test réussi  Error : erreur inattendue a l’exécution  Failure : au moins une assertion est fausse  Incomplete / skipped ( à éviter)  10
  12. 12. TEST UNITAIRE : TDD On peut piloter un projet par les test (Test Driven Development). On voit l’avancement du projet par l’avancement des test validés. Pour cela on réalise les test avant le code. A ce moment le test échoue, on implémente le code et pour qu’il se valide. Rédaction des tests 1 et 2 Code pour faire valider le test 2 Code pour faire valider le test 1 11
  13. 13. TEST UNITAIRE : MOCK Quelques fois un test a besoin d’un composant pour s’exécuter. Par exemple pour tester le parseur XML il faut du XML et dans l’application le XML provient d’internet. Il est alors utile d’utiliser des bouchons (MOCK) pour isoler le test. De plus un bouchon permet de tester tout les cas (valeur correcte, erroné etc.) 12
  14. 14. TEST UNITAIRE : CONVENTION NOMMAGE Il est recommandé d’utiliser une même convention de nommage pour tout les test unitaire. Par exemple test[nomMethode][cas][resultat/comportementAttendu](); Préfixe souvent imposé 13
  15. 15. TEST UNITAIRE : UTILISATION DE JUNIT Il n'y a pas de limite au nombre de tests au sein de notre classe de test. On écris au moins un test par méthode de la classe testée. Pour désigner une méthode comme un test, il suffit d’utiliser l'annotation @Test (a partir de JUnit4). 14
  16. 16. TEST UNITAIRE : UTILISATION DE JUNIT Au sein des tests on utilise des assertions pour valider ou non un test. Quelques assertions indispensable : Assertion Action assertEquals() Vérifie l’egalité entre deux entités assertNotEquals() Vérifie l’inégalité entre deux entités assertFalse() Vérifie que la valeur fourni en paramètre est fausse assertTrue() Vérifie que la valeur fourni en paramètre est vrai assertNull() Vérifie que la valeur fourni en paramètre est l’objet NULL assertNotNull() Vérifie que la valeur fourni en paramètre n’est pas l’objet NULL 15
  17. 17. TEST UNITAIRE : UTILISATION DE JUNIT Nous allons écrire un classe de test très simple. 1 : import pour les assertions 2 : import de Junit 7 : test 1 portant sur la somme 10 : assertion ok si les deux parties sont égales 14 : test 2 portant sur le début d’une chaine 16 : assertion ok la méthode renvoie la valeur vrai 16
  18. 18. TEST UNITAIRE : CONCLUSION Il est donc fortement conseillé d’utiliser les test unitaire au sein de vos projets : • Pour éviter les régressions • Valider son code • Voir l’avancement d’un projet 17
  19. 19. TEST UNITAIRE Merci a tous ! Présentation réalisé pour ISEN Dev le 28/11/2013 18

×