Good Metrics for TDD

Naresh Jain
Naresh JainTech Startup Founder at ConfEngine
Good Metrics for a
 TDD Program
                 “Less is More”

          Naresh Jain
   naresh@industriallogic.com




   Copyright © 2011, Industrial Logic, Inc. All Rights Reserved.
                                                                   1
C3 - TreeMap

• Coverage
• Complexity
• Churn


        Copyright © 2011, Industrial Logic, Inc. All Rights Reserved.
                                                                        2
Test vs. Production Code
                                   Src LOC                   Test LOC
60,000




45,000




30,000




15,000




    0
    15 Feb   2 Mar   17 Mar      1 Apr         18 Apr        1 May        16 May        31 May   15 Jun   30 Jun

         Usually Test Driven code has more Test Code than Production Code
                        Copyright © 2011, Industrial Logic, Inc. All Rights Reserved.
                                                                                                                   3
Test Run Trend with
         every CI Build
                  # of Failing Test                    # of Passing

300


225


150


 75


  0
      B1   B2         B3            B4            B5            B6          B7   B8
                                   Each Build
            Copyright © 2011, Industrial Logic, Inc. All Rights Reserved.
                                                                                      4
Test Balance
• # of commits that include Tests over time (weekly)
             Commits With Tests                      Commits Without Tests

150.0


112.5


 75.0


 37.5


   0
        W1     W2            W3               W4              W5                W6   W7
                Copyright © 2011, Industrial Logic, Inc. All Rights Reserved.
                                                                                          5
Test Churn
• # of tests added/removed over time (weekly)
                    Tests Added                   Tests Removed

60


45


30


15


 0
     W1   W2                W3                      W4                         W5   W6
               Copyright © 2011, Industrial Logic, Inc. All Rights Reserved.
                                                                                         6
Satisfaction Rating from
        Developers and Testers
                                     Devs                    Testers

70.0


52.5

%
35.0


17.5


    0
    June 6th   June 13th     June 20th          June 27th            July 4th          July 11th   July 18th
                                              Weekly
                           Copyright © 2011, Industrial Logic, Inc. All Rights Reserved.
                                                                                                               7
Thank You!
More Interesting Material at :
http://industriallogic.com/shop




    Copyright © 2011, Industrial Logic, Inc. All Rights Reserved.
                                                                    8
1 of 8

Recommended

The Limited Red Society by
The Limited Red SocietyThe Limited Red Society
The Limited Red SocietyNaresh Jain
6.2K views61 slides
ATDD - Acceptance Test Driven Development by
ATDD - Acceptance Test Driven DevelopmentATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven DevelopmentNaresh Jain
52K views179 slides
TDD Overview by
TDD OverviewTDD Overview
TDD OverviewNaresh Jain
7.4K views135 slides
Refactoring Fest by
Refactoring FestRefactoring Fest
Refactoring FestNaresh Jain
14.6K views38 slides
Continuous Deployment Demystified by
Continuous Deployment DemystifiedContinuous Deployment Demystified
Continuous Deployment DemystifiedNaresh Jain
7.7K views81 slides
Software Development The Trekkers Way by
Software Development The Trekkers WaySoftware Development The Trekkers Way
Software Development The Trekkers WayNaresh Jain
6K views22 slides

More Related Content

Viewers also liked

Agile Is the New Waterfall by
Agile Is the New WaterfallAgile Is the New Waterfall
Agile Is the New WaterfallNaresh Jain
68.1K views95 slides
Agile Overview by
Agile OverviewAgile Overview
Agile OverviewNaresh Jain
8.7K views72 slides
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi) by
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)Directi Group
7.2K views16 slides
Offshore Agile Maintenance by
Offshore Agile MaintenanceOffshore Agile Maintenance
Offshore Agile MaintenanceNaresh Jain
7.1K views17 slides
Distributed Agile by
Distributed AgileDistributed Agile
Distributed AgileNaresh Jain
8.4K views120 slides
XP And Scrum Practices by
XP And Scrum PracticesXP And Scrum Practices
XP And Scrum PracticesNaresh Jain
9.2K views47 slides

Viewers also liked(20)

