Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Première approche des Tests unitaires

Première approche des Tests unitaires

Support de TP de Java permettant d'introduire les tests unitaires aux élèves de 4° année d'école d'ingénieur (Polytech'Tours).
Course in French to allow young engineers to understand Unit testing.

Avatar for Cedric Gatay

Cedric Gatay

January 08, 2013

More Decks by Cedric Gatay

Other Decks in Programming

Transcript

  1. Pulling ITSM together Cedric Gatay - [email protected] 1 Tests unitaires

    Approche du développement piloté par les tests
  2. Pulling ITSM together Cedric Gatay - [email protected] Cedric Gatay •

    EPU DI 2008 • Orange • SRMvision @Cedric_Gatay [email protected] cedric.gatay.fr/+ 2
  3. Pulling ITSM together Cedric Gatay - [email protected] Agenda • Pourquoi

    ? • Quels outils ? • Comment ? • Quelques bonnes pratiques 3
  4. Pulling ITSM together Cedric Gatay - [email protected] Pourquoi ? •

    Le code parfait n’existe pas • Il est difficile de répondre parfaitement à un besoin • On cherche à réduire les coûts Les tests unitaires font partie du quotidien des développeurs 5
  5. Pulling ITSM together Cedric Gatay - [email protected] Quels effets ?

    • Le code devient • Explicité • Organisé • Assuré 7
  6. Pulling ITSM together Cedric Gatay - [email protected] Des tests ?

    Mais lesquels ? • Deux grands types de tests • boîte noire • boîte blanche 9
  7. Pulling ITSM together Cedric Gatay - [email protected] Tests : Black

    box • Tests d’acceptation • vérification du point de vue utilisateur • également appelés recette utilisateur • automatisable par des tests d’IHM • long et lourd à mettre en place 11
  8. Pulling ITSM together Cedric Gatay - [email protected] Tests : Black

    box • Tests fonctionnel • vérification d’un pan fonctionnel • respect du cahier des charges • assuré par l’équipe qualité • automatisable par des tests d’IHM • long et lourd à mettre en place 13
  9. Pulling ITSM together Cedric Gatay - [email protected] Tests : White

    box • Tests d’intégration • validation des algorithmes in situ • utilisation d’éléments externes • automatisable en écrivant du code • simple à mettre en place • potentiellement long à exécuter 15
  10. Pulling ITSM together Cedric Gatay - [email protected] Tests : White

    box • Tests unitaires • validation des algorithmes • limité au développement en cours • automatisable en écrivant du code • simple à mettre en place • extrêmement rapide à exécuter 17
  11. Pulling ITSM together Cedric Gatay - [email protected] Comment faire ?

    • Test Black box • réalisation manuelle • outils de simulation dans l’IHM • entrées et sorties vérifiées 19
  12. Pulling ITSM together Cedric Gatay - [email protected] Comment faire ?

    • Test White box • réalisation automatique • framework d’écritures de tests • on produit du code pour tester le code 20
  13. Pulling ITSM together Cedric Gatay - [email protected] JUnit • Test

    White box • Créé par Kent Beck et Erich Gamma • réalisation automatique • vérification sur des postulats simples • énormément utilisé dans l’industrie 22
  14. Pulling ITSM together Cedric Gatay - [email protected] JUnit • La

    moyenne d'aucune note doit retourner -1 • Il doit être impossible d'ajouter une note négative! • Il doit être impossible d'ajouter une note supérieure à 20! • Il doit être possible d'ajouter 16,5 28
  15. Pulling ITSM together Cedric Gatay - [email protected] JUnit • Le

    calcul de moyenne sur aucune note doit lever une PasDeNoteException ! • L’ajout d’une note négative doit lever une NoteNegativeException ! 29