SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
(PHP)Unit - Bad Practices
Ansätze für testbaren Code
Erik Witthauer e.witthauer@gmail.com
2013-06-14
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
Wie kann man gut
Testen
Ende
1
Agenda
Was ist Unit-Testing?
Bad Practices
Wie kann man gut Testen
11
(PHP)Unit - Bad
Practices
Erik Witthauer
1 Was ist
Unit-Testing?
Bad Practices
Wie kann man gut
Testen
Ende
2
Was ist Unit-Testing?
Was ist Unit-Testing?
11
(PHP)Unit - Bad
Practices
Erik Witthauer
1 Was ist
Unit-Testing?
Bad Practices
Wie kann man gut
Testen
Ende
3
Was ist Unit-Testing?
11
(PHP)Unit - Bad
Practices
Erik Witthauer
1 Was ist
Unit-Testing?
Bad Practices
Wie kann man gut
Testen
Ende
4
Was ist Unit-Testing?
Testen von kleinen Bereichen (Funktionen) im Code
11
(PHP)Unit - Bad
Practices
Erik Witthauer
1 Was ist
Unit-Testing?
Bad Practices
Wie kann man gut
Testen
Ende
5
Was ist Unit-Testing?
Testen von kleinen Bereichen (Funktionen) im Code
Sicherstellung, dass eine Einheit das erwartete Ergebnis
liefert.
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
2 Bad Practices
Wie kann man gut
Testen
Ende
6
Bad Practices
Bad Practices
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
2 Bad Practices
Wie kann man gut
Testen
Ende
7
Bad Practices
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
2 Bad Practices
Wie kann man gut
Testen
Ende
8
Bad Practices
Allround-Funktionen
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
2 Bad Practices
Wie kann man gut
Testen
Ende
9
Bad Practices
Allround-Funktionen
Test-Arten vermischen
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
2 Bad Practices
Wie kann man gut
Testen
Ende
10
Bad Practices
Allround-Funktionen
Test-Arten vermischen
Viele interne Abhängigkeiten
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
2 Bad Practices
Wie kann man gut
Testen
Ende
11
Bad Practices
Allround-Funktionen
Test-Arten vermischen
Viele interne Abhängigkeiten
Immer 100% erreichen
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
2 Bad Practices
Wie kann man gut
Testen
Ende
12
Bad Practices
Allround-Funktionen
Test-Arten vermischen
Viele interne Abhängigkeiten
Immer 100% erreichen
Alle Möglichkeiten des Frameworks nutzen wollen
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
2 Bad Practices
Wie kann man gut
Testen
Ende
13
Bad Practices
Allround-Funktionen
Test-Arten vermischen
Viele interne Abhängigkeiten
Immer 100% erreichen
Alle Möglichkeiten des Frameworks nutzen wollen
Keine Dokumentation
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
2 Bad Practices
Wie kann man gut
Testen
Ende
14
Bad Practices
Allround-Funktionen
Test-Arten vermischen
Viele interne Abhängigkeiten
Immer 100% erreichen
Alle Möglichkeiten des Frameworks nutzen wollen
Keine Dokumentation
Schlechte Bezeichnung
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
2 Bad Practices
Wie kann man gut
Testen
Ende
15
Bad Practices
Allround-Funktionen
Test-Arten vermischen
Viele interne Abhängigkeiten
Immer 100% erreichen
Alle Möglichkeiten des Frameworks nutzen wollen
Keine Dokumentation
Schlechte Bezeichnung
Verwirrender Code
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
2 Bad Practices
Wie kann man gut
Testen
Ende
16
Bad Practices
Allround-Funktionen
Test-Arten vermischen
Viele interne Abhängigkeiten
Immer 100% erreichen
Alle Möglichkeiten des Frameworks nutzen wollen
Keine Dokumentation
Schlechte Bezeichnung
Verwirrender Code
Extra Anweisungen für Test-Szenarien
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
2 Bad Practices
Wie kann man gut
Testen
Ende
17
Bad Practices
Allround-Funktionen
Test-Arten vermischen
Viele interne Abhängigkeiten
Immer 100% erreichen
Alle Möglichkeiten des Frameworks nutzen wollen
Keine Dokumentation
Schlechte Bezeichnung
Verwirrender Code
Extra Anweisungen für Test-Szenarien
Zu vieles Mocken
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
3 Wie kann man gut
Testen
Ende
18
Wie kann man gut Testen
Wie kann man gut Testen
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
3 Wie kann man gut
Testen
Ende
19
Wie kann man gut Testen
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
3 Wie kann man gut
Testen
Ende
20
Wie kann man gut Testen
Kleine Funktionen für eine Aufgabe
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
3 Wie kann man gut
Testen
Ende
21
Wie kann man gut Testen
Kleine Funktionen für eine Aufgabe
Je Test nur einen Fall beachten
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
3 Wie kann man gut
Testen
Ende
22
Wie kann man gut Testen
Kleine Funktionen für eine Aufgabe
Je Test nur einen Fall beachten
Keine Abläufe testen
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
3 Wie kann man gut
Testen
Ende
23
Wie kann man gut Testen
Kleine Funktionen für eine Aufgabe
Je Test nur einen Fall beachten
Keine Abläufe testen
→ Acceptance Test, End-to-End Test, Edge-to-Edge
Test, System Test etc.
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
3 Wie kann man gut
Testen
Ende
24
Wie kann man gut Testen
Kleine Funktionen für eine Aufgabe
Je Test nur einen Fall beachten
Keine Abläufe testen
→ Acceptance Test, End-to-End Test, Edge-to-Edge
Test, System Test etc.
Nicht alle Funktionen des Frameworks nutzen (müssen)
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
3 Wie kann man gut
Testen
Ende
25
Wie kann man gut Testen
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
3 Wie kann man gut
Testen
Ende
26
Wie kann man gut Testen
Abhängigkeiten austauschbar machen → Dependency
Injection
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
3 Wie kann man gut
Testen
Ende
27
Wie kann man gut Testen
Abhängigkeiten austauschbar machen → Dependency
Injection
Möglichst keine globalen Variablen
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
3 Wie kann man gut
Testen
Ende
28
Wie kann man gut Testen
Abhängigkeiten austauschbar machen → Dependency
Injection
Möglichst keine globalen Variablen
Keine ’Orte’ voraussetzen (Registry o.ä.)
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
3 Wie kann man gut
Testen
Ende
29
Wie kann man gut Testen
Abhängigkeiten austauschbar machen → Dependency
Injection
Möglichst keine globalen Variablen
Keine ’Orte’ voraussetzen (Registry o.ä.)
Möglichst nur einen Rückgabetypen
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
3 Wie kann man gut
Testen
Ende
30
Wie kann man gut Testen
Abhängigkeiten austauschbar machen → Dependency
Injection
Möglichst keine globalen Variablen
Keine ’Orte’ voraussetzen (Registry o.ä.)
Möglichst nur einen Rückgabetypen
Nicht immer 100% erreichen, das wichtigste reicht
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
3 Wie kann man gut
Testen
Ende
31
Wie kann man gut Testen
Abhängigkeiten austauschbar machen → Dependency
Injection
Möglichst keine globalen Variablen
Keine ’Orte’ voraussetzen (Registry o.ä.)
Möglichst nur einen Rückgabetypen
Nicht immer 100% erreichen, das wichtigste reicht
Keine Überraschungen im Code
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
3 Wie kann man gut
Testen
Ende
32
Wie kann man gut Testen
Abhängigkeiten austauschbar machen → Dependency
Injection
Möglichst keine globalen Variablen
Keine ’Orte’ voraussetzen (Registry o.ä.)
Möglichst nur einen Rückgabetypen
Nicht immer 100% erreichen, das wichtigste reicht
Keine Überraschungen im Code
Keine Tricks für Tests nutzen
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
3 Wie kann man gut
Testen
Ende
33
Wie kann man gut Testen
The secret in testing is in writing
testable code!
Miško Hevery
11
(PHP)Unit - Bad
Practices
Erik Witthauer
Was ist
Unit-Testing?
Bad Practices
Wie kann man gut
Testen
4 Ende
34
Vielen Dank