Agile Is the New Waterfall by Naresh Jain
Agile Is the New WaterfallAgile Is the New Waterfall
Agile Is the New Waterfall
Naresh Jain68.1K views
Agile Overview by Naresh Jain
Agile OverviewAgile Overview
Agile Overview
Naresh Jain8.7K views
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi) by Directi Group
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Directi Group7.2K views
Offshore Agile Maintenance by Naresh Jain
Offshore Agile MaintenanceOffshore Agile Maintenance
Offshore Agile Maintenance
Naresh Jain7.1K views
Distributed Agile by Naresh Jain
Distributed AgileDistributed Agile
Distributed Agile
Naresh Jain8.4K views
XP And Scrum Practices by Naresh Jain
XP And Scrum PracticesXP And Scrum Practices
XP And Scrum Practices
Naresh Jain9.2K views
Agile Maintenance by Naresh Jain
Agile MaintenanceAgile Maintenance
Agile Maintenance
Naresh Jain13.6K views
Evolution Of Team Interaction Models by Naresh Jain
Evolution Of Team Interaction ModelsEvolution Of Team Interaction Models
Evolution Of Team Interaction Models
Naresh Jain7.3K views
Waterfall to Agile Demo by Naresh Jain
Waterfall to Agile DemoWaterfall to Agile Demo
Waterfall to Agile Demo
Naresh Jain9.4K views
Agile Testing by Naresh Jain
Agile TestingAgile Testing
Agile Testing
Naresh Jain15.9K views
Pair Programming by Naresh Jain
Pair ProgrammingPair Programming
Pair Programming
Naresh Jain12.6K views
Value Driven Development by Dave Thomas by Naresh Jain
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
Naresh Jain2.4K views
Towards FutureOps: Stable, Repeatable environments from Dev to Prod by Naresh Jain
Towards FutureOps: Stable, Repeatable environments from Dev to ProdTowards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Naresh Jain671 views
Agile India 2017 Conference by Naresh Jain
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 Conference
Naresh Jain25.5K views
TDD and mobile development: some forgotten techniques, illustrated with Android by Codemotion
TDD and mobile development: some forgotten techniques, illustrated with AndroidTDD and mobile development: some forgotten techniques, illustrated with Android
TDD and mobile development: some forgotten techniques, illustrated with Android
Codemotion789 views
Test driven infrastructure by XPeppers
Test driven infrastructureTest driven infrastructure
Test driven infrastructure
XPeppers2.1K views
Improve your TDD skills by XPeppers
Improve your TDD skillsImprove your TDD skills
Improve your TDD skills
XPeppers580 views

More from Naresh Jain

Problem Solving Techniques For Evolutionary Design by
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignNaresh Jain
842 views40 slides
Agile India 2019 Conference Welcome Note by
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteNaresh Jain
749 views25 slides
Organizational Resilience by
Organizational ResilienceOrganizational Resilience
Organizational ResilienceNaresh Jain
1.4K views79 slides
Improving the Quality of Incoming Code by
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming CodeNaresh Jain
624 views54 slides
Agile India 2018 Conference Summary by
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference SummaryNaresh Jain
877 views19 slides
Agile India 2018 Conference by
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
701 views21 slides

More from Naresh Jain(20)

