Test-Driven Development Effectiveness - AgileEE 2016

Krzysztof Jelski
Krzysztof JelskiHead of Training at Pragmatists
Test-Driven Development
Effectiveness
beyond anecdotal evidence
Krzysztof Jelski
About me
Training
Software
TDD
TDD benefits
Dev safety Better designLess defects
Less debugging Less „will it work?”
Why bother?
Proofs
Insights
Metrics
Tools
Internal quality External quality
Test qualities
Productivity Cost
Internal quality External quality
Test qualities
Cost
- no effect observed
Productivity
Internal quality External quality
Test qualities
Cost
- no effect observed
- significant result
Productivity
Common experiment design
themes
• TDD vs Test-Last
• Between-subjects or repeated measures design
• TDD training at the beginning
• Measuring conformance to TDD
Internal quality metrics
• CBO - Coupling Between Object Classes
• WMC - Weighted Methods per Class
• RFC - Response For a Class
Internal quality
L. Madeyski, „Test-Driven Development.

An Empirical Evaluation of Agile Practice”, 2010
Internal quality
L. Madeyski, „Test-Driven Development.

An Empirical Evaluation of Agile Practice”, 2010 >100
Internal quality
L. Madeyski, „Test-Driven Development.

An Empirical Evaluation of Agile Practice”, 2010 >100
Coupling Between Objects
Internal quality
L. Madeyski, „Test-Driven Development.

An Empirical Evaluation of Agile Practice”, 2010 >100
Coupling Between Objects
Weighted Methods per Class
Response For a Class
3 experiments
L. Madeyski, „Test-Driven Development.

An Empirical Evaluation of Agile Practice”, 2010 >100
Coupling Between Objects
Accounting Submissions Smells&Library
5-7 weeks preparation
L. Madeyski, „Test-Driven Development.

An Empirical Evaluation of Agile Practice”, 2010 >100
Coupling Between Objects
8-9 weeks duration
L. Madeyski, „Test-Driven Development.

An Empirical Evaluation of Agile Practice”, 2010 >100
Coupling Between Objects
23-27 User Stories
Custom tools
L. Madeyski, „Test-Driven Development.

An Empirical Evaluation of Agile Practice”, 2010 >100
Coupling Between Objects
Activity tracking
OO metrics
Mutation testing
External quality metrics
• Number of defects found
• Defect density (defects/KLOC)
• Percentage of acceptance tests passed
• Quality mark given by client
External quality - studies
Y. Rafique et al., „The Effects of Test-Driven Development
on External Quality and Productivity: A Meta-Analysis”,
2013
External quality (industrial studies)
27
External quality - studies
Y. Rafique et al., „The Effects of Test-Driven Development
on External Quality and Productivity: A Meta-Analysis”,
2013
External quality (industrial studies)
27
O. Slyngstad et al., „The Impact of Test Driven Development
on the Evolution of a Reusable Framework of Components: An
Industrial Case Study”, 2008. 100
Defect density -33%
External quality - studies
Y. Rafique et al., „The Effects of Test-Driven Development
on External Quality and Productivity: A Meta-Analysis”,
2013
External quality (industrial studies)
27
O. Slyngstad et al., „The Impact of Test Driven Development
on the Evolution of a Reusable Framework of Components: An
Industrial Case Study”, 2008. 100
Defect density -33%
N. Nagappan et al., “Realizing Quality Improvement
through Test Driven Development: Results and Experiences
of Four Industrial Teams,” 2008. 40
Defect density -62% .. -90%
Productivity metrics
• Development time per task
• Number of acceptance tests passed per hour
• (sadly LOC was used in several studies)
Productivity - studies
L. Madeyski, „Test-Driven Development.

An Empirical Evaluation of Agile Practice”, 2010 >100
Number of Acceptance Tests / hour
Y. Rafique et al., „The Effects of Test-Driven Development
on External Quality and Productivity: A Meta-Analysis”,
2013 27
Productivity (industrial) -22%
Test qualities
• Code coverage
• Mutation Score Indicator
• Number of negative test cases
Test qualities - studies
L. Madeyski, „Test-Driven Development.

An Empirical Evaluation of Agile Practice”, 2010 >100
Code coverage
Mutation Score Indicator
No effects observed
Test qualities - studies
L. Madeyski, „Test-Driven Development.

