WhiteboxTesting
SystematischeTestmethoden für PHP Entwickler
John Behrens
• John Behrens
• IT Berater – Entwickler - Trainer
• PHP seit 2000
• Twitter: @WebconsultsEU
• Mail: John.Beh...
Whitebox und Blackbox
Entwicklertests = Whitebox Tests ?
• Code und Interne Strukturen
Bekannt
• Testen am Code
Whitebox Testing Tools
PHP Checkstyle
Code Reviews
Was bringt mirWhiteboxTesting ?
• Systematisches vorgehen beim Debugging
• Bessere UnitTests, aufTests Optimierter Code
• ...
Whitebox Testing Methoden
• Kontrollflussbasiert
• Datenflussbasiert
• Security Orientiert
• Statische Methoden
• Dynamisc...
Kontrollflusbasierte Testarten
• Anweisungsüberdeckungstest
(Statement Coverage)
• Zweigüberdeckungstest
(Branch Coverage)...
Anweisungstest / Anweisungsüberbrückung
• Eine Anweisung ist eine Entscheidung Loop, If, case etc
• Engl. Statement Covera...
Zweigtest / Zweigüberdeckung
• Ein Zweig ist ein CodeTeil der bedingt durchlaufen wird
• Innerhalb eines If Statements, Lo...
Pfadtest / Pfadüberdeckung
• Abweichend vom Zweigtest wird hier derTest in allen oder vielen möglichen
Pfaden durchlaufen.
Zyklomatische Komplexität
• Anzahl der Entscheidungen im Code
• Berechnet sich durch Anzahl der Binärverzweigungen (IfVerz...
Datenflussbasiert
• undeklariert (u):Variable hat weder einenWert noch einen Speicherplatz.
• deklariert (d):Variable hat ...
Datenfluss Anomalien
• DU Anomalie
• UR Anomalie
• DD Anomalie
Code Review Arten
• Kollegiale Code Reviews
• Peer Review
• Formelles Review
• QA / Security Review
• Technisches Review
Fragen , Diskussion ?
• Kontakt: John Behrens
• Twitter @WebconsultsEU
• Email: john.behrens@webconsults.eu
Nächste SlideShare
Wird geladen in ...5
×

Whitebox testing-phpughh

252

Published on

Slides meines vortrages Whitebox Testing für PHP Entwickler bei der PHP Usergroup Hamburg - 8 April 2014
Test Examples Used
https://github.com/WebconsultsEU/WhiteBoxTestingExamples

Published in: Software
0 Kommentare
0 Gefällt mir
Statistiken
Notizen
  • Hinterlassen Sie den ersten Kommentar

  • Be the first to like this

Keine Downloads
Views
Gesamtviews
252
Bei Slideshare
0
Aus Einbettungen
0
Anzahl an Einbettungen
0
Aktionen
Geteilt
0
Downloads
2
Kommentare
0
Gefällt mir
0
Einbettungen 0
No embeds

No notes for slide

Whitebox testing-phpughh

  1. 1. WhiteboxTesting SystematischeTestmethoden für PHP Entwickler
  2. 2. John Behrens • John Behrens • IT Berater – Entwickler - Trainer • PHP seit 2000 • Twitter: @WebconsultsEU • Mail: John.Behrens@webconsults.eu • Xing, Google+, Linkedin: John Behrens
  3. 3. Whitebox und Blackbox
  4. 4. Entwicklertests = Whitebox Tests ? • Code und Interne Strukturen Bekannt • Testen am Code
  5. 5. Whitebox Testing Tools PHP Checkstyle Code Reviews
  6. 6. Was bringt mirWhiteboxTesting ? • Systematisches vorgehen beim Debugging • Bessere UnitTests, aufTests Optimierter Code • Genauer und Systematischer Testen • Schnelleres finden von Bugs • Systematisches vorgehen bei Code Reviews
  7. 7. Whitebox Testing Methoden • Kontrollflussbasiert • Datenflussbasiert • Security Orientiert • Statische Methoden • Dynamische Methoden
  8. 8. Kontrollflusbasierte Testarten • Anweisungsüberdeckungstest (Statement Coverage) • Zweigüberdeckungstest (Branch Coverage) • Bedingungs / Entscheidungsüberdeckungstest (decision condition coverage) • Bedingungs / Überdeckungstest (Condition Coverage Test) • Pfadüberdeckungstest (Path Coverage Test)
  9. 9. Anweisungstest / Anweisungsüberbrückung • Eine Anweisung ist eine Entscheidung Loop, If, case etc • Engl. Statement Coverage • Anweisungsüberdeckung = Anzahl durchlaufene Anweisungen / Gesamtzahl Anweisungen * 100%
  10. 10. Zweigtest / Zweigüberdeckung • Ein Zweig ist ein CodeTeil der bedingt durchlaufen wird • Innerhalb eines If Statements, Loop, Case • Zweigüberdeckung = Anzahl durchlaufene Zweige / Gesamtzahl Zweige * 100%
  11. 11. Pfadtest / Pfadüberdeckung • Abweichend vom Zweigtest wird hier derTest in allen oder vielen möglichen Pfaden durchlaufen.
  12. 12. Zyklomatische Komplexität • Anzahl der Entscheidungen im Code • Berechnet sich durch Anzahl der Binärverzweigungen (IfVerzweigungen mit 2 Zweigen) + Anzahl der Kontrollflussgraphen • Anzahl der Ecken und Kanten im Kontrollflussgraphen
  13. 13. Datenflussbasiert • undeklariert (u):Variable hat weder einenWert noch einen Speicherplatz. • deklariert (d):Variable hat keinen definiertenWert, ihr wurde aber schon Speicher zugewiesen. • initialisiert (i): Zuweisung einesWertes an eineVariable. • referenziert (r): Lesen/Verwenden desVariablen-Wertes.
  14. 14. Datenfluss Anomalien • DU Anomalie • UR Anomalie • DD Anomalie
  15. 15. Code Review Arten • Kollegiale Code Reviews • Peer Review • Formelles Review • QA / Security Review • Technisches Review
  16. 16. Fragen , Diskussion ? • Kontakt: John Behrens • Twitter @WebconsultsEU • Email: john.behrens@webconsults.eu
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×