SlideShare a Scribd company logo
1 of 29
Download to read offline
DevOpsDays Jakarta 2020
Code Coverage – A Dump Metric
by Thomas Rothe
BRI Corporate University, March 12th 2020
CODE COVERAGE – A DUMP METRIC
For Code Quality Thomas Rothe
Enterprise DevOps Coach
Thomas Rothe
Code Coverage is not a bad metric
- It's just a dump one!
Fixing (and finding) bugs late is costly
Code Coverage
Is a measure used in software testing. It describes the degree to
which the source code of a program has been tested.
https://en.wikipedia.org/wiki/Code_coverage
SourcecodeUnitTestCC
SourcecodeUnitTestCC
The Sneaky Developer The Metric Lovin’ Manager
SourcecodeUnitTestCC
SourcecodeUnitTestCC
Why?
Why do we need Code Coverage
____________________________________________
To Ensure Quality
Minimize Bugs/Defects
Early detection of flaws
Avoid Cost due to Rework and Delay
Higher Confidence
Everyone Happy
Software Negligence & Testing Coverage, Cem Kraner, 1995
The question is, what's wrong with this argument?
The Tragedy
of 100%
Code Coverage
How to reach 100% Code Coverage
____________________________________________
Every line of source code covered
Every underlying dependency is covered
Every possible representative input is covered
Every branch, condition and statement is covered
Every unexpected and error case is covered
Journey to Success ….
Do we really need 100% Code Coverage?
____________________________________________
Every high risk area is covered
Every Sprint we increase our test suite and coverage
Every test is valuable
Program
Mutant 1
Mutant 2
Mutant 3
Test
Suite
4. Compare
Test
Suite
Same
Same
Different
(“killed”)
1. Test
3. Test
Test Outputs
Test Outputs
2. Mutation
Operation
Adequacy:
= #Different / total
= 1/3
= 33%
Mutation Testing
Reruns unit tests against modified version of your code
The Good
Developer
linkedin.com/in/throthe/
thomas.rothe@devops.co.id
Thank You
DevOpsDays Jakarta 2020
Venue Sponsor
DevOpsDays Jakarta 2020
Platinum Sponsors
DevOpsDays Jakarta 2020
Gold Sponsors
DevOpsDays Jakarta 2020
Silver Sponsors
DevOpsDays Jakarta 2020
University Partners
DevOpsDays Jakarta 2020
Community Partners
DevOpsDays Jakarta 2020
Media Partners
Stay Connected
@IDDevOps @IDDevOps @IDDevOps
DevOps Indonesia
DevOps Indonesia DevOps Indonesia
THANK YOU !
Alone We are smart, together We are brilliant

More Related Content

What's hot

Strategies To Develop Location Aware Hyperlocal Android Apps
Strategies To Develop Location Aware Hyperlocal Android AppsStrategies To Develop Location Aware Hyperlocal Android Apps
Strategies To Develop Location Aware Hyperlocal Android Apps
Ajeet Singh
 

What's hot (20)

DevOps Indonesia Meetup [ONLINE] - Secure your container within 30 minutes - ...
DevOps Indonesia Meetup [ONLINE] - Secure your container within 30 minutes - ...DevOps Indonesia Meetup [ONLINE] - Secure your container within 30 minutes - ...
DevOps Indonesia Meetup [ONLINE] - Secure your container within 30 minutes - ...
 
Introducing to DevOps Indonesia Community
Introducing to DevOps Indonesia CommunityIntroducing to DevOps Indonesia Community
Introducing to DevOps Indonesia Community
 
DevOps Indonesia "Going deeper into Jenkins, Docker and even more" - Announce...
DevOps Indonesia "Going deeper into Jenkins, Docker and even more" - Announce...DevOps Indonesia "Going deeper into Jenkins, Docker and even more" - Announce...
DevOps Indonesia "Going deeper into Jenkins, Docker and even more" - Announce...
 
Microservices Tools | Edureka
Microservices Tools | EdurekaMicroservices Tools | Edureka
Microservices Tools | Edureka
 