An Empirical Evaluation of Agile Practice”, 2010 >100
A. Čaušević et al., „Industrial Study on Test Driven
Development: Challenges and Experience”, 2013 60
Number of negative test cases
Code coverage
Mutation Score Indicator
No effects observed
Cost - metrics
• Fault cost
• Total project cost
• Maintenance cost
Cost - studies
Damm, L.O., Lundberg, L.: „Results from introducing
component-level test automation and Test-Driven
Development.”, 2006

Do I do TDD?
conformance =
TDD_changes + refactorings
all _changes
Roberto Latorre, „Effects of developer experience on
learning and applying Unit Test-Driven Development”, 2013
Industrial Logic, e-learning
Industrial Logic, TDD Dashboard
Micheal Hilton, Danny Dig, http://cope.eecs.oregonstate.edu/visualization.html
In your team
Internal quality
External quality
TDD conformance*
Measure:
* - and tell me when you found out how
Internal quality
External quality
Productivity
Icons made by Freepik from www.flaticon.com CC 3.0 BY
krzysztof.jelski@pragmatists.pl
@krzysztofjelski
Thank you!
1 of 38

Recommended

In Quest for Requirements Engineering Oracles: Dependent Variables and Measur... by
In Quest for Requirements Engineering Oracles: Dependent Variables and Measur...In Quest for Requirements Engineering Oracles: Dependent Variables and Measur...
In Quest for Requirements Engineering Oracles: Dependent Variables and Measur...Daniel Mendez
877 views29 slides
John Fodeh - Spend Wisely, Test Well by
John Fodeh - Spend Wisely, Test WellJohn Fodeh - Spend Wisely, Test Well
John Fodeh - Spend Wisely, Test WellTEST Huddle
809 views54 slides
Model-Based Software Engineering: A Multiple-Case Study on Challenges and Dev... by
Model-Based Software Engineering: A Multiple-Case Study on Challenges and Dev...Model-Based Software Engineering: A Multiple-Case Study on Challenges and Dev...
Model-Based Software Engineering: A Multiple-Case Study on Challenges and Dev...Rodi Jolak
318 views26 slides
Johan Jonasson - Introducing Exploratory Testing to Save the Project by
Johan Jonasson - Introducing Exploratory Testing to Save the ProjectJohan Jonasson - Introducing Exploratory Testing to Save the Project
Johan Jonasson - Introducing Exploratory Testing to Save the ProjectTEST Huddle
720 views11 slides
'Top Challenges We Face In IT Today To Hinder Our Pursuit Of Quality' by Lloy... by
'Top Challenges We Face In IT Today To Hinder Our Pursuit Of Quality' by Lloy...'Top Challenges We Face In IT Today To Hinder Our Pursuit Of Quality' by Lloy...
'Top Challenges We Face In IT Today To Hinder Our Pursuit Of Quality' by Lloy...TEST Huddle
752 views28 slides
Test analysis & design good practices@TDT Iasi 17Oct2013 by
Test analysis & design   good practices@TDT Iasi 17Oct2013Test analysis & design   good practices@TDT Iasi 17Oct2013
Test analysis & design good practices@TDT Iasi 17Oct2013Tabăra de Testare
655 views39 slides

More Related Content

What's hot

Beata Karpinska - Testing and Lean Principles - EuroSTAR 2010 by
Beata Karpinska - Testing and Lean Principles - EuroSTAR 2010Beata Karpinska - Testing and Lean Principles - EuroSTAR 2010
Beata Karpinska - Testing and Lean Principles - EuroSTAR 2010TEST Huddle
912 views24 slides
Practices and Tools for Better Software Testing by
Practices and Tools for  Better Software TestingPractices and Tools for  Better Software Testing
Practices and Tools for Better Software TestingDelft University of Technology
247 views33 slides
Jelle Calsbeek - Stay Agile with Model Based Testing revised by
Jelle Calsbeek - Stay Agile with Model Based Testing revisedJelle Calsbeek - Stay Agile with Model Based Testing revised
Jelle Calsbeek - Stay Agile with Model Based Testing revisedTEST Huddle
642 views14 slides
Honda Co-Op Intern 2007 Overview by
Honda Co-Op Intern 2007 OverviewHonda Co-Op Intern 2007 Overview
Honda Co-Op Intern 2007 Overviewpgoody
1.1K views37 slides
Jarian van de Laar - Test Policy - Test Strategy by
Jarian van de Laar - Test Policy - Test Strategy Jarian van de Laar - Test Policy - Test Strategy
Jarian van de Laar - Test Policy - Test Strategy TEST Huddle
2K views21 slides
Strategies to Avoid Test Fixture Smells durin Software Evolution by
Strategies to Avoid Test Fixture Smells durin Software EvolutionStrategies to Avoid Test Fixture Smells durin Software Evolution
Strategies to Avoid Test Fixture Smells durin Software EvolutionMichaela Greiler
4.4K views27 slides

