Tasteful

Thomas BAILLY
Thomas BAILLYIngénieur Méthodes .NET chez Michelin à Michelin
Tasteful
Testons notre application avant de la développer
Le TDD
Test Driven Development
(Développement Piloté par les Tests)
ou
Tuatha De Danann
L’utilisation « prénatale »
Principe Fondateur
Prenaquoi ?
• Ecriture des tests en premier
• Avantages
• Testabilité
• Qualité
• Maintenabilité
Le cycle
• Créer un test
• Faire compiler le test
• Echouer au test
• Simuler/Implémenter/Trianguler le test
• Passer le test
• Remanier le code
Créer le test
[TestMethod]
public void TodoToTodoDTO()
{
var todo = new Todo { Name = ‘’A faire’’ };
var todoDTO = TodoFactory.CreateDTO(todo);
Assert.AreEqual(todo.Name, todoDTO.Name)
}
OK
Faire compiler le test
public class Todo
{
public string Name { get; set; }
}
public class TodoDTO
{
public string Name { get; set; }
}
OK
OK
Echouer au test
public static class TodoFactory
{
public static TodoDTO CreateDTO(Todo todo)
{
throw new NotImplementedException();
}
}
OK
OK
OK
Implementer le test
• Simulation : retour d’une constante par exemple
• Implémentation : code réel
• Triangulation : plusieurs exemples qu’on généralise
OK
OK
OK
Implementer le test
public static class TodoFactory
{
public static TodoDTO CreateDTO(Todo todo)
{
return new TodoDTO { Name = todo.Name };
}
}
OK
OK
OK
OK
Passer le test
[TestMethod]
public void TodoToTodoDTO()
{
var todo = new Todo { Name = ‘’A faire’’ };
var todoDTO = TodoFactory.CreateDTO(todo);
Assert.AreEqual(todo.Name, todoDTO.Name)
}
OK
OK
OK
OK
OK
Remanier le code
• Don't Repeat Yourself
• Définir des interfaces
• Assurer la testabilité
OK
OK
OK
OK
OK
OK
Compléments
• Rester simple !
• Une idée des timings ?
• Créer/Implémenter/Passer le test : 5 min
• Remanier le code : 10 min
• Mock et stubs à la rescousse
0 Bug
Votre Nouvelle Mission
1 sur 14

Recommandé

Flex Unit Testing par
Flex Unit TestingFlex Unit Testing
Flex Unit TestingChristophe Keromen
836 vues56 diapositives
Contact sheet par
Contact sheetContact sheet
Contact sheetShannonOrr
267 vues17 diapositives
Bollettino SIL N. 42-14 par
Bollettino SIL N. 42-14Bollettino SIL N. 42-14
Bollettino SIL N. 42-14Sil Serviziodinclusionelavorativa
292 vues3 diapositives
Seminario 6 par
Seminario 6Seminario 6
Seminario 6yasminageybarroso
155 vues8 diapositives
Presentación ámbito escolar (2) par
Presentación ámbito escolar (2)Presentación ámbito escolar (2)
Presentación ámbito escolar (2)cristina_oliva_
516 vues15 diapositives
Προστασία από τα μικρόβια par
Προστασία από τα μικρόβιαΠροστασία από τα μικρόβια
Προστασία από τα μικρόβιαparkouk Koukoulis
17.8K vues11 diapositives

Contenu connexe

Similaire à Tasteful

testUnitaire (1).pptx par
testUnitaire (1).pptxtestUnitaire (1).pptx
testUnitaire (1).pptxManalAg
15 vues29 diapositives
Comment écrire du code testable ? par
Comment écrire du code testable ?Comment écrire du code testable ?
Comment écrire du code testable ?Fou Cha
5K vues114 diapositives
Bbl sur les tests par
Bbl sur les testsBbl sur les tests
Bbl sur les testsIdriss Neumann
14.8K vues21 diapositives
Unit testing and TDD par
Unit testing and TDDUnit testing and TDD
Unit testing and TDDDavid Bottiau
1.5K vues14 diapositives
Test unitaire par
Test unitaireTest unitaire
Test unitaireGuillaume Ehret
1.3K vues14 diapositives
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur... par
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...Cyrille Grandval
3.2K vues43 diapositives

Similaire à Tasteful(20)