Contenu connexe

En vedette

Orientaciones sobre modificación de conducta
Orientaciones sobre modificación de conductaOrientaciones sobre modificación de conducta
Orientaciones sobre modificación de conducta
Bolilla Beltrán
 
Guía de estudio de la materia --estrategias de la comunicacion
Guía de estudio de la materia  --estrategias de la comunicacionGuía de estudio de la materia  --estrategias de la comunicacion
Guía de estudio de la materia --estrategias de la comunicacion
luisel9
 
Plantilla presentaciones educa digital regional 2014
Plantilla presentaciones educa digital regional 2014Plantilla presentaciones educa digital regional 2014
Plantilla presentaciones educa digital regional 2014
Miguel Nova
 
Dog shelter
Dog shelterDog shelter
Dog shelter
LIsapen9
 
Gerencia publica y privada.
Gerencia publica y privada. Gerencia publica y privada.
Gerencia publica y privada.
Franny Lobaton
 
El proceso del Amor al Desamor
El proceso del Amor al DesamorEl proceso del Amor al Desamor
El proceso del Amor al Desamor
Kimberly Vera
 

En vedette (20)

Orientaciones sobre modificación de conducta
Orientaciones sobre modificación de conductaOrientaciones sobre modificación de conducta
Orientaciones sobre modificación de conducta
 