What's hot(20)

Beata Karpinska - Testing and Lean Principles - EuroSTAR 2010 by TEST Huddle
Beata Karpinska - Testing and Lean Principles - EuroSTAR 2010Beata Karpinska - Testing and Lean Principles - EuroSTAR 2010
Beata Karpinska - Testing and Lean Principles - EuroSTAR 2010
TEST Huddle912 views
Jelle Calsbeek - Stay Agile with Model Based Testing revised by TEST Huddle
Jelle Calsbeek - Stay Agile with Model Based Testing revisedJelle Calsbeek - Stay Agile with Model Based Testing revised
Jelle Calsbeek - Stay Agile with Model Based Testing revised
TEST Huddle642 views
Honda Co-Op Intern 2007 Overview by pgoody
Honda Co-Op Intern 2007 OverviewHonda Co-Op Intern 2007 Overview
Honda Co-Op Intern 2007 Overview
pgoody1.1K views
Jarian van de Laar - Test Policy - Test Strategy by TEST Huddle
Jarian van de Laar - Test Policy - Test Strategy Jarian van de Laar - Test Policy - Test Strategy
Jarian van de Laar - Test Policy - Test Strategy
TEST Huddle2K views
Strategies to Avoid Test Fixture Smells durin Software Evolution by Michaela Greiler
Strategies to Avoid Test Fixture Smells durin Software EvolutionStrategies to Avoid Test Fixture Smells durin Software Evolution
Strategies to Avoid Test Fixture Smells durin Software Evolution
Michaela Greiler4.4K views
Manufacturing Quality Control with Graph Analytics by Neo4j
Manufacturing Quality Control with Graph AnalyticsManufacturing Quality Control with Graph Analytics
Manufacturing Quality Control with Graph Analytics
Neo4j299 views
Inspection used in various ways by SQALab
Inspection used in various waysInspection used in various ways
Inspection used in various ways
SQALab348 views
Rapid Software Testing: Strategy by TechWell
Rapid Software Testing: StrategyRapid Software Testing: Strategy
Rapid Software Testing: Strategy
TechWell1K views
18 - Impact of Process Conformance on the Effects of Test-driven Development by ESEM 2014
18 - Impact of Process Conformance on the Effects of Test-driven Development18 - Impact of Process Conformance on the Effects of Test-driven Development
18 - Impact of Process Conformance on the Effects of Test-driven Development
ESEM 2014360 views
Internal and External Integration for Product Development: The Contingency Ef... by Leo Gomes
Internal and External Integration for Product Development: The Contingency Ef...Internal and External Integration for Product Development: The Contingency Ef...
Internal and External Integration for Product Development: The Contingency Ef...
Leo Gomes825 views
Project Data Incorporating Qualitative Factors for Improved Software Defect P... by Tim Menzies
Project Data Incorporating Qualitative Factors for Improved Software Defect P...Project Data Incorporating Qualitative Factors for Improved Software Defect P...
Project Data Incorporating Qualitative Factors for Improved Software Defect P...
Tim Menzies545 views
10+ Reasons to Use Static Testing by Mikhail Pavlov
10+ Reasons to Use Static Testing10+ Reasons to Use Static Testing
10+ Reasons to Use Static Testing
Mikhail Pavlov678 views
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010 by TEST Huddle
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010
TEST Huddle2.5K views
Resourcd File by Resourcd
Resourcd FileResourcd File
Resourcd File
Resourcd262 views
Introduction to Exploratory Testing by Codrin Pruteanu
Introduction to Exploratory TestingIntroduction to Exploratory Testing
Introduction to Exploratory Testing
Codrin Pruteanu1.4K views

