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.
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

1.046 Aufrufe

Veröffentlicht am

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

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

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

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

×