Integrate Security and Compliance into your CI/CD Pipeline
Integrate Security and Compliance into your CI/CD PipelineIntegrate Security and Compliance into your CI/CD Pipeline
Integrate Security and Compliance into your CI/CD Pipeline
 
Roadshow to dev opsdays jakarta 2020 with linkaja announcement
Roadshow to dev opsdays jakarta 2020 with linkaja   announcementRoadshow to dev opsdays jakarta 2020 with linkaja   announcement
Roadshow to dev opsdays jakarta 2020 with linkaja announcement
 
The Role of DevPortals in Digital Transformation
The Role of DevPortals in Digital TransformationThe Role of DevPortals in Digital Transformation
The Role of DevPortals in Digital Transformation
 
How to avoid cascading failures in microservices
How to avoid cascading failures in microservicesHow to avoid cascading failures in microservices
How to avoid cascading failures in microservices
 
The Learning loop of Devops in Enterprise
The Learning loop of Devops in EnterpriseThe Learning loop of Devops in Enterprise
The Learning loop of Devops in Enterprise
 
[Online] How DevOps Tranforming Service Operation and Platform
[Online] How DevOps Tranforming Service Operation and Platform[Online] How DevOps Tranforming Service Operation and Platform
[Online] How DevOps Tranforming Service Operation and Platform
 
Dev ops Training Course
Dev ops Training CourseDev ops Training Course
Dev ops Training Course
 
Why you need a Developer Relations team for your API
Why you need a Developer Relations team for your APIWhy you need a Developer Relations team for your API
Why you need a Developer Relations team for your API
 
DevSecCon Singapore 2019: The journey of digital transformation through DevSe...
DevSecCon Singapore 2019: The journey of digital transformation through DevSe...DevSecCon Singapore 2019: The journey of digital transformation through DevSe...
DevSecCon Singapore 2019: The journey of digital transformation through DevSe...
 
How to develop an API ecosystem in the fintech industry from the ground up
How to develop an API ecosystem in the fintech industry from the ground upHow to develop an API ecosystem in the fintech industry from the ground up
How to develop an API ecosystem in the fintech industry from the ground up
 
Service Operations Transformation Journey
Service Operations Transformation JourneyService Operations Transformation Journey
Service Operations Transformation Journey
 
DevOps Indonesia - DevSecOps - Application Security on Production Environment
DevOps Indonesia - DevSecOps - Application Security on Production EnvironmentDevOps Indonesia - DevSecOps - Application Security on Production Environment
DevOps Indonesia - DevSecOps - Application Security on Production Environment
 
DevOps Real-Time Projects | Edureka
DevOps Real-Time Projects | EdurekaDevOps Real-Time Projects | Edureka
DevOps Real-Time Projects | Edureka
 
Introduction to DevOps | Edureka
Introduction to DevOps | EdurekaIntroduction to DevOps | Edureka
Introduction to DevOps | Edureka
 
DevOps Indonesia Announcement at Home Credit Indonesia
DevOps Indonesia Announcement at Home Credit IndonesiaDevOps Indonesia Announcement at Home Credit Indonesia
DevOps Indonesia Announcement at Home Credit Indonesia
 
Strategies To Develop Location Aware Hyperlocal Android Apps
Strategies To Develop Location Aware Hyperlocal Android AppsStrategies To Develop Location Aware Hyperlocal Android Apps
Strategies To Develop Location Aware Hyperlocal Android Apps
 

Similar to Code Coverage - A Dump Metric

5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
Takanori Suzuki
 
Curiosity and SelectorsHub present: Generate Rigorous Automated Tests - and L...
Curiosity and SelectorsHub present: Generate Rigorous Automated Tests - and L...Curiosity and SelectorsHub present: Generate Rigorous Automated Tests - and L...
Curiosity and SelectorsHub present: Generate Rigorous Automated Tests - and L...
Curiosity Software Ireland
 
Model-Based Testing for Cypress
Model-Based Testing for CypressModel-Based Testing for Cypress
Model-Based Testing for Cypress
Curiosity Software Ireland
 