Similar to Test-Driven Development Effectiveness - AgileEE 2016

Software Testing by
Software TestingSoftware Testing
Software TestingDhanasekaran Nagarajan
1.5K views29 slides
Test manager - who is that? by
Test manager - who is that?Test manager - who is that?
Test manager - who is that?Bartłomiej Cymanowski
3.5K views27 slides
ISTQB - CTFL Summary v1.0 by
ISTQB - CTFL Summary v1.0ISTQB - CTFL Summary v1.0
ISTQB - CTFL Summary v1.0Samer Desouky
3.1K views33 slides
Test-Driven Development in the Corporate Workplace by
Test-Driven Development in the Corporate WorkplaceTest-Driven Development in the Corporate Workplace
Test-Driven Development in the Corporate WorkplaceAhmed Owian
633 views20 slides
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011 by
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011TEST Huddle
1.2K views36 slides
Research issues in object oriented software testing by
Research issues in object oriented software testingResearch issues in object oriented software testing
Research issues in object oriented software testingAnshul Vinayak
3.3K views60 slides

Similar to Test-Driven Development Effectiveness - AgileEE 2016 (20)

ISTQB - CTFL Summary v1.0 by Samer Desouky
ISTQB - CTFL Summary v1.0ISTQB - CTFL Summary v1.0
ISTQB - CTFL Summary v1.0
Samer Desouky3.1K views
Test-Driven Development in the Corporate Workplace by Ahmed Owian
Test-Driven Development in the Corporate WorkplaceTest-Driven Development in the Corporate Workplace
Test-Driven Development in the Corporate Workplace
Ahmed Owian633 views
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011 by TEST Huddle
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
TEST Huddle1.2K views
Research issues in object oriented software testing by Anshul Vinayak
Research issues in object oriented software testingResearch issues in object oriented software testing
Research issues in object oriented software testing
Anshul Vinayak3.3K views
QUALITY MANAGEMENT by Libcorpio
QUALITY MANAGEMENTQUALITY MANAGEMENT
QUALITY MANAGEMENT
Libcorpio 133 views
An introduction to Software Testing and Test Management by Anuraj S.L
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test Management
Anuraj S.L2.4K views
History Class - For software testers by Joris Meerts
History Class - For software testersHistory Class - For software testers
History Class - For software testers
Joris Meerts1.6K views
The Business Value of SW Quality by SQALab
The Business Value of SW QualityThe Business Value of SW Quality
The Business Value of SW Quality
SQALab843 views
ISTQB agile tester exam - Conclusions about Certification by Michał Dudziak
ISTQB agile tester exam - Conclusions about CertificationISTQB agile tester exam - Conclusions about Certification
ISTQB agile tester exam - Conclusions about Certification
Michał Dudziak627 views
Agile testing - Madhu Krishnappa by Piyush Rahate
Agile testing - Madhu KrishnappaAgile testing - Madhu Krishnappa
Agile testing - Madhu Krishnappa
Piyush Rahate107 views
Software testing course - Manual by Pankaj Dubey
Software testing course - ManualSoftware testing course - Manual
Software testing course - Manual
Pankaj Dubey7.7K views
4S Akademi - QAI - Software Testing Principles and Concepts by Serdar Zeybek
4S Akademi - QAI - Software Testing Principles and Concepts4S Akademi - QAI - Software Testing Principles and Concepts
4S Akademi - QAI - Software Testing Principles and Concepts
Serdar Zeybek480 views
What’s Standard? Industry Application versus University Education of Engineer... by Chelsea Leachman
What’s Standard? Industry Application versus University Education of Engineer...What’s Standard? Industry Application versus University Education of Engineer...
What’s Standard? Industry Application versus University Education of Engineer...
Chelsea Leachman369 views
Introduction to Software Testing by Rajathi-QA
Introduction to Software TestingIntroduction to Software Testing
Introduction to Software Testing
Rajathi-QA257 views
Mit16 660 jiap12_3-5 by khattak000
Mit16 660 jiap12_3-5Mit16 660 jiap12_3-5
Mit16 660 jiap12_3-5
khattak000823 views
Software quality assurance (sqa) parte i -introduccion v3.0 by Renato Gonzalez
Software quality assurance (sqa)  parte i -introduccion v3.0Software quality assurance (sqa)  parte i -introduccion v3.0
Software quality assurance (sqa) parte i -introduccion v3.0
Renato Gonzalez252 views
THE ROLE OF SOFTWARE TESTING IN THE ORGANIZATION’S VALUE ASSURANCE by itSMF Belgium
THE ROLE OF SOFTWARE TESTING IN THE ORGANIZATION’S VALUE ASSURANCETHE ROLE OF SOFTWARE TESTING IN THE ORGANIZATION’S VALUE ASSURANCE
THE ROLE OF SOFTWARE TESTING IN THE ORGANIZATION’S VALUE ASSURANCE
itSMF Belgium47 views
Alexandra Kovalyova “Testing process improvement: be the power of changes!” by Dakiry
Alexandra Kovalyova “Testing process improvement: be the power of changes!”Alexandra Kovalyova “Testing process improvement: be the power of changes!”
Alexandra Kovalyova “Testing process improvement: be the power of changes!”
Dakiry184 views