Deber 9
Deber 9Deber 9
Deber 9
 
El campo de concentración de Dachau
El campo de concentración de DachauEl campo de concentración de Dachau
El campo de concentración de Dachau
 
Emily sociologia colectiva
Emily sociologia colectivaEmily sociologia colectiva
Emily sociologia colectiva
 
Guía de estudio de la materia --estrategias de la comunicacion
Guía de estudio de la materia  --estrategias de la comunicacionGuía de estudio de la materia  --estrategias de la comunicacion
Guía de estudio de la materia --estrategias de la comunicacion
 
Plantilla presentaciones educa digital regional 2014
Plantilla presentaciones educa digital regional 2014Plantilla presentaciones educa digital regional 2014
Plantilla presentaciones educa digital regional 2014
 
Paratexto y comprensión lectora
Paratexto y comprensión lectoraParatexto y comprensión lectora
Paratexto y comprensión lectora
 
Dog shelter
Dog shelterDog shelter
Dog shelter
 
Lesly 3
Lesly 3Lesly 3
Lesly 3
 
Blogs, eine Chance für Forschung und Wissenschaft?
Blogs, eine Chance für Forschung und Wissenschaft?Blogs, eine Chance für Forschung und Wissenschaft?
Blogs, eine Chance für Forschung und Wissenschaft?
 
Partexto y comprensión lectora
Partexto y comprensión lectoraPartexto y comprensión lectora
Partexto y comprensión lectora
 
Integrierte Welterbe-Managementpläne (Tagung, Regensburg, 29.09.2012)
Integrierte Welterbe-Managementpläne (Tagung, Regensburg, 29.09.2012)Integrierte Welterbe-Managementpläne (Tagung, Regensburg, 29.09.2012)
Integrierte Welterbe-Managementpläne (Tagung, Regensburg, 29.09.2012)
 
La ciencia, la tecnica y la tecnologia
La ciencia, la tecnica y la tecnologiaLa ciencia, la tecnica y la tecnologia
La ciencia, la tecnica y la tecnologia
 
Guia riesgos
Guia riesgosGuia riesgos
Guia riesgos
 
Gerencia publica y privada.
Gerencia publica y privada. Gerencia publica y privada.
Gerencia publica y privada.
 
Correo Electronico
Correo ElectronicoCorreo Electronico
Correo Electronico
 
Emo
Emo Emo
Emo
 