Problem Solving Techniques For Evolutionary Design by Naresh Jain
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary Design
Naresh Jain842 views
Agile India 2019 Conference Welcome Note by Naresh Jain
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome Note
Naresh Jain749 views
Organizational Resilience by Naresh Jain
Organizational ResilienceOrganizational Resilience
Organizational Resilience
Naresh Jain1.4K views
Improving the Quality of Incoming Code by Naresh Jain
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
Naresh Jain624 views
Agile India 2018 Conference Summary by Naresh Jain
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference Summary
Naresh Jain877 views
Agile India 2018 Conference by Naresh Jain
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
Naresh Jain701 views
Agile India 2018 Conference by Naresh Jain
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
Naresh Jain818 views
Agile India 2018 Conference by Naresh Jain
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
Naresh Jain817 views
Pilgrim's Progress to the Promised Land by Robert Virding by Naresh Jain
Pilgrim's Progress to the Promised Land by Robert VirdingPilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert Virding
Naresh Jain385 views
Concurrent languages are Functional by Francesco Cesarini by Naresh Jain
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco Cesarini
Naresh Jain497 views
Erlang from behing the trenches by Francesco Cesarini by Naresh Jain
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco Cesarini
Naresh Jain442 views
Anatomy of an eCommerce Search Engine by Mayur Datar by Naresh Jain
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur Datar
Naresh Jain1.5K views
Setting up Continuous Delivery Culture for a Large Scale Mobile App by Naresh Jain
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Naresh Jain641 views
No Silver Bullets in Functional Programming by Brian McKenna by Naresh Jain
No Silver Bullets in Functional Programming by Brian McKennaNo Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKenna
Naresh Jain774 views
Functional Programming Conference 2016 by Naresh Jain
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016
Naresh Jain567 views
Unleashing the Power of Automated Refactoring with JDT by Naresh Jain
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDT
Naresh Jain623 views
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim by Naresh Jain
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo KimGetting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
Naresh Jain1.3K views
MVP Design Hacks by Naresh Jain
MVP Design HacksMVP Design Hacks
MVP Design Hacks
Naresh Jain1.8K views
Functional Conf 2015 by Naresh Jain
Functional Conf 2015Functional Conf 2015
Functional Conf 2015
Naresh Jain963 views

Recently uploaded

Redefining the book supply chain: A glimpse into the future - Tech Forum 2023 by
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023BookNet Canada
46 views19 slides
Choosing the Right Flutter App Development Company by
Choosing the Right Flutter App Development CompanyChoosing the Right Flutter App Development Company
Choosing the Right Flutter App Development CompanyFicode Technologies
13 views9 slides
PCCC23:日本AMD株式会社 テーマ2「AMD EPYC™ プロセッサーを用いたAIソリューション」 by
PCCC23:日本AMD株式会社 テーマ2「AMD EPYC™ プロセッサーを用いたAIソリューション」PCCC23:日本AMD株式会社 テーマ2「AMD EPYC™ プロセッサーを用いたAIソリューション」
PCCC23:日本AMD株式会社 テーマ2「AMD EPYC™ プロセッサーを用いたAIソリューション」PC Cluster Consortium
27 views12 slides
Telenity Solutions Brief by
Telenity Solutions BriefTelenity Solutions Brief
Telenity Solutions BriefMustafa Kuğu
14 views10 slides
Evaluation of Quality of Experience of ABR Schemes in Gaming Stream by
Evaluation of Quality of Experience of ABR Schemes in Gaming StreamEvaluation of Quality of Experience of ABR Schemes in Gaming Stream
Evaluation of Quality of Experience of ABR Schemes in Gaming StreamAlpen-Adria-Universität
44 views34 slides
This talk was not generated with ChatGPT: how AI is changing science by
This talk was not generated with ChatGPT: how AI is changing scienceThis talk was not generated with ChatGPT: how AI is changing science
This talk was not generated with ChatGPT: how AI is changing scienceElena Simperl
34 views13 slides

Recently uploaded(20)