More from Krzysztof Jelski

05 - Testowalność by
05 - Testowalność05 - Testowalność
05 - TestowalnośćKrzysztof Jelski
467 views21 slides
04 - Dublerzy testowi by
04 - Dublerzy testowi04 - Dublerzy testowi
04 - Dublerzy testowiKrzysztof Jelski
421 views17 slides
03 - Testowanie GUI by
03 - Testowanie GUI03 - Testowanie GUI
03 - Testowanie GUIKrzysztof Jelski
362 views16 slides
How object oriented are you feeling today? by
How object oriented are you feeling today?How object oriented are you feeling today?
How object oriented are you feeling today?Krzysztof Jelski
1.1K views18 slides
02 - Mechanika TDD by
02 - Mechanika TDD02 - Mechanika TDD
02 - Mechanika TDDKrzysztof Jelski
294 views24 slides
01 - Wprowadzenie do TDD by
01 - Wprowadzenie do TDD01 - Wprowadzenie do TDD
01 - Wprowadzenie do TDDKrzysztof Jelski
509 views26 slides

More from Krzysztof Jelski(6)

Recently uploaded

"Surviving highload with Node.js", Andrii Shumada by
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada Fwdays
40 views29 slides
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Safe Software
344 views86 slides
Network Source of Truth and Infrastructure as Code revisited by
Network Source of Truth and Infrastructure as Code revisitedNetwork Source of Truth and Infrastructure as Code revisited
Network Source of Truth and Infrastructure as Code revisitedNetwork Automation Forum
42 views45 slides
Ransomware is Knocking your Door_Final.pdf by
Ransomware is Knocking your Door_Final.pdfRansomware is Knocking your Door_Final.pdf
Ransomware is Knocking your Door_Final.pdfSecurity Bootcamp
76 views46 slides
DRBD Deep Dive - Philipp Reisner - LINBIT by
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBITShapeBlue
62 views21 slides
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueShapeBlue
96 views20 slides

Recently uploaded(20)

"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays40 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software344 views
DRBD Deep Dive - Philipp Reisner - LINBIT by ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue62 views
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue96 views
Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray1080 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue65 views
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman40 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue96 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue57 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson133 views
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue63 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue46 views
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... by ShapeBlue
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
ShapeBlue48 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue46 views
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue83 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc77 views

