Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

(PHP)Unit - bad Practices

938 Aufrufe

Veröffentlicht am

Ein kurzer Vortrag über Bad Practices bei Unit-Test.
Für den Webmontag Jena 2013-06-17

Veröffentlicht in: Bildung
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

(PHP)Unit - bad Practices

  1. 1. (PHP)Unit - Bad PracticesAnsätze für testbaren CodeErik Witthauer e.witthauer@gmail.com2013-06-14
  2. 2. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad PracticesWie kann man gutTestenEnde1AgendaWas ist Unit-Testing?Bad PracticesWie kann man gut Testen
  3. 3. 11(PHP)Unit - BadPracticesErik Witthauer1 Was istUnit-Testing?Bad PracticesWie kann man gutTestenEnde2Was ist Unit-Testing?Was ist Unit-Testing?
  4. 4. 11(PHP)Unit - BadPracticesErik Witthauer1 Was istUnit-Testing?Bad PracticesWie kann man gutTestenEnde3Was ist Unit-Testing?
  5. 5. 11(PHP)Unit - BadPracticesErik Witthauer1 Was istUnit-Testing?Bad PracticesWie kann man gutTestenEnde4Was ist Unit-Testing?Testen von kleinen Bereichen (Funktionen) im Code
  6. 6. 11(PHP)Unit - BadPracticesErik Witthauer1 Was istUnit-Testing?Bad PracticesWie kann man gutTestenEnde5Was ist Unit-Testing?Testen von kleinen Bereichen (Funktionen) im CodeSicherstellung, dass eine Einheit das erwartete Ergebnisliefert.
  7. 7. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?2 Bad PracticesWie kann man gutTestenEnde6Bad PracticesBad Practices
  8. 8. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?2 Bad PracticesWie kann man gutTestenEnde7Bad Practices
  9. 9. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?2 Bad PracticesWie kann man gutTestenEnde8Bad PracticesAllround-Funktionen
  10. 10. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?2 Bad PracticesWie kann man gutTestenEnde9Bad PracticesAllround-FunktionenTest-Arten vermischen
  11. 11. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?2 Bad PracticesWie kann man gutTestenEnde10Bad PracticesAllround-FunktionenTest-Arten vermischenViele interne Abhängigkeiten
  12. 12. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?2 Bad PracticesWie kann man gutTestenEnde11Bad PracticesAllround-FunktionenTest-Arten vermischenViele interne AbhängigkeitenImmer 100% erreichen
  13. 13. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?2 Bad PracticesWie kann man gutTestenEnde12Bad PracticesAllround-FunktionenTest-Arten vermischenViele interne AbhängigkeitenImmer 100% erreichenAlle Möglichkeiten des Frameworks nutzen wollen
  14. 14. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?2 Bad PracticesWie kann man gutTestenEnde13Bad PracticesAllround-FunktionenTest-Arten vermischenViele interne AbhängigkeitenImmer 100% erreichenAlle Möglichkeiten des Frameworks nutzen wollenKeine Dokumentation
  15. 15. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?2 Bad PracticesWie kann man gutTestenEnde14Bad PracticesAllround-FunktionenTest-Arten vermischenViele interne AbhängigkeitenImmer 100% erreichenAlle Möglichkeiten des Frameworks nutzen wollenKeine DokumentationSchlechte Bezeichnung
  16. 16. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?2 Bad PracticesWie kann man gutTestenEnde15Bad PracticesAllround-FunktionenTest-Arten vermischenViele interne AbhängigkeitenImmer 100% erreichenAlle Möglichkeiten des Frameworks nutzen wollenKeine DokumentationSchlechte BezeichnungVerwirrender Code
  17. 17. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?2 Bad PracticesWie kann man gutTestenEnde16Bad PracticesAllround-FunktionenTest-Arten vermischenViele interne AbhängigkeitenImmer 100% erreichenAlle Möglichkeiten des Frameworks nutzen wollenKeine DokumentationSchlechte BezeichnungVerwirrender CodeExtra Anweisungen für Test-Szenarien
  18. 18. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?2 Bad PracticesWie kann man gutTestenEnde17Bad PracticesAllround-FunktionenTest-Arten vermischenViele interne AbhängigkeitenImmer 100% erreichenAlle Möglichkeiten des Frameworks nutzen wollenKeine DokumentationSchlechte BezeichnungVerwirrender CodeExtra Anweisungen für Test-SzenarienZu vieles Mocken
  19. 19. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad Practices3 Wie kann man gutTestenEnde18Wie kann man gut TestenWie kann man gut Testen
  20. 20. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad Practices3 Wie kann man gutTestenEnde19Wie kann man gut Testen
  21. 21. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad Practices3 Wie kann man gutTestenEnde20Wie kann man gut TestenKleine Funktionen für eine Aufgabe
  22. 22. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad Practices3 Wie kann man gutTestenEnde21Wie kann man gut TestenKleine Funktionen für eine AufgabeJe Test nur einen Fall beachten
  23. 23. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad Practices3 Wie kann man gutTestenEnde22Wie kann man gut TestenKleine Funktionen für eine AufgabeJe Test nur einen Fall beachtenKeine Abläufe testen
  24. 24. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad Practices3 Wie kann man gutTestenEnde23Wie kann man gut TestenKleine Funktionen für eine AufgabeJe Test nur einen Fall beachtenKeine Abläufe testen→ Acceptance Test, End-to-End Test, Edge-to-EdgeTest, System Test etc.
  25. 25. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad Practices3 Wie kann man gutTestenEnde24Wie kann man gut TestenKleine Funktionen für eine AufgabeJe Test nur einen Fall beachtenKeine Abläufe testen→ Acceptance Test, End-to-End Test, Edge-to-EdgeTest, System Test etc.Nicht alle Funktionen des Frameworks nutzen (müssen)
  26. 26. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad Practices3 Wie kann man gutTestenEnde25Wie kann man gut Testen
  27. 27. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad Practices3 Wie kann man gutTestenEnde26Wie kann man gut TestenAbhängigkeiten austauschbar machen → DependencyInjection
  28. 28. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad Practices3 Wie kann man gutTestenEnde27Wie kann man gut TestenAbhängigkeiten austauschbar machen → DependencyInjectionMöglichst keine globalen Variablen
  29. 29. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad Practices3 Wie kann man gutTestenEnde28Wie kann man gut TestenAbhängigkeiten austauschbar machen → DependencyInjectionMöglichst keine globalen VariablenKeine ’Orte’ voraussetzen (Registry o.ä.)
  30. 30. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad Practices3 Wie kann man gutTestenEnde29Wie kann man gut TestenAbhängigkeiten austauschbar machen → DependencyInjectionMöglichst keine globalen VariablenKeine ’Orte’ voraussetzen (Registry o.ä.)Möglichst nur einen Rückgabetypen
  31. 31. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad Practices3 Wie kann man gutTestenEnde30Wie kann man gut TestenAbhängigkeiten austauschbar machen → DependencyInjectionMöglichst keine globalen VariablenKeine ’Orte’ voraussetzen (Registry o.ä.)Möglichst nur einen RückgabetypenNicht immer 100% erreichen, das wichtigste reicht
  32. 32. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad Practices3 Wie kann man gutTestenEnde31Wie kann man gut TestenAbhängigkeiten austauschbar machen → DependencyInjectionMöglichst keine globalen VariablenKeine ’Orte’ voraussetzen (Registry o.ä.)Möglichst nur einen RückgabetypenNicht immer 100% erreichen, das wichtigste reichtKeine Überraschungen im Code
  33. 33. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad Practices3 Wie kann man gutTestenEnde32Wie kann man gut TestenAbhängigkeiten austauschbar machen → DependencyInjectionMöglichst keine globalen VariablenKeine ’Orte’ voraussetzen (Registry o.ä.)Möglichst nur einen RückgabetypenNicht immer 100% erreichen, das wichtigste reichtKeine Überraschungen im CodeKeine Tricks für Tests nutzen
  34. 34. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad Practices3 Wie kann man gutTestenEnde33Wie kann man gut TestenThe secret in testing is in writingtestable code!Miško Hevery
  35. 35. 11(PHP)Unit - BadPracticesErik WitthauerWas istUnit-Testing?Bad PracticesWie kann man gutTesten4 Ende34Vielen Dank

×