SlideShare ist ein Scribd-Unternehmen logo
1 von 16
WhiteboxTesting
SystematischeTestmethoden für PHP Entwickler
John Behrens
• John Behrens
• IT Berater – Entwickler - Trainer
• PHP seit 2000
• Twitter: @WebconsultsEU
• Mail: John.Behrens@webconsults.eu
• Xing, Google+, Linkedin: John Behrens
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
• Genauer und Systematischer Testen
• Schnelleres finden von Bugs
• Systematisches vorgehen bei Code Reviews
Whitebox Testing Methoden
• Kontrollflussbasiert
• Datenflussbasiert
• Security Orientiert
• Statische Methoden
• Dynamische Methoden
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)
Anweisungstest / Anweisungsüberbrückung
• Eine Anweisung ist eine Entscheidung Loop, If, case etc
• Engl. Statement Coverage
• Anweisungsüberdeckung =
Anzahl durchlaufene Anweisungen / Gesamtzahl Anweisungen * 100%
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%
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 (IfVerzweigungen mit
2 Zweigen) + Anzahl der Kontrollflussgraphen
• Anzahl der Ecken und Kanten im Kontrollflussgraphen
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.
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

Weitere ähnliche Inhalte

Was ist angesagt?

Creasoft c-Day 2011 - Exploratives Testen
Creasoft c-Day 2011 - Exploratives TestenCreasoft c-Day 2011 - Exploratives Testen
Creasoft c-Day 2011 - Exploratives TestenCreasoft AG
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerDennis Wilson
 
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
Whitepaper QF-Test: GUI Testautomatisierung macht SpaßWhitepaper QF-Test: GUI Testautomatisierung macht Spaß
Whitepaper QF-Test: GUI Testautomatisierung macht SpaßClaudia Baur
 
Creasoft Akademie - Windows 8 aus Entwicklersicht
Creasoft Akademie - Windows 8 aus EntwicklersichtCreasoft Akademie - Windows 8 aus Entwicklersicht
Creasoft Akademie - Windows 8 aus EntwicklersichtCreasoft AG
 
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.jsTesten von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.jsSebastian Helzle
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnMartin Seibert
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen....NET User Group Rhein-Neckar
 
Hightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenHightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenPeter Rozek
 
Dev ops testautomatisierer bei Technosoft
Dev ops testautomatisierer bei TechnosoftDev ops testautomatisierer bei Technosoft
Dev ops testautomatisierer bei TechnosoftBart Zwager
 
Feedback-Loops in der ABAP Softwareentwicklung
Feedback-Loops in der ABAP SoftwareentwicklungFeedback-Loops in der ABAP Softwareentwicklung
Feedback-Loops in der ABAP SoftwareentwicklungPascal_Erni
 
XING Agile QA
XING Agile QAXING Agile QA
XING Agile QAXING AG
 
Akzeptanz-Test getriebene Produktentwicklung
Akzeptanz-Test getriebene ProduktentwicklungAkzeptanz-Test getriebene Produktentwicklung
Akzeptanz-Test getriebene ProduktentwicklungMichael Brandt
 
Lohnt sich die Modernisierung bestehnder Software
Lohnt sich die Modernisierung bestehnder SoftwareLohnt sich die Modernisierung bestehnder Software
Lohnt sich die Modernisierung bestehnder SoftwareChristian Güdemann
 
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...Alex Sili
 
DWX 2014 - Testmanagement mit Visual Studio 2013
DWX 2014 - Testmanagement mit Visual Studio 2013DWX 2014 - Testmanagement mit Visual Studio 2013
DWX 2014 - Testmanagement mit Visual Studio 2013Nico Orschel
 
Testgetriebene Entwicklung
Testgetriebene EntwicklungTestgetriebene Entwicklung
Testgetriebene EntwicklungGjero Krsteski
 

Was ist angesagt? (18)