Das baukulturelle Erbe der IBA ´87 (Symposium: Transformation des sozialen Wo...
Das baukulturelle Erbe der IBA ´87 (Symposium: Transformation des sozialen Wo...Das baukulturelle Erbe der IBA ´87 (Symposium: Transformation des sozialen Wo...
Das baukulturelle Erbe der IBA ´87 (Symposium: Transformation des sozialen Wo...
 
IMPLEMENTACION ESTRATÉGICA Y LOS ELEMENTOS DE LA ADMINISTRACIÓN ESTRATEGICA
IMPLEMENTACION ESTRATÉGICA Y LOS ELEMENTOS DE LA ADMINISTRACIÓN ESTRATEGICAIMPLEMENTACION ESTRATÉGICA Y LOS ELEMENTOS DE LA ADMINISTRACIÓN ESTRATEGICA
IMPLEMENTACION ESTRATÉGICA Y LOS ELEMENTOS DE LA ADMINISTRACIÓN ESTRATEGICA
 
El proceso del Amor al Desamor
El proceso del Amor al DesamorEl proceso del Amor al Desamor
El proceso del Amor al Desamor
 

Dernier (7)

Angewandte Philosophie an der Universität Duisburg-Essen.
Angewandte Philosophie an der Universität Duisburg-Essen.Angewandte Philosophie an der Universität Duisburg-Essen.
Angewandte Philosophie an der Universität Duisburg-Essen.
 
1029-Danh muc Sach Giao Khoa khoi 11.pdf
1029-Danh muc Sach Giao Khoa khoi 11.pdf1029-Danh muc Sach Giao Khoa khoi 11.pdf
1029-Danh muc Sach Giao Khoa khoi 11.pdf
 
Welche KI-Kompetenzen brauchen Lehrpersonen?!
Welche KI-Kompetenzen brauchen Lehrpersonen?!Welche KI-Kompetenzen brauchen Lehrpersonen?!
Welche KI-Kompetenzen brauchen Lehrpersonen?!
 
Wirtschaftsingenieurwesen an der Universität Duisburg-Essen
Wirtschaftsingenieurwesen an der Universität Duisburg-EssenWirtschaftsingenieurwesen an der Universität Duisburg-Essen
Wirtschaftsingenieurwesen an der Universität Duisburg-Essen
 
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_EssenAngewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
 
1029-Danh muc Sach Giao Khoa khoi 12.pdf
1029-Danh muc Sach Giao Khoa khoi 12.pdf1029-Danh muc Sach Giao Khoa khoi 12.pdf
1029-Danh muc Sach Giao Khoa khoi 12.pdf
 
LAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdf
LAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdfLAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdf
LAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdf
 

(PHP)Unit - bad Practices

  • 1. (PHP)Unit - Bad Practices Ansätze für testbaren Code Erik Witthauer e.witthauer@gmail.com 2013-06-14
  • 2. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices Wie kann man gut Testen Ende 1 Agenda Was ist Unit-Testing? Bad Practices Wie kann man gut Testen
  • 3. 11 (PHP)Unit - Bad Practices Erik Witthauer 1 Was ist Unit-Testing? Bad Practices Wie kann man gut Testen Ende 2 Was ist Unit-Testing? Was ist Unit-Testing?
  • 4. 11 (PHP)Unit - Bad Practices Erik Witthauer 1 Was ist Unit-Testing? Bad Practices Wie kann man gut Testen Ende 3 Was ist Unit-Testing?
  • 5. 11 (PHP)Unit - Bad Practices Erik Witthauer 1 Was ist Unit-Testing? Bad Practices Wie kann man gut Testen Ende 4 Was ist Unit-Testing? Testen von kleinen Bereichen (Funktionen) im Code
  • 6. 11 (PHP)Unit - Bad Practices Erik Witthauer 1 Was ist Unit-Testing? Bad Practices Wie kann man gut Testen Ende 5 Was ist Unit-Testing? Testen von kleinen Bereichen (Funktionen) im Code Sicherstellung, dass eine Einheit das erwartete Ergebnis liefert.
  • 7. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? 2 Bad Practices Wie kann man gut Testen Ende 6 Bad Practices Bad Practices
  • 8. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? 2 Bad Practices Wie kann man gut Testen Ende 7 Bad Practices
  • 9. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? 2 Bad Practices Wie kann man gut Testen Ende 8 Bad Practices Allround-Funktionen
  • 10. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? 2 Bad Practices Wie kann man gut Testen Ende 9 Bad Practices Allround-Funktionen Test-Arten vermischen
  • 11. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? 2 Bad Practices Wie kann man gut Testen Ende 10 Bad Practices Allround-Funktionen Test-Arten vermischen Viele interne Abhängigkeiten
  • 12. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? 2 Bad Practices Wie kann man gut Testen Ende 11 Bad Practices Allround-Funktionen Test-Arten vermischen Viele interne Abhängigkeiten Immer 100% erreichen
  • 13. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? 2 Bad Practices Wie kann man gut Testen Ende 12 Bad Practices Allround-Funktionen Test-Arten vermischen Viele interne Abhängigkeiten Immer 100% erreichen Alle Möglichkeiten des Frameworks nutzen wollen
  • 14. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? 2 Bad Practices Wie kann man gut Testen Ende 13 Bad Practices Allround-Funktionen Test-Arten vermischen Viele interne Abhängigkeiten Immer 100% erreichen Alle Möglichkeiten des Frameworks nutzen wollen Keine Dokumentation
  • 15. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? 2 Bad Practices Wie kann man gut Testen Ende 14 Bad Practices Allround-Funktionen Test-Arten vermischen Viele interne Abhängigkeiten Immer 100% erreichen Alle Möglichkeiten des Frameworks nutzen wollen Keine Dokumentation Schlechte Bezeichnung
  • 16. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? 2 Bad Practices Wie kann man gut Testen Ende 15 Bad Practices Allround-Funktionen Test-Arten vermischen Viele interne Abhängigkeiten Immer 100% erreichen Alle Möglichkeiten des Frameworks nutzen wollen Keine Dokumentation Schlechte Bezeichnung Verwirrender Code
  • 17. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? 2 Bad Practices Wie kann man gut Testen Ende 16 Bad Practices Allround-Funktionen Test-Arten vermischen Viele interne Abhängigkeiten Immer 100% erreichen Alle Möglichkeiten des Frameworks nutzen wollen Keine Dokumentation Schlechte Bezeichnung Verwirrender Code Extra Anweisungen für Test-Szenarien
  • 18. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? 2 Bad Practices Wie kann man gut Testen Ende 17 Bad Practices Allround-Funktionen Test-Arten vermischen Viele interne Abhängigkeiten Immer 100% erreichen Alle Möglichkeiten des Frameworks nutzen wollen Keine Dokumentation Schlechte Bezeichnung Verwirrender Code Extra Anweisungen für Test-Szenarien Zu vieles Mocken
  • 19. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices 3 Wie kann man gut Testen Ende 18 Wie kann man gut Testen Wie kann man gut Testen
  • 20. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices 3 Wie kann man gut Testen Ende 19 Wie kann man gut Testen
  • 21. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices 3 Wie kann man gut Testen Ende 20 Wie kann man gut Testen Kleine Funktionen für eine Aufgabe
  • 22. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices 3 Wie kann man gut Testen Ende 21 Wie kann man gut Testen Kleine Funktionen für eine Aufgabe Je Test nur einen Fall beachten
  • 23. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices 3 Wie kann man gut Testen Ende 22 Wie kann man gut Testen Kleine Funktionen für eine Aufgabe Je Test nur einen Fall beachten Keine Abläufe testen
  • 24. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices 3 Wie kann man gut Testen Ende 23 Wie kann man gut Testen Kleine Funktionen für eine Aufgabe Je Test nur einen Fall beachten Keine Abläufe testen → Acceptance Test, End-to-End Test, Edge-to-Edge Test, System Test etc.
  • 25. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices 3 Wie kann man gut Testen Ende 24 Wie kann man gut Testen Kleine Funktionen für eine Aufgabe Je Test nur einen Fall beachten Keine Abläufe testen → Acceptance Test, End-to-End Test, Edge-to-Edge Test, System Test etc. Nicht alle Funktionen des Frameworks nutzen (müssen)
  • 26. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices 3 Wie kann man gut Testen Ende 25 Wie kann man gut Testen
  • 27. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices 3 Wie kann man gut Testen Ende 26 Wie kann man gut Testen Abhängigkeiten austauschbar machen → Dependency Injection
  • 28. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices 3 Wie kann man gut Testen Ende 27 Wie kann man gut Testen Abhängigkeiten austauschbar machen → Dependency Injection Möglichst keine globalen Variablen
  • 29. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices 3 Wie kann man gut Testen Ende 28 Wie kann man gut Testen Abhängigkeiten austauschbar machen → Dependency Injection Möglichst keine globalen Variablen Keine ’Orte’ voraussetzen (Registry o.ä.)
  • 30. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices 3 Wie kann man gut Testen Ende 29 Wie kann man gut Testen Abhängigkeiten austauschbar machen → Dependency Injection Möglichst keine globalen Variablen Keine ’Orte’ voraussetzen (Registry o.ä.) Möglichst nur einen Rückgabetypen
  • 31. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices 3 Wie kann man gut Testen Ende 30 Wie kann man gut Testen Abhängigkeiten austauschbar machen → Dependency Injection Möglichst keine globalen Variablen Keine ’Orte’ voraussetzen (Registry o.ä.) Möglichst nur einen Rückgabetypen Nicht immer 100% erreichen, das wichtigste reicht
  • 32. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices 3 Wie kann man gut Testen Ende 31 Wie kann man gut Testen Abhängigkeiten austauschbar machen → Dependency Injection Möglichst keine globalen Variablen Keine ’Orte’ voraussetzen (Registry o.ä.) Möglichst nur einen Rückgabetypen Nicht immer 100% erreichen, das wichtigste reicht Keine Überraschungen im Code
  • 33. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices 3 Wie kann man gut Testen Ende 32 Wie kann man gut Testen Abhängigkeiten austauschbar machen → Dependency Injection Möglichst keine globalen Variablen Keine ’Orte’ voraussetzen (Registry o.ä.) Möglichst nur einen Rückgabetypen Nicht immer 100% erreichen, das wichtigste reicht Keine Überraschungen im Code Keine Tricks für Tests nutzen
  • 34. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices 3 Wie kann man gut Testen Ende 33 Wie kann man gut Testen The secret in testing is in writing testable code! Miško Hevery
  • 35. 11 (PHP)Unit - Bad Practices Erik Witthauer Was ist Unit-Testing? Bad Practices Wie kann man gut Testen 4 Ende 34 Vielen Dank