Test-Driven Development Effectiveness - AgileEE 2016

  • 3. TDD
  • 4. TDD benefits Dev safety Better designLess defects Less debugging Less „will it work?”
  • 6. Internal quality External quality Test qualities Productivity Cost
  • 7. Internal quality External quality Test qualities Cost - no effect observed Productivity
  • 8. Internal quality External quality Test qualities Cost - no effect observed - significant result Productivity
  • 9. Common experiment design themes • TDD vs Test-Last • Between-subjects or repeated measures design • TDD training at the beginning • Measuring conformance to TDD
  • 10. Internal quality metrics • CBO - Coupling Between Object Classes • WMC - Weighted Methods per Class • RFC - Response For a Class
  • 11. Internal quality L. Madeyski, „Test-Driven Development.
 An Empirical Evaluation of Agile Practice”, 2010
  • 12. Internal quality L. Madeyski, „Test-Driven Development.
 An Empirical Evaluation of Agile Practice”, 2010 >100
  • 13. Internal quality L. Madeyski, „Test-Driven Development.
 An Empirical Evaluation of Agile Practice”, 2010 >100 Coupling Between Objects
  • 14. Internal quality L. Madeyski, „Test-Driven Development.
 An Empirical Evaluation of Agile Practice”, 2010 >100 Coupling Between Objects Weighted Methods per Class Response For a Class
  • 15. 3 experiments L. Madeyski, „Test-Driven Development.
 An Empirical Evaluation of Agile Practice”, 2010 >100 Coupling Between Objects Accounting Submissions Smells&Library
  • 16. 5-7 weeks preparation L. Madeyski, „Test-Driven Development.
 An Empirical Evaluation of Agile Practice”, 2010 >100 Coupling Between Objects
  • 17. 8-9 weeks duration L. Madeyski, „Test-Driven Development.
 An Empirical Evaluation of Agile Practice”, 2010 >100 Coupling Between Objects 23-27 User Stories
  • 18. Custom tools L. Madeyski, „Test-Driven Development.
 An Empirical Evaluation of Agile Practice”, 2010 >100 Coupling Between Objects Activity tracking OO metrics Mutation testing
  • 19. External quality metrics • Number of defects found • Defect density (defects/KLOC) • Percentage of acceptance tests passed • Quality mark given by client
  • 20. External quality - studies Y. Rafique et al., „The Effects of Test-Driven Development on External Quality and Productivity: A Meta-Analysis”, 2013 External quality (industrial studies) 27
  • 21. External quality - studies Y. Rafique et al., „The Effects of Test-Driven Development on External Quality and Productivity: A Meta-Analysis”, 2013 External quality (industrial studies) 27 O. Slyngstad et al., „The Impact of Test Driven Development on the Evolution of a Reusable Framework of Components: An Industrial Case Study”, 2008. 100 Defect density -33%
  • 22. External quality - studies Y. Rafique et al., „The Effects of Test-Driven Development on External Quality and Productivity: A Meta-Analysis”, 2013 External quality (industrial studies) 27 O. Slyngstad et al., „The Impact of Test Driven Development on the Evolution of a Reusable Framework of Components: An Industrial Case Study”, 2008. 100 Defect density -33% N. Nagappan et al., “Realizing Quality Improvement through Test Driven Development: Results and Experiences of Four Industrial Teams,” 2008. 40 Defect density -62% .. -90%
  • 23. Productivity metrics • Development time per task • Number of acceptance tests passed per hour • (sadly LOC was used in several studies)
  • 24. Productivity - studies L. Madeyski, „Test-Driven Development.
 An Empirical Evaluation of Agile Practice”, 2010 >100 Number of Acceptance Tests / hour Y. Rafique et al., „The Effects of Test-Driven Development on External Quality and Productivity: A Meta-Analysis”, 2013 27 Productivity (industrial) -22%
  • 25. Test qualities • Code coverage • Mutation Score Indicator • Number of negative test cases
  • 26. Test qualities - studies L. Madeyski, „Test-Driven Development.
 An Empirical Evaluation of Agile Practice”, 2010 >100 Code coverage Mutation Score Indicator No effects observed
  • 27. Test qualities - studies L. Madeyski, „Test-Driven Development.
 An Empirical Evaluation of Agile Practice”, 2010 >100 A. Čaušević et al., „Industrial Study on Test Driven Development: Challenges and Experience”, 2013 60 Number of negative test cases Code coverage Mutation Score Indicator No effects observed
  • 28. Cost - metrics • Fault cost • Total project cost • Maintenance cost
  • 29. Cost - studies Damm, L.O., Lundberg, L.: „Results from introducing component-level test automation and Test-Driven Development.”, 2006

  • 30. Do I do TDD? conformance = TDD_changes + refactorings all _changes Roberto Latorre, „Effects of developer experience on learning and applying Unit Test-Driven Development”, 2013
  • 33. Micheal Hilton, Danny Dig, http://cope.eecs.oregonstate.edu/visualization.html
  • 34. In your team Internal quality External quality TDD conformance* Measure: * - and tell me when you found out how
  • 38. Icons made by Freepik from www.flaticon.com CC 3.0 BY krzysztof.jelski@pragmatists.pl @krzysztofjelski Thank you!