testUnitaire (1).pptx par ManalAg
testUnitaire (1).pptxtestUnitaire (1).pptx
testUnitaire (1).pptx
ManalAg15 vues
Comment écrire du code testable ? par Fou Cha
Comment écrire du code testable ?Comment écrire du code testable ?
Comment écrire du code testable ?
Fou Cha5K vues
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur... par Cyrille Grandval
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
Cyrille Grandval3.2K vues
7 astuces pour améliorer vos tests unitaires par Pascal Laurin
7 astuces pour améliorer vos tests unitaires7 astuces pour améliorer vos tests unitaires
7 astuces pour améliorer vos tests unitaires
Pascal Laurin768 vues
TDD (Test Driven Developement) et refactoring par neuros
TDD (Test Driven Developement) et refactoringTDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoring
neuros1.5K vues
Formation Gratuite Total Tests par les experts Java Ippon par Ippon
Formation Gratuite Total Tests par les experts Java Ippon Formation Gratuite Total Tests par les experts Java Ippon
Formation Gratuite Total Tests par les experts Java Ippon
Ippon17.2K vues
Tester unitairement une application java par Antoine Rey
Tester unitairement une application javaTester unitairement une application java
Tester unitairement une application java
Antoine Rey9.9K vues
Marathon De L Industrialisation par PHPPRO
Marathon De L IndustrialisationMarathon De L Industrialisation
Marathon De L Industrialisation
PHPPRO483 vues
Accélérer les tests d’acceptation avec un DSL et du refactoring par Laurent PY
Accélérer les tests d’acceptation avec un DSL et du refactoringAccélérer les tests d’acceptation avec un DSL et du refactoring
Accélérer les tests d’acceptation avec un DSL et du refactoring
Laurent PY2.3K vues
Intro sur les tests unitaires par PHPPRO
Intro sur les tests unitairesIntro sur les tests unitaires
Intro sur les tests unitaires
PHPPRO8.8K vues
Formation Extreme Programming, Tests unitaires, travail collaboratif par kemenaran
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratif
kemenaran3.1K vues
Human Talks Grenoble - 11/12/2012 - TDD par Xavier NOPRE
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDD
Xavier NOPRE2.4K vues

Tasteful

  • 1. Tasteful Testons notre application avant de la développer
  • 2. Le TDD Test Driven Development (Développement Piloté par les Tests) ou Tuatha De Danann
  • 3. L’utilisation « prénatale » Principe Fondateur
  • 4. Prenaquoi ? • Ecriture des tests en premier • Avantages • Testabilité • Qualité • Maintenabilité
  • 5. Le cycle • Créer un test • Faire compiler le test • Echouer au test • Simuler/Implémenter/Trianguler le test • Passer le test • Remanier le code
  • 6. Créer le test [TestMethod] public void TodoToTodoDTO() { var todo = new Todo { Name = ‘’A faire’’ }; var todoDTO = TodoFactory.CreateDTO(todo); Assert.AreEqual(todo.Name, todoDTO.Name) } OK
  • 7. Faire compiler le test public class Todo { public string Name { get; set; } } public class TodoDTO { public string Name { get; set; } } OK OK
  • 8. Echouer au test public static class TodoFactory { public static TodoDTO CreateDTO(Todo todo) { throw new NotImplementedException(); } } OK OK OK
  • 9. Implementer le test • Simulation : retour d’une constante par exemple • Implémentation : code réel • Triangulation : plusieurs exemples qu’on généralise OK OK OK
  • 10. Implementer le test public static class TodoFactory { public static TodoDTO CreateDTO(Todo todo) { return new TodoDTO { Name = todo.Name }; } } OK OK OK OK
  • 11. Passer le test [TestMethod] public void TodoToTodoDTO() { var todo = new Todo { Name = ‘’A faire’’ }; var todoDTO = TodoFactory.CreateDTO(todo); Assert.AreEqual(todo.Name, todoDTO.Name) } OK OK OK OK OK
  • 12. Remanier le code • Don't Repeat Yourself • Définir des interfaces • Assurer la testabilité OK OK OK OK OK OK
  • 13. Compléments • Rester simple ! • Une idée des timings ? • Créer/Implémenter/Passer le test : 5 min • Remanier le code : 10 min • Mock et stubs à la rescousse