Redefining the book supply chain: A glimpse into the future - Tech Forum 2023 by BookNet Canada
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
BookNet Canada46 views
PCCC23:日本AMD株式会社 テーマ2「AMD EPYC™ プロセッサーを用いたAIソリューション」 by PC Cluster Consortium
PCCC23:日本AMD株式会社 テーマ2「AMD EPYC™ プロセッサーを用いたAIソリューション」PCCC23:日本AMD株式会社 テーマ2「AMD EPYC™ プロセッサーを用いたAIソリューション」
PCCC23:日本AMD株式会社 テーマ2「AMD EPYC™ プロセッサーを用いたAIソリューション」
This talk was not generated with ChatGPT: how AI is changing science by Elena Simperl
This talk was not generated with ChatGPT: how AI is changing scienceThis talk was not generated with ChatGPT: how AI is changing science
This talk was not generated with ChatGPT: how AI is changing science
Elena Simperl34 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
DianaGray10152 views
Transcript: Redefining the book supply chain: A glimpse into the future - Tec... by BookNet Canada
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
BookNet Canada43 views
Discover Aura Workshop (12.5.23).pdf by Neo4j
Discover Aura Workshop (12.5.23).pdfDiscover Aura Workshop (12.5.23).pdf
Discover Aura Workshop (12.5.23).pdf
Neo4j20 views
Adopting Karpenter for Cost and Simplicity at Grafana Labs.pdf by MichaelOLeary82
Adopting Karpenter for Cost and Simplicity at Grafana Labs.pdfAdopting Karpenter for Cost and Simplicity at Grafana Labs.pdf
Adopting Karpenter for Cost and Simplicity at Grafana Labs.pdf
MichaelOLeary8213 views
Optimizing Communication to Optimize Human Behavior - LCBM by Yaman Kumar
Optimizing Communication to Optimize Human Behavior - LCBMOptimizing Communication to Optimize Human Behavior - LCBM
Optimizing Communication to Optimize Human Behavior - LCBM
Yaman Kumar39 views
Bronack Skills - Risk Management and SRE v1.0 12-3-2023.pdf by ThomasBronack
Bronack Skills - Risk Management and SRE v1.0 12-3-2023.pdfBronack Skills - Risk Management and SRE v1.0 12-3-2023.pdf
Bronack Skills - Risk Management and SRE v1.0 12-3-2023.pdf
ThomasBronack31 views
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
"Package management in monorepos", Zoltan Kochan by Fwdays
"Package management in monorepos", Zoltan Kochan"Package management in monorepos", Zoltan Kochan
"Package management in monorepos", Zoltan Kochan
Fwdays37 views
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE85 views
GDSC GLAU Info Session.pptx by gauriverrma4
GDSC GLAU Info Session.pptxGDSC GLAU Info Session.pptx
GDSC GLAU Info Session.pptx
gauriverrma415 views
Mobile Core Solutions & Successful Cases.pdf by IPLOOK Networks
Mobile Core Solutions & Successful Cases.pdfMobile Core Solutions & Successful Cases.pdf
Mobile Core Solutions & Successful Cases.pdf
IPLOOK Networks16 views
"Running students' code in isolation. The hard way", Yurii Holiuk by Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays38 views
Cocktail of Environments. How to Mix Test and Development Environments and St... by Aleksandr Tarasov
Cocktail of Environments. How to Mix Test and Development Environments and St...Cocktail of Environments. How to Mix Test and Development Environments and St...
Cocktail of Environments. How to Mix Test and Development Environments and St...

Good Metrics for TDD

  • 1. Good Metrics for a TDD Program “Less is More” Naresh Jain naresh@industriallogic.com Copyright © 2011, Industrial Logic, Inc. All Rights Reserved. 1
  • 2. C3 - TreeMap • Coverage • Complexity • Churn Copyright © 2011, Industrial Logic, Inc. All Rights Reserved. 2
  • 3. Test vs. Production Code Src LOC Test LOC 60,000 45,000 30,000 15,000 0 15 Feb 2 Mar 17 Mar 1 Apr 18 Apr 1 May 16 May 31 May 15 Jun 30 Jun Usually Test Driven code has more Test Code than Production Code Copyright © 2011, Industrial Logic, Inc. All Rights Reserved. 3
  • 4. Test Run Trend with every CI Build # of Failing Test # of Passing 300 225 150 75 0 B1 B2 B3 B4 B5 B6 B7 B8 Each Build Copyright © 2011, Industrial Logic, Inc. All Rights Reserved. 4
  • 5. Test Balance • # of commits that include Tests over time (weekly) Commits With Tests Commits Without Tests 150.0 112.5 75.0 37.5 0 W1 W2 W3 W4 W5 W6 W7 Copyright © 2011, Industrial Logic, Inc. All Rights Reserved. 5
  • 6. Test Churn • # of tests added/removed over time (weekly) Tests Added Tests Removed 60 45 30 15 0 W1 W2 W3 W4 W5 W6 Copyright © 2011, Industrial Logic, Inc. All Rights Reserved. 6
  • 7. Satisfaction Rating from Developers and Testers Devs Testers 70.0 52.5 % 35.0 17.5 0 June 6th June 13th June 20th June 27th July 4th July 11th July 18th Weekly Copyright © 2011, Industrial Logic, Inc. All Rights Reserved. 7
  • 8. Thank You! More Interesting Material at : http://industriallogic.com/shop Copyright © 2011, Industrial Logic, Inc. All Rights Reserved. 8