Creasoft c-Day 2011 - Exploratives Testen
Creasoft c-Day 2011 - Exploratives TestenCreasoft c-Day 2011 - Exploratives Testen
Creasoft c-Day 2011 - Exploratives Testen
 
TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
Whitepaper QF-Test: GUI Testautomatisierung macht SpaßWhitepaper QF-Test: GUI Testautomatisierung macht Spaß
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
 
Creasoft Akademie - Windows 8 aus Entwicklersicht
Creasoft Akademie - Windows 8 aus EntwicklersichtCreasoft Akademie - Windows 8 aus Entwicklersicht
Creasoft Akademie - Windows 8 aus Entwicklersicht
 
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.jsTesten von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickeln
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
 
Hightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenHightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign Testen
 
Dev ops testautomatisierer bei Technosoft
Dev ops testautomatisierer bei TechnosoftDev ops testautomatisierer bei Technosoft
Dev ops testautomatisierer bei Technosoft
 
Feedback-Loops in der ABAP Softwareentwicklung
Feedback-Loops in der ABAP SoftwareentwicklungFeedback-Loops in der ABAP Softwareentwicklung
Feedback-Loops in der ABAP Softwareentwicklung
 
XING Agile QA
XING Agile QAXING Agile QA
XING Agile QA
 
Akzeptanz-Test getriebene Produktentwicklung
Akzeptanz-Test getriebene ProduktentwicklungAkzeptanz-Test getriebene Produktentwicklung
Akzeptanz-Test getriebene Produktentwicklung
 
Lohnt sich die Modernisierung bestehnder Software
Lohnt sich die Modernisierung bestehnder SoftwareLohnt sich die Modernisierung bestehnder Software
Lohnt sich die Modernisierung bestehnder Software
 
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
 
DWX 2014 - Testmanagement mit Visual Studio 2013
DWX 2014 - Testmanagement mit Visual Studio 2013DWX 2014 - Testmanagement mit Visual Studio 2013
DWX 2014 - Testmanagement mit Visual Studio 2013
 
Testgetriebene Entwicklung
Testgetriebene EntwicklungTestgetriebene Entwicklung
Testgetriebene Entwicklung
 
XPages From Zero To Hero
XPages From Zero To HeroXPages From Zero To Hero
XPages From Zero To Hero
 

Andere mochten auch

Andere mochten auch (20)

Do it-yourself-audits
Do it-yourself-auditsDo it-yourself-audits
Do it-yourself-audits
 
High Security PHP Applications
High Security PHP ApplicationsHigh Security PHP Applications
High Security PHP Applications
 
Fotosintesis jp
Fotosintesis jpFotosintesis jp
Fotosintesis jp
 
OCCUPATIONS
OCCUPATIONSOCCUPATIONS
OCCUPATIONS
 
LAS INSTITUCIONES
LAS INSTITUCIONESLAS INSTITUCIONES
LAS INSTITUCIONES
 
Quo vadis Selbstanzeige
Quo vadis SelbstanzeigeQuo vadis Selbstanzeige
Quo vadis Selbstanzeige
 
1. presentacion del programa
1. presentacion del programa1. presentacion del programa
1. presentacion del programa
 
Diccionario informático
Diccionario informáticoDiccionario informático
Diccionario informático
 
Aprender word
Aprender wordAprender word
Aprender word
 
Unidad 3 tema 1
Unidad 3 tema 1Unidad 3 tema 1
Unidad 3 tema 1
 
Fünf parteien frage2
Fünf parteien frage2Fünf parteien frage2
Fünf parteien frage2
 
Tecnica clasifica crea
Tecnica clasifica creaTecnica clasifica crea
Tecnica clasifica crea
 
Jornada sobre violencia escolar - Inst. SUMMA
Jornada sobre violencia escolar - Inst. SUMMAJornada sobre violencia escolar - Inst. SUMMA
Jornada sobre violencia escolar - Inst. SUMMA
 