caring_about_code_quality
caring_about_code_qualitycaring_about_code_quality
caring_about_code_quality
Ketan Patel
 

Similar to Code Coverage - A Dump Metric (20)

DevOpsDays Jakarta: Code Coverage - A dump metric for code quality
DevOpsDays Jakarta: Code Coverage - A dump metric for code qualityDevOpsDays Jakarta: Code Coverage - A dump metric for code quality
DevOpsDays Jakarta: Code Coverage - A dump metric for code quality
 
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
 
Curiosity and SelectorsHub present: Generate Rigorous Automated Tests - and L...
Curiosity and SelectorsHub present: Generate Rigorous Automated Tests - and L...Curiosity and SelectorsHub present: Generate Rigorous Automated Tests - and L...
Curiosity and SelectorsHub present: Generate Rigorous Automated Tests - and L...
 
Tdd vs bdd vs atdd — developers’ methodologies to navigate complex developmen...
Tdd vs bdd vs atdd — developers’ methodologies to navigate complex developmen...Tdd vs bdd vs atdd — developers’ methodologies to navigate complex developmen...
Tdd vs bdd vs atdd — developers’ methodologies to navigate complex developmen...
 
Software Measurement: Lecture 3. Metrics in Organization
Software Measurement: Lecture 3. Metrics in OrganizationSoftware Measurement: Lecture 3. Metrics in Organization
Software Measurement: Lecture 3. Metrics in Organization
 
IRJET-Automatic Bug Triage with Software
IRJET-Automatic Bug Triage with Software IRJET-Automatic Bug Triage with Software
IRJET-Automatic Bug Triage with Software
 
Test-Driven Code Review: An Empirical Study
Test-Driven Code Review: An Empirical StudyTest-Driven Code Review: An Empirical Study
Test-Driven Code Review: An Empirical Study
 
Quality Assurance and its Importance in Software Industry by Aman Shukla
Quality Assurance and its Importance in Software Industry by Aman ShuklaQuality Assurance and its Importance in Software Industry by Aman Shukla
Quality Assurance and its Importance in Software Industry by Aman Shukla
 
8 Tips To Write A Quality Code
8 Tips To Write A Quality Code8 Tips To Write A Quality Code
8 Tips To Write A Quality Code
 
Model-Based Testing for Cypress
Model-Based Testing for CypressModel-Based Testing for Cypress
Model-Based Testing for Cypress
 
Creating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran Kinsbruner
 
Defect Tracking Software Project Presentation
Defect Tracking Software Project PresentationDefect Tracking Software Project Presentation
Defect Tracking Software Project Presentation
 
Multi step automated refactoring for code smell
Multi step automated refactoring for code smellMulti step automated refactoring for code smell
Multi step automated refactoring for code smell
 
Multi step automated refactoring for code smell
Multi step automated refactoring for code smellMulti step automated refactoring for code smell
Multi step automated refactoring for code smell
 
QualityGate for IT Managers
QualityGate for IT ManagersQualityGate for IT Managers
QualityGate for IT Managers
 
Removing-the-cost-coding-errors-in-building-materials
 Removing-the-cost-coding-errors-in-building-materials Removing-the-cost-coding-errors-in-building-materials
Removing-the-cost-coding-errors-in-building-materials
 
Wait for it: identifying “On-Hold” self-admitted technical debt
Wait for it: identifying “On-Hold” self-admitted technical debtWait for it: identifying “On-Hold” self-admitted technical debt
Wait for it: identifying “On-Hold” self-admitted technical debt
 
Traps detection during migration of C and C++ code to 64-bit Windows
Traps detection during migration of C and C++ code to 64-bit WindowsTraps detection during migration of C and C++ code to 64-bit Windows
Traps detection during migration of C and C++ code to 64-bit Windows
 
Problems of testing 64-bit applications
Problems of testing 64-bit applicationsProblems of testing 64-bit applications
Problems of testing 64-bit applications
 
caring_about_code_quality
caring_about_code_qualitycaring_about_code_quality
caring_about_code_quality
 

More from DevOps Indonesia

More from DevOps Indonesia (20)

DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation Journey
 
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
 
Securing an NGINX deployment for K8s
Securing an NGINX deployment for K8sSecuring an NGINX deployment for K8s
Securing an NGINX deployment for K8s
 
Observability in highly distributed systems
Observability in highly distributed systemsObservability in highly distributed systems
Observability in highly distributed systems
 
DevOps Indonesia Meetup #52 - announcement
DevOps Indonesia Meetup #52 - announcementDevOps Indonesia Meetup #52 - announcement
DevOps Indonesia Meetup #52 - announcement
 
Dev ops meetup 51 : Securing DevOps Lifecycle - Announcement
Dev ops meetup 51 : Securing DevOps Lifecycle - AnnouncementDev ops meetup 51 : Securing DevOps Lifecycle - Announcement
Dev ops meetup 51 : Securing DevOps Lifecycle - Announcement
 
Securing DevOps Lifecycle
Securing DevOps LifecycleSecuring DevOps Lifecycle
Securing DevOps Lifecycle
 
DevOps Meetup 50 : Securing your Application - Announcement
DevOps Meetup 50 : Securing your Application - AnnouncementDevOps Meetup 50 : Securing your Application - Announcement
DevOps Meetup 50 : Securing your Application - Announcement
 
Secure your Application with Google cloud armor
Secure your Application with Google cloud armorSecure your Application with Google cloud armor
Secure your Application with Google cloud armor
 
DevOps Meetup 49 Aws Copilot and Gitops - announcement by DevOps Indonesia
DevOps Meetup 49  Aws Copilot and Gitops - announcement by DevOps IndonesiaDevOps Meetup 49  Aws Copilot and Gitops - announcement by DevOps Indonesia
DevOps Meetup 49 Aws Copilot and Gitops - announcement by DevOps Indonesia
 
Operate Containers with AWS Copilot
Operate Containers with AWS CopilotOperate Containers with AWS Copilot
Operate Containers with AWS Copilot
 
Continuously Deploy Your CDK Application by Petra novandi barus
Continuously  Deploy Your CDK Application by Petra novandi barusContinuously  Deploy Your CDK Application by Petra novandi barus
Continuously Deploy Your CDK Application by Petra novandi barus
 
DevOps indonesia (online) meetup 46 aws with payfazz in devops indonesia - a...
DevOps indonesia (online) meetup 46  aws with payfazz in devops indonesia - a...DevOps indonesia (online) meetup 46  aws with payfazz in devops indonesia - a...
DevOps indonesia (online) meetup 46 aws with payfazz in devops indonesia - a...
 
Securing Your Database Dynamic DB Credentials
Securing Your Database  Dynamic DB CredentialsSecuring Your Database  Dynamic DB Credentials
Securing Your Database Dynamic DB Credentials
 
DevOps Indonesia (online) meetup 45 - Announcement
DevOps Indonesia (online) meetup 45 - AnnouncementDevOps Indonesia (online) meetup 45 - Announcement
DevOps Indonesia (online) meetup 45 - Announcement
 
The Death and Rise of Enterprise DevOps
The Death and Rise of Enterprise DevOpsThe Death and Rise of Enterprise DevOps
The Death and Rise of Enterprise DevOps
 
API Security Webinar - Credential Stuffing
API Security Webinar - Credential StuffingAPI Security Webinar - Credential Stuffing
API Security Webinar - Credential Stuffing
 
API Security Webinar - Security Guidelines for Providing and Consuming APIs
API Security Webinar - Security Guidelines for Providing and Consuming APIsAPI Security Webinar - Security Guidelines for Providing and Consuming APIs
API Security Webinar - Security Guidelines for Providing and Consuming APIs
 
API Security Webinar - Hendra Tanto
API Security Webinar - Hendra TantoAPI Security Webinar - Hendra Tanto
API Security Webinar - Hendra Tanto
 
API Security Webinar : Credential Stuffing
API Security Webinar : Credential StuffingAPI Security Webinar : Credential Stuffing
API Security Webinar : Credential Stuffing
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Code Coverage - A Dump Metric