Whitebox testing-phpughh

585 views
478 views

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
585
On 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

×