Paola nic 1 WENDY CHURO
Paola nic 1 WENDY CHURO Paola nic 1 WENDY CHURO
Paola nic 1 WENDY CHURO
 
easyad DS Smith
easyad DS Smith easyad DS Smith
easyad DS Smith
 
La interdicción de los proyectos de ley sopa
La interdicción de los proyectos de ley sopaLa interdicción de los proyectos de ley sopa
La interdicción de los proyectos de ley sopa
 
Personatges Àfrica
Personatges ÀfricaPersonatges Àfrica
Personatges Àfrica
 
Lenguaj script
Lenguaj scriptLenguaj script
Lenguaj script
 
Unidad educativa municipal experimental quitumbe
Unidad educativa municipal experimental quitumbeUnidad educativa municipal experimental quitumbe
Unidad educativa municipal experimental quitumbe
 
Tipos de computadoras
Tipos de computadorasTipos de computadoras
Tipos de computadoras
 

Ähnlich wie Whitebox testing-phpughh

Bi testing media_factory_0.10
Bi testing media_factory_0.10Bi testing media_factory_0.10
Bi testing media_factory_0.10inovex GmbH
 
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...Markus Harrer
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungChristian Baranowski
 
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Florian Wolters
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOpscusy GmbH
 
Cusy Developer-Baukasten
Cusy Developer-BaukastenCusy Developer-Baukasten
Cusy Developer-Baukastencusy GmbH
 
Qualitymanagement mit Sitecore und Sonarqube
Qualitymanagement mit Sitecore und SonarqubeQualitymanagement mit Sitecore und Sonarqube
Qualitymanagement mit Sitecore und SonarqubeDaniel Scherrer
 
Testing untestable code - PHPUGFFM 01/11
Testing untestable code - PHPUGFFM 01/11Testing untestable code - PHPUGFFM 01/11
Testing untestable code - PHPUGFFM 01/11Stephan Hochdörfer
 
Kontinuierliche Überprüfung der Code-Qualität mit Scrutinizer
Kontinuierliche Überprüfung der Code-Qualität mit ScrutinizerKontinuierliche Überprüfung der Code-Qualität mit Scrutinizer
Kontinuierliche Überprüfung der Code-Qualität mit ScrutinizerFATCHIP GmbH
 
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?René Spengler
 
2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und TestsDaniel Fisher
 
Quo vadis-devops-nuernberg
Quo vadis-devops-nuernbergQuo vadis-devops-nuernberg
Quo vadis-devops-nuernbergcusy GmbH
 

Ähnlich wie Whitebox testing-phpughh (12)

Bi testing media_factory_0.10
Bi testing media_factory_0.10Bi testing media_factory_0.10
Bi testing media_factory_0.10
 
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...
Nachvollziehbare, datengetriebene, automatisierte Analysen der Softwareentwic...
 
Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-Qualitätssicherung
 
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOps
 
Cusy Developer-Baukasten
Cusy Developer-BaukastenCusy Developer-Baukasten
Cusy Developer-Baukasten
 
Qualitymanagement mit Sitecore und Sonarqube
Qualitymanagement mit Sitecore und SonarqubeQualitymanagement mit Sitecore und Sonarqube
Qualitymanagement mit Sitecore und Sonarqube
 
Testing untestable code - PHPUGFFM 01/11
Testing untestable code - PHPUGFFM 01/11Testing untestable code - PHPUGFFM 01/11
Testing untestable code - PHPUGFFM 01/11
 
Kontinuierliche Überprüfung der Code-Qualität mit Scrutinizer
Kontinuierliche Überprüfung der Code-Qualität mit ScrutinizerKontinuierliche Überprüfung der Code-Qualität mit Scrutinizer
Kontinuierliche Überprüfung der Code-Qualität mit Scrutinizer
 
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?
 
2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests
 
Quo vadis-devops-nuernberg
Quo vadis-devops-nuernbergQuo vadis-devops-nuernberg
Quo vadis-devops-nuernberg
 

Whitebox testing-phpughh