Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Unit Testing
Responsable
#4
Unique
#5
Atomique
#1
Les bonnes pratiques des projets Agiles
5
Descriptif
#3
Consistent
#2
A propos
Denis Voituron
Ingénieur civil (Mons)
Foundateur de BMind
Développeur VB3, VB.Net, C#
Principal .Net Architect
Cr...
Agenda
1. Concepts et définition
2. Pourquoi tester ?
3. Quoi tester ?
4. Comment tester ?
Les cinq bonnes pratiques des U...
Scrum
Cadre de travail pour répondre à des
problèmes changeants, tout en livrant
des produits de qualité.
1. Transparence
...
Participants
Product Owner Scrum MasterDevelopment Team
Product Backlog
(Carnet de produit)
Incrément
(Produit à chaque Sp...
Événements – Users Stories
http://scrum-poster.com
“En tant que [personne], je voudrais [faire quelque chose], ainsi [béné...
Événements – Sprint Planning
http://scrum-poster.com
Événements – Sprint
http://scrum-poster.com
Événements – Daily Scrum
http://scrum-poster.com
Événements – Sprint Review
http://scrum-poster.com
Événements
http://scrum-poster.com
Incrément
Événements
http://scrum-poster.com
Unit Tests
Concepts
• Procédure permettant de vérifier le
bon fonctionnement d'une partie
précise d'un logiciel Unit Testing
Le code ...
Mise en production
Comment mettre en Production dans les années 2000
Fonce, on verra après !
Agile
Planifier les tests sur la route Agile
• Définir une stratégie de test
• Définir le cadre des tests
• Réouvrir fréqu...
Pourquoi ?
1. Trouver les erreurs rapidement
Ecrire les tests en même temps, ou même avant la fonction à tester
2. Sécuris...
Quoi ?
Test Project
Test Fixture
Test Test Test Test
Test Fixture
Test Test Test Test
Un par assembly, package
Un par clas...
Quoi ?
Business
Entity
Data
Layer
Data
Access
Layer
User
Interface
Unit Testing tests one layer
Integration Testing tests ...
Réactions
Bonnes Pratiques
Cinq Bonnes pratiques
#1. Consistent
Toujours retourner la même
valeur, à condition que le
code soit identique.
DateTime c...
Cinq Bonnes pratiques
#2. Atomique
Ne tester qu’un
petit morceau
de fonctionnalité.
Cinq Bonnes pratiques
#3. Responsabilité unique
Doit être responsable que
d'un seul scénario.
void TestMethod()
{
Assert.I...
Cinq Bonnes pratiques
#4. Auto Descriptif
Doit être facile à lire
et à comprendre
• Variable Names
• Method Names
• Class ...
Cinq Bonnes pratiques
#5. Pas de conditions ou de boucles
Il ne peut pas y avoir d’incertitude.
void TestBeforeOrAfter()
{...
Demo
• Concepts et Définition
• Pourquoi Tester ?
• Quoi Tester ?
• Comment Tester ?
• Consistent
• Atomique
• Responsabilité u...
Upcoming SlideShare
Loading in …5
×

Les cinq bonnes pratiques des Tests Unitaires dans un projet Agile

988 views

Published on

Les projets Agiles imposent leurs propres défis aux équipes de test. Un projet Agile est souvent basé sur de multiples itérations, exploite un périmètre de développement incertain, travaille avec une documentation minimaliste. Rapidement, les Tests Unitaires se font sentir pour garantir des évolutions logicielles en douceur.
Lors de cette session, nous présenterons les concepts de base des tests unitaires, quelles en sont les implications et quels sont les sujets applicatifs à tester. Dans la seconde partie de cette session, nous présenterons, par des démonstrations en direct dans Microsoft Visual Studio, les 5 bonnes pratiques des Tests Unitaires intégrés dans un cycle de vie Agile.

Exemples sur https://github.com/dvoituron/SampleUnitTests

  • Be the first to comment

  • Be the first to like this

Les cinq bonnes pratiques des Tests Unitaires dans un projet Agile

  1. 1. Unit Testing Responsable #4 Unique #5 Atomique #1 Les bonnes pratiques des projets Agiles 5 Descriptif #3 Consistent #2
  2. 2. A propos Denis Voituron Ingénieur civil (Mons) Foundateur de BMind Développeur VB3, VB.Net, C# Principal .Net Architect Créateur DevApps.be Blogger
  3. 3. Agenda 1. Concepts et définition 2. Pourquoi tester ? 3. Quoi tester ? 4. Comment tester ? Les cinq bonnes pratiques des Unit Tests 5. Démonstration
  4. 4. Scrum Cadre de travail pour répondre à des problèmes changeants, tout en livrant des produits de qualité. 1. Transparence • Tous les processus doivent être visibles des participants. • Définition d’un standard commun (ex. définir « Terminé »). 2. Inspection • L’équipe doit fréquemment inspecter l’avancement et les artéfacts Scrum. 3. Adaptation • Ajuster, dès que possible, les dérives détectées.
  5. 5. Participants Product Owner Scrum MasterDevelopment Team Product Backlog (Carnet de produit) Incrément (Produit à chaque Sprint)
  6. 6. Événements – Users Stories http://scrum-poster.com “En tant que [personne], je voudrais [faire quelque chose], ainsi [bénéfice]”
  7. 7. Événements – Sprint Planning http://scrum-poster.com
  8. 8. Événements – Sprint http://scrum-poster.com
  9. 9. Événements – Daily Scrum http://scrum-poster.com
  10. 10. Événements – Sprint Review http://scrum-poster.com
  11. 11. Événements http://scrum-poster.com Incrément
  12. 12. Événements http://scrum-poster.com
  13. 13. Unit Tests
  14. 14. Concepts • Procédure permettant de vérifier le bon fonctionnement d'une partie précise d'un logiciel Unit Testing Le code fonctionne-il correctement seul ? Integration Testing Le code fonctionne-il correctement ensemble ? User Acceptance Testing Le système rencontre les besoins des utilisateurs finaux ?
  15. 15. Mise en production Comment mettre en Production dans les années 2000 Fonce, on verra après !
  16. 16. Agile Planifier les tests sur la route Agile • Définir une stratégie de test • Définir le cadre des tests • Réouvrir fréquemment les tests • Identifier les risques • Récupérer des retours fréquents https://www.3pillarglobal.com/insights/5-rules-to-the-road-for-test-planning-in-agile
  17. 17. Pourquoi ? 1. Trouver les erreurs rapidement Ecrire les tests en même temps, ou même avant la fonction à tester 2. Sécurise la maintenance Lors d'une modification d'un programme les tests unitaires signalent les éventuelles régressions 3. Documentation Il est très utile de lire les tests pour comprendre comment s'utilise une méthode
  18. 18. Quoi ? Test Project Test Fixture Test Test Test Test Test Fixture Test Test Test Test Un par assembly, package Un par classe Un par unit (pas nécessairement par méthode)
  19. 19. Quoi ? Business Entity Data Layer Data Access Layer User Interface Unit Testing tests one layer Integration Testing tests across layers.A Mock allows a dependency to be imitated so the Unit test can be isolated.
  20. 20. Réactions
  21. 21. Bonnes Pratiques
  22. 22. Cinq Bonnes pratiques #1. Consistent Toujours retourner la même valeur, à condition que le code soit identique. DateTime currentDate = DateTime.Now; int value = new Random().Next();
  23. 23. Cinq Bonnes pratiques #2. Atomique Ne tester qu’un petit morceau de fonctionnalité.
  24. 24. Cinq Bonnes pratiques #3. Responsabilité unique Doit être responsable que d'un seul scénario. void TestMethod() { Assert.IsTrue(behavior1); Assert.IsTrue(behavior2); } void TestMethodCheckBehavior1() { Assert.IsTrue(behavior1); } void TestMethodCheckBehavior2() { Assert.IsTrue(behavior2); }
  25. 25. Cinq Bonnes pratiques #4. Auto Descriptif Doit être facile à lire et à comprendre • Variable Names • Method Names • Class Names void CanMakeReservation() { ... } void TotalBillEqualsSumOfMenuItemPrices() { ... } Auto Descriptif
  26. 26. Cinq Bonnes pratiques #5. Pas de conditions ou de boucles Il ne peut pas y avoir d’incertitude. void TestBeforeOrAfter() { if (before) { Assert.IsTrue(behavior1); } else if (after) { Assert.IsTrue(behavior2); } } void TestBefore() { Assert.IsTrue(behavior1); } void TestAfter() { Assert.IsTrue(behavior2); }
  27. 27. Demo
  28. 28. • Concepts et Définition • Pourquoi Tester ? • Quoi Tester ? • Comment Tester ? • Consistent • Atomique • Responsabilité unique • Auto Descriptif • Pas de conditions ou de boucles Unit Testing

×