SlideShare a Scribd company logo
Measuring Coverage From
e2e Tests
@BagmarAnand
Anand Bagmar
Software Quality Evangelist, Essence Of Testing
About Me
Anand Bagmar
EssenceOfTesting.com
@BagmarAnand
Criteria of Automated Tests
@BagmarAnand
• Tests are “testing” the “right functionality / behavior”!
• Tests give quick feedback
• IF Tests fail, the correct reason of failure is provided
• Tests are optimized & efficient
@BagmarAnand
Criteria of Automated Tests
https://i.pinimg.com/474x/ec/8a/17/ec8a176036490a3338f806172a23e4b3.jpg
Test Automation Pyramid
@BagmarAnand
Unit (xUnit / JavaScript)
Manual / Exploratory
Web Service
UI / e2e
Business-facing
Tests
Technology-facing
Tests
@BagmarAnand
Test Pyramid
Slow
More integration
Expensive
Fast
More isolation
Cheap
@BagmarAnand
Test Pyramid – Includes NFRs
Unit (xUnit / JavaScript)
Manual / Exploratory
Web Service
UI / e2e
Performance
Security
Accessibility
Analytics
Given you have all these
tests….
@BagmarAnand
How do you measure
quality of your product?
@BagmarAnand
Test Metrics
@BagmarAnand
• Gives understanding of current state
• Provides indication of potential problems / issues
• Ability to make educated, data-driven decisions, quickly!
@BagmarAnand
Why are Metrics important?
However ….
@BagmarAnand
• Abused
• Taken out of context & proportion
• Seem to be set in stone!
@BagmarAnand
(Sad) Reality of Metrics
https://i.pinimg.com/474x/ec/8a/17/ec8a176036490a3338f806172a23e4b3.jpg
@BagmarAnand
Way of working has evolved
https://upload.wikimedia.org/wikipedia/commons/1/1c/Evolution-des-wissens.jpg
@BagmarAnand
We are still stuck in the past in measuring Quality!
https://previews.123rf.com/images/riedjal/riedjal1403/riedjal140300005/26549722-prehistoric-age-of-beardy-caveman-surprised-to-find-a-laptop.jpg
(Traditional) Test Metrics
@BagmarAnand
• Test Case Effectiveness = (Number of defects detected / Number of test cases run) x 100
• Test Case Productivity = (Number of Test Cases / Efforts Spent for Test Case Preparation)
• Test Coverage = Number of detected faults/number of predicted defects.
• Test Code Coverage = Produce code coverage by e2e / UI tests
• Requirement Coverage = (Number of requirements covered / Total number of requirements) x 100
• Test Design Coverage = (Total number of requirements mapped to test cases / Total number of requirements) x 100
• Test Execution Coverage = (Total number of executed test cases or scripts / Total number of test cases or scripts
planned to be executed) x 100
• %ge of work completed & yet to be completed
• Time to complete the remaining work
@BagmarAnand
(Traditional) Test Metrics
• There is a lot of work required to capture these metrics
• The result of these metrics does not necessarily tell how can I make
the product quality better
• How do these metrics (capturing, measuring and analyzing) work in
the Agile way of working?
Hence, such metrics add very limited value to teams!
@BagmarAnand
Traditional Test Metrics
Metrics that add very limited value to teams should be
avoided!
They seem to be more for managers than for teams to
build a high-quality product!
@BagmarAnand
Traditional Test Metrics
@BagmarAnand
How to find better ways?
https://previews.123rf.com/images/bosecher/bosecher1509/bosecher150900020/45695557-vector-cartoon-illustration-of-a-stoneage-man-sitting-on-a-stone-wheel.jpg
It’s a challenge
@BagmarAnand
• Ways of working has evolved, but people are still the
same!
• Roles / Titles have changed, but people are still the same!
• We still need to measure quality, so we end up using
techniques what we knew before!
@BagmarAnand
Why is it a challenge?
• Metrics should be easy and quick to capture
• Use practices that will allow metrics to be captured
automatically
• Generate meaningful & visual reports to infer Quality
@BagmarAnand
Evolved way of thinking about Metrics
@BagmarAnand
80-20 Rule / Pareto Principle
https://en.wikipedia.org/wiki/Pareto_principle
http://textbook.stpauls.br/Business_Organization/images/pic311.jpg
@BagmarAnand
So, how do you measure
quality of your product?
Test Metrics
@BagmarAnand
Quality
What indicates quality of
your product?
@BagmarAnand
Quality is the Teams’
Responsibility!
@BagmarAnand
Unit (xUnit / JavaScript)
Manual / Exploratory
Web Service
UI / e2e
Business-facing
Tests
Technology-facing
Tests
@BagmarAnand
Test Pyramid
Slow
More integration
Expensive
Fast
More isolation
Cheap
Unit (xUnit / JavaScript)
Manual / Exploratory
Web Service
UI / e2e
@BagmarAnand
Quality is NOT some report from QA Team!
Test Execution
report created
by QA Team
@BagmarAnand
All aspects of testing combined indicate Quality
of product-under-test
Unit (xUnit / JavaScript)
Manual / Exploratory
Web Service
UI / e2ePerformance
Security
Accessibility
Analytics
Quality of product-under-test
Let's get specific!
@BagmarAnand
• Test Case Effectiveness = (Number of defects detected / Number of test cases run) x 100
• Test Case Productivity = (Number of Test Cases / Efforts Spent for Test Case Preparation)
• Test Coverage = Number of detected faults/number of predicted defects.
• Test Code Coverage = Produce code coverage by e2e / UI tests
• Requirement Coverage = (Number of requirements covered / Total number of requirements) x 100
• Test Design Coverage = (Total number of requirements mapped to test cases / Total number of requirements) x 100
• Test Execution Coverage = (Total number of executed test cases or scripts / Total number of test cases or scripts
planned to be executed) x 100
• %ge of work completed & yet to be completed
• Time to complete the remaining work
@BagmarAnand
(Traditional) Test Metrics
I often get asked ….
@BagmarAnand
https://lh3.googleusercontent.com/proxy/3JFWJGTlmTym_g9xCZpHIFNLN3rQZu3js8f7iJDHFc6CCeTDb4hpLJaaQm1YCe2BfxyuA_7Lv3B4Clt7MpICbe_Ay09TY8k
How can you capture code
coverage from e2e / UI tests?
@BagmarAnand
https://lh3.googleusercontent.com/proxy/3JFWJGTlmTym_g9xCZpHIFNLN3rQZu3js8f7iJDHFc6CCeTDb4hpLJaaQm1YCe2BfxyuA_7Lv3B4Clt7MpICbe_Ay09TY8k
Let us first understand
Code Coverage?
@BagmarAnand
What is Code Coverage?
@BagmarAnand
https://en.wikipedia.org/wiki/Code_coverage
@BagmarAnand
https://w0.pngwave.com/png/522/439/quail-eggs-hot-pot-common-quail-quail-eggs-png-clip-art.png
@BagmarAnand
We want to have high code coverage
for all types of tests!
But, does it really make sense?
@BagmarAnand
https://lh3.googleusercontent.com/proxy/3JFWJGTlmTym_g9xCZpHIFNLN3rQZu3js8f7iJDHFc6CCeTDb4hpLJaaQm1YCe2BfxyuA_7Lv3B4Clt7MpICbe_Ay09TY8k
How is Code Coverage
measured?
@BagmarAnand
https://stackoverflow.com/questions/195008/what-is-code-coverage-and-how-do-you-measure-it
@BagmarAnand
When tests are running:
• Instrumented product-under-test to allow tracing and
capturing data / metrics
• Isolated environment – i.e. No one else should be using
the same environment
@BagmarAnand
Criteria for Code Coverage & Analysis
@BagmarAnand
Feasibility of Code Coverage & Analysis
How the tests run?
Code Coverage
Analysis Possible?
Challenges
Unit Tests
• Mocks / Stubs
• Isolated environment
Yes
Minimal
• Standard mocking & stubbing
practices should suffice
@BagmarAnand
Feasibility of Code Coverage & Analysis
How the tests run?
Code Coverage
Analysis Possible?
Challenges
Unit Tests
• Mocks / Stubs
• Isolated environment
Yes
Minimal
• Standard mocking & stubbing
practices should suffice
API / WebService
Tests
• Against deployed Service(s)
• Dependent services may be
stubbed / mocked for
better orchestration
Yes, but at service level
Medium
• From a setup / mocking
dependencies perspective
@BagmarAnand
Feasibility of Code Coverage & Analysis
How the tests run?
Code Coverage
Analysis Possible?
Challenges
Unit Tests
• Mocks / Stubs
• Isolated environment
Yes
Minimal
• Standard mocking & stubbing
practices should suffice
API / WebService
Tests
• Against deployed Service(s)
• Dependent services may be
stubbed / mocked for
better orchestration
Yes, but at service level
Medium
• From a setup / mocking
dependencies perspective
e2e / UI Tests
• Against deployed
environment
• All integrations in place
• Data / config setup may be
necessary
• Some systems may be
stubbed
Yes, but may not be a
good strategy (cost Vs
value)
High
• Need full environment setup
• Keeping environment “pure” and
“isolated” from use by tests or
humans for tracing to work
• e2e tests may trigger only a small
set of code paths compared to
Unit & API tests
Unit (xUnit / JavaScript)
Manual / Exploratory
Web Service
UI / e2e
Business-facing
Tests
Technology-facing
Tests
@BagmarAnand
Test Pyramid
Slow
More integration
Expensive
Fast
More isolation
Cheap
@BagmarAnand
Feasibility of Code Coverage & Analysis
How the tests run?
Code Coverage
Analysis Possible?
Challenges
Unit Tests
• Mocks / Stubs
• Isolated environment
Yes
Minimal
• Standard mocking & stubbing
practices should suffice
API / WebService
Tests
• Against deployed Service(s)
• Dependent services may be
stubbed / mocked for
better orchestration
Yes, but at service level
Medium
• From a setup / mocking
dependencies perspective
e2e / UI Tests
• Against deployed
environment
• All integrations in place
• Data / config setup may be
necessary
• Some systems may be
stubbed
Yes, but may not be a
good strategy (cost Vs
value)
High
• Need full environment setup
• Keeping environment “pure” and
“isolated” from use by tests or
humans for tracing to work
• e2e tests may trigger only a small
set of code paths compared to
Unit & API tests
Value
Easy
Feasibility
Difficult
How to measure quality?
@BagmarAnand
Unit (xUnit / JavaScript)
Manual / Exploratory
Web Service
UI / e2e
@BagmarAnand
Test Pyramid
Unit (xUnit / JavaScript)
Manual / Exploratory
Web Service
UI / e2e
@BagmarAnand
Measuring Quality from each Test Type
Feature Coverage
User Experience / Usability
Accessibility
Feature Coverage
Visual Coverage
Accessibility
Product-deployment & setup time
Test Execution time
Code Coverage
Contract Tests
Load / Performance / Security
API / Service Deployment & Setup time
Execution time
Code Coverage
Static Code Analysis
Execution time
In the rest of this session
we will focus on Feature
Coverage for e2e / UI Tests
@BagmarAnand
Feature Coverage
@BagmarAnand
• e2e / UI tests are typically user scenarios that cut across
many features of the product
• High-impact / High-risk features should be tested more
than low-impact / low-risk features
* Risk / Impact is relative to business goals / user functionality
@BagmarAnand
Why should we capture Feature Coverage?
The ability to know which features are
covered, and how many times, as part of
execution of the e2e / UI Tests!
@BagmarAnand
Feature Coverage - Objective
Visualizing the feature coverage can give –
• confidence of the automated e2e tests,
• provide data where to focus next
@BagmarAnand
Feature Coverage – how will it help?
• Add appropriate ‘tags’ to automated e2e / UI tests
• Gherkin-based tools (ex: Cucumber, Karate, etc.) make it easy to add tags
• Test runners have different ways to provide custom Annotations
• Ex: TestNG, Junit, etc.
@BagmarAnand
Capturing Feature Coverage
• Approach #1: Update your reports to include ‘tags’ for the tests
• Create visualization based on the ’tags’ added in test reports
• Ex: Cucumber-reporting gives you ‘tag’ analysis out-of-the-box
• Uses json report files as input to create report
• Approach #2: Benchmark tag data (if #1 is not feasible)
• Update test framework to “log” all tags & and its test name to a common csv
file
• Post test execution, open csv file in a spreadsheet, and create chart to
visualize Feature Coverage
@BagmarAnand
Visualizing Feature Coverage
https://cdnb.artstation.com/p/assets/images/images/020/039/203/large/wesam-ab-img-20190814-163328-163.jpg?1566108077
@BagmarAnand
Demo
@BagmarAnand
@BagmarAnand
• Identify the correct set of tags to be used, for each type of test
• Tags can be based on features, components of your product
• Watch out for “tag-hell”
@BagmarAnand
Feature Coverage – Tips
Tracking feature coverage from your api / functional UI (e2e) tests
https://essenceoftesting.blogspot.com/2020/03/tracking-functional-coverage.html
Sample repo using cucumber-reports with karate:
https://github.com/anandbagmar/karate-sample
Cucumber-reporting
https://github.com/damianszczepanik/cucumber-reporting
@BagmarAnand
References
Thank you!
Anand Bagmar
EssenceOfTesting.com
@BagmarAnand

More Related Content

What's hot

Software devops engineer in test (SDET)
Software devops engineer in test (SDET)Software devops engineer in test (SDET)
Software devops engineer in test (SDET)
Sriram Angajala
 
Argentesting 2018 - Patrones de diseño en la automatización: ¿PageObject o Sc...
Argentesting 2018 - Patrones de diseño en la automatización: ¿PageObject o Sc...Argentesting 2018 - Patrones de diseño en la automatización: ¿PageObject o Sc...
Argentesting 2018 - Patrones de diseño en la automatización: ¿PageObject o Sc...
Argentesting
 
API Testing with Open Source Code and Cucumber
API Testing with Open Source Code and CucumberAPI Testing with Open Source Code and Cucumber
API Testing with Open Source Code and Cucumber
SmartBear
 
QA Best Practices in Agile World_new
QA Best Practices in Agile World_newQA Best Practices in Agile World_new
QA Best Practices in Agile World_new
Praveen Dosapati (CSM)
 
Software testing
Software testingSoftware testing
Software testing
Ashu Bansal
 
Jenkins Test Automation with codeBeamer ALM
Jenkins Test Automation with codeBeamer ALMJenkins Test Automation with codeBeamer ALM
Jenkins Test Automation with codeBeamer ALM
Intland Software GmbH
 
Agile and ATDD the perfect couple
Agile and ATDD the perfect coupleAgile and ATDD the perfect couple
Agile and ATDD the perfect couple
Stephen Tucker
 
Building and Managing Scalable Applications on AWS: 1 to 500K users
Building and Managing Scalable Applications on AWS: 1 to 500K usersBuilding and Managing Scalable Applications on AWS: 1 to 500K users
Building and Managing Scalable Applications on AWS: 1 to 500K users
Amazon Web Services
 
Software testing
Software testingSoftware testing
Software testing
KarnatiChandramoules
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
Anuj Arora
 
What is objectives of software testing
What is objectives of software testingWhat is objectives of software testing
What is objectives of software testing
Software Testing Books
 
Unit tests & TDD
Unit tests & TDDUnit tests & TDD
Unit tests & TDD
Dror Helper
 
Continuous and Visible Security Testing with BDD-Security
Continuous and Visible Security Testing with BDD-SecurityContinuous and Visible Security Testing with BDD-Security
Continuous and Visible Security Testing with BDD-Security
Stephen de Vries
 
Qa management in big agile teams
Qa management in big agile teamsQa management in big agile teams
Qa management in big agile teams
Vladimir Primakov (Volodymyr Prymakov)
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
Archana Krushnan
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
Pekka Klärck
 
DevOps Culture at Amazon
DevOps Culture at AmazonDevOps Culture at Amazon
DevOps Culture at Amazon
Amazon Web Services
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
SivaprasanthRentala1975
 
Writing and using Hamcrest Matchers
Writing and using Hamcrest MatchersWriting and using Hamcrest Matchers
Writing and using Hamcrest Matchers
Shai Yallin
 
Introduction to Selenium Web Driver
Introduction to Selenium Web DriverIntroduction to Selenium Web Driver
Introduction to Selenium Web Driver
Return on Intelligence
 

What's hot (20)

Software devops engineer in test (SDET)
Software devops engineer in test (SDET)Software devops engineer in test (SDET)
Software devops engineer in test (SDET)
 
Argentesting 2018 - Patrones de diseño en la automatización: ¿PageObject o Sc...
Argentesting 2018 - Patrones de diseño en la automatización: ¿PageObject o Sc...Argentesting 2018 - Patrones de diseño en la automatización: ¿PageObject o Sc...
Argentesting 2018 - Patrones de diseño en la automatización: ¿PageObject o Sc...
 
API Testing with Open Source Code and Cucumber
API Testing with Open Source Code and CucumberAPI Testing with Open Source Code and Cucumber
API Testing with Open Source Code and Cucumber
 
QA Best Practices in Agile World_new
QA Best Practices in Agile World_newQA Best Practices in Agile World_new
QA Best Practices in Agile World_new
 
Software testing
Software testingSoftware testing
Software testing
 
Jenkins Test Automation with codeBeamer ALM
Jenkins Test Automation with codeBeamer ALMJenkins Test Automation with codeBeamer ALM
Jenkins Test Automation with codeBeamer ALM
 
Agile and ATDD the perfect couple
Agile and ATDD the perfect coupleAgile and ATDD the perfect couple
Agile and ATDD the perfect couple
 
Building and Managing Scalable Applications on AWS: 1 to 500K users
Building and Managing Scalable Applications on AWS: 1 to 500K usersBuilding and Managing Scalable Applications on AWS: 1 to 500K users
Building and Managing Scalable Applications on AWS: 1 to 500K users
 
Software testing
Software testingSoftware testing
Software testing
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
What is objectives of software testing
What is objectives of software testingWhat is objectives of software testing
What is objectives of software testing
 
Unit tests & TDD
Unit tests & TDDUnit tests & TDD
Unit tests & TDD
 
Continuous and Visible Security Testing with BDD-Security
Continuous and Visible Security Testing with BDD-SecurityContinuous and Visible Security Testing with BDD-Security
Continuous and Visible Security Testing with BDD-Security
 
Qa management in big agile teams
Qa management in big agile teamsQa management in big agile teams
Qa management in big agile teams
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
 
DevOps Culture at Amazon
DevOps Culture at AmazonDevOps Culture at Amazon
DevOps Culture at Amazon
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 
Writing and using Hamcrest Matchers
Writing and using Hamcrest MatchersWriting and using Hamcrest Matchers
Writing and using Hamcrest Matchers
 
Introduction to Selenium Web Driver
Introduction to Selenium Web DriverIntroduction to Selenium Web Driver
Introduction to Selenium Web Driver
 

Similar to Measuring Coverage From E2E Tests

The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
Perfecto by Perforce
 
Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case Design
Georgina Tilby
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
Andrew Siemer
 
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverThe Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
QA or the Highway
 
Agile testing
Agile testingAgile testing
Agile testing
Raj Indugula
 
Getting started with Appium 2.0
Getting started with Appium 2.0Getting started with Appium 2.0
Getting started with Appium 2.0
Anand Bagmar
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projects
Daniel Ionita
 
Qtp - Introduction values
Qtp - Introduction valuesQtp - Introduction values
Qtp - Introduction values
Vibrant Technologies & Computers
 
Quality analysis pdf to study For your education
Quality analysis pdf to study For your educationQuality analysis pdf to study For your education
Quality analysis pdf to study For your education
Shraddhatadmare1
 
QAorHighway2016
QAorHighway2016QAorHighway2016
QAorHighway2016
Bhupesh Dahal
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh Dahal
QA or the Highway
 
A lean automation blueprint for testing in continuous delivery
A lean automation blueprint for testing in continuous deliveryA lean automation blueprint for testing in continuous delivery
A lean automation blueprint for testing in continuous delivery
Sauce Labs
 
Test automation lesson
Test automation lessonTest automation lesson
Test automation lesson
Sadaaki Emura
 
Alexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingAlexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance Testing
Neotys_Partner
 
Software Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsSoftware Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails Applications
Bhavin Javia
 
Clean Code in Test Automation Differentiating Between the Good and the Bad
Clean Code in Test Automation  Differentiating Between the Good and the BadClean Code in Test Automation  Differentiating Between the Good and the Bad
Clean Code in Test Automation Differentiating Between the Good and the Bad
Knoldus Inc.
 
SF1 - Apex Development Best Practises
SF1 - Apex Development Best PractisesSF1 - Apex Development Best Practises
SF1 - Apex Development Best Practises
Sebastian Wagner
 
Continuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTestContinuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTest
Peter Marshall
 
Does your functional automation really add value?
Does your functional automation really add value?Does your functional automation really add value?
Does your functional automation really add value?
Anand Bagmar
 
When is a project ready for Software Automation_NEW
When is a project ready for Software Automation_NEWWhen is a project ready for Software Automation_NEW
When is a project ready for Software Automation_NEW
Mike Christesen
 

Similar to Measuring Coverage From E2E Tests (20)

The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
 
Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case Design
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
 
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverThe Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
 
Agile testing
Agile testingAgile testing
Agile testing
 
Getting started with Appium 2.0
Getting started with Appium 2.0Getting started with Appium 2.0
Getting started with Appium 2.0
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projects
 
Qtp - Introduction values
Qtp - Introduction valuesQtp - Introduction values
Qtp - Introduction values
 
Quality analysis pdf to study For your education
Quality analysis pdf to study For your educationQuality analysis pdf to study For your education
Quality analysis pdf to study For your education
 
QAorHighway2016
QAorHighway2016QAorHighway2016
QAorHighway2016
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh Dahal
 
A lean automation blueprint for testing in continuous delivery
A lean automation blueprint for testing in continuous deliveryA lean automation blueprint for testing in continuous delivery
A lean automation blueprint for testing in continuous delivery
 
Test automation lesson
Test automation lessonTest automation lesson
Test automation lesson
 
Alexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingAlexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance Testing
 
Software Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsSoftware Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails Applications
 
Clean Code in Test Automation Differentiating Between the Good and the Bad
Clean Code in Test Automation  Differentiating Between the Good and the BadClean Code in Test Automation  Differentiating Between the Good and the Bad
Clean Code in Test Automation Differentiating Between the Good and the Bad
 
SF1 - Apex Development Best Practises
SF1 - Apex Development Best PractisesSF1 - Apex Development Best Practises
SF1 - Apex Development Best Practises
 
Continuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTestContinuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTest
 
Does your functional automation really add value?
Does your functional automation really add value?Does your functional automation really add value?
Does your functional automation really add value?
 
When is a project ready for Software Automation_NEW
When is a project ready for Software Automation_NEWWhen is a project ready for Software Automation_NEW
When is a project ready for Software Automation_NEW
 

More from Anand Bagmar

Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
Anand Bagmar
 
Eradicate Flaky Tests
Eradicate Flaky TestsEradicate Flaky Tests
Eradicate Flaky Tests
Anand Bagmar
 
Automating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devicesAutomating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devices
Anand Bagmar
 
Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022
Anand Bagmar
 
Design Patterns in Automation
Design Patterns in AutomationDesign Patterns in Automation
Design Patterns in Automation
Anand Bagmar
 
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteChange Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Anand Bagmar
 
Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)
Anand Bagmar
 
Next Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AINext Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AI
Anand Bagmar
 
The Best Test Automation Framework is...
The Best Test Automation Framework is...The Best Test Automation Framework is...
The Best Test Automation Framework is...
Anand Bagmar
 
Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021
Anand Bagmar
 
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Anand Bagmar
 
Selenium Deep Dive
Selenium Deep DiveSelenium Deep Dive
Selenium Deep Dive
Anand Bagmar
 
Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020
Anand Bagmar
 
Visual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA SymposiumVisual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA Symposium
Anand Bagmar
 
Collaboration - A Taboo!
Collaboration - A Taboo!Collaboration - A Taboo!
Collaboration - A Taboo!
Anand Bagmar
 
Visual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation PyramidVisual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation Pyramid
Anand Bagmar
 
Measuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback LoopMeasuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback Loop
Anand Bagmar
 
What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?
Anand Bagmar
 
The What, Why and How of Analytics Testing
The What, Why and How of Analytics TestingThe What, Why and How of Analytics Testing
The What, Why and How of Analytics Testing
Anand Bagmar
 
Patterns of a “good” test automation framework
Patterns of a “good” test automation frameworkPatterns of a “good” test automation framework
Patterns of a “good” test automation framework
Anand Bagmar
 

More from Anand Bagmar (20)

Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
 
Eradicate Flaky Tests
Eradicate Flaky TestsEradicate Flaky Tests
Eradicate Flaky Tests
 
Automating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devicesAutomating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devices
 
Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022
 
Design Patterns in Automation
Design Patterns in AutomationDesign Patterns in Automation
Design Patterns in Automation
 
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteChange Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
 
Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)
 
Next Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AINext Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AI
 
The Best Test Automation Framework is...
The Best Test Automation Framework is...The Best Test Automation Framework is...
The Best Test Automation Framework is...
 
Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021
 
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
 
Selenium Deep Dive
Selenium Deep DiveSelenium Deep Dive
Selenium Deep Dive
 
Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020
 
Visual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA SymposiumVisual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA Symposium
 
Collaboration - A Taboo!
Collaboration - A Taboo!Collaboration - A Taboo!
Collaboration - A Taboo!
 
Visual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation PyramidVisual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation Pyramid
 
Measuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback LoopMeasuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback Loop
 
What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?
 
The What, Why and How of Analytics Testing
The What, Why and How of Analytics TestingThe What, Why and How of Analytics Testing
The What, Why and How of Analytics Testing
 
Patterns of a “good” test automation framework
Patterns of a “good” test automation frameworkPatterns of a “good” test automation framework
Patterns of a “good” test automation framework
 

Recently uploaded

AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdfAWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
karim wahed
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
DNUG e.V.
 
Attendance Tracking From Paper To Digital
Attendance Tracking From Paper To DigitalAttendance Tracking From Paper To Digital
Attendance Tracking From Paper To Digital
Task Tracker
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
karim wahed
 
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Softwares
 
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud
Ortus Solutions, Corp
 
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
onemonitarsoftware
 
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
Hironori Washizaki
 
What is OCR Technology and How to Extract Text from Any Image for Free
What is OCR Technology and How to Extract Text from Any Image for FreeWhat is OCR Technology and How to Extract Text from Any Image for Free
What is OCR Technology and How to Extract Text from Any Image for Free
TwisterTools
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Livetecs LLC
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
Semiosis Software Private Limited
 
dachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdfdachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdf
DNUG e.V.
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
Severalnines
 
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
ThousandEyes
 
Cultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational TransformationCultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational Transformation
Mindfire Solution
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
miso_uam
 
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
bhatinidhi2001
 
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Asher Sterkin
 
Splunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptxSplunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptx
sudsdeep
 
Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
VishrutGoyani1
 

Recently uploaded (20)

AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdfAWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) AWS Security .pdf
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
 
Attendance Tracking From Paper To Digital
Attendance Tracking From Paper To DigitalAttendance Tracking From Paper To Digital
Attendance Tracking From Paper To Digital
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
 
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
 
Migrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS CloudMigrate your Infrastructure to the AWS Cloud
Migrate your Infrastructure to the AWS Cloud
 
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
 
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
 
What is OCR Technology and How to Extract Text from Any Image for Free
What is OCR Technology and How to Extract Text from Any Image for FreeWhat is OCR Technology and How to Extract Text from Any Image for Free
What is OCR Technology and How to Extract Text from Any Image for Free
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
 
dachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdfdachnug51 - All you ever wanted to know about domino licensing.pdf
dachnug51 - All you ever wanted to know about domino licensing.pdf
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
 
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
 
Cultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational TransformationCultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational Transformation
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
 
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
 
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
 
Splunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptxSplunk_Remote_Work_Insights_Overview.pptx
Splunk_Remote_Work_Insights_Overview.pptx
 
Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
 

Measuring Coverage From E2E Tests

  • 1. Measuring Coverage From e2e Tests @BagmarAnand Anand Bagmar Software Quality Evangelist, Essence Of Testing
  • 3. Criteria of Automated Tests @BagmarAnand
  • 4. • Tests are “testing” the “right functionality / behavior”! • Tests give quick feedback • IF Tests fail, the correct reason of failure is provided • Tests are optimized & efficient @BagmarAnand Criteria of Automated Tests https://i.pinimg.com/474x/ec/8a/17/ec8a176036490a3338f806172a23e4b3.jpg
  • 6. Unit (xUnit / JavaScript) Manual / Exploratory Web Service UI / e2e Business-facing Tests Technology-facing Tests @BagmarAnand Test Pyramid Slow More integration Expensive Fast More isolation Cheap
  • 7. @BagmarAnand Test Pyramid – Includes NFRs Unit (xUnit / JavaScript) Manual / Exploratory Web Service UI / e2e Performance Security Accessibility Analytics
  • 8. Given you have all these tests…. @BagmarAnand
  • 9. How do you measure quality of your product? @BagmarAnand
  • 11. • Gives understanding of current state • Provides indication of potential problems / issues • Ability to make educated, data-driven decisions, quickly! @BagmarAnand Why are Metrics important?
  • 13. • Abused • Taken out of context & proportion • Seem to be set in stone! @BagmarAnand (Sad) Reality of Metrics https://i.pinimg.com/474x/ec/8a/17/ec8a176036490a3338f806172a23e4b3.jpg
  • 14. @BagmarAnand Way of working has evolved https://upload.wikimedia.org/wikipedia/commons/1/1c/Evolution-des-wissens.jpg
  • 15. @BagmarAnand We are still stuck in the past in measuring Quality! https://previews.123rf.com/images/riedjal/riedjal1403/riedjal140300005/26549722-prehistoric-age-of-beardy-caveman-surprised-to-find-a-laptop.jpg
  • 17. • Test Case Effectiveness = (Number of defects detected / Number of test cases run) x 100 • Test Case Productivity = (Number of Test Cases / Efforts Spent for Test Case Preparation) • Test Coverage = Number of detected faults/number of predicted defects. • Test Code Coverage = Produce code coverage by e2e / UI tests • Requirement Coverage = (Number of requirements covered / Total number of requirements) x 100 • Test Design Coverage = (Total number of requirements mapped to test cases / Total number of requirements) x 100 • Test Execution Coverage = (Total number of executed test cases or scripts / Total number of test cases or scripts planned to be executed) x 100 • %ge of work completed & yet to be completed • Time to complete the remaining work @BagmarAnand (Traditional) Test Metrics
  • 18. • There is a lot of work required to capture these metrics • The result of these metrics does not necessarily tell how can I make the product quality better • How do these metrics (capturing, measuring and analyzing) work in the Agile way of working? Hence, such metrics add very limited value to teams! @BagmarAnand Traditional Test Metrics
  • 19. Metrics that add very limited value to teams should be avoided! They seem to be more for managers than for teams to build a high-quality product! @BagmarAnand Traditional Test Metrics
  • 20. @BagmarAnand How to find better ways? https://previews.123rf.com/images/bosecher/bosecher1509/bosecher150900020/45695557-vector-cartoon-illustration-of-a-stoneage-man-sitting-on-a-stone-wheel.jpg
  • 22. • Ways of working has evolved, but people are still the same! • Roles / Titles have changed, but people are still the same! • We still need to measure quality, so we end up using techniques what we knew before! @BagmarAnand Why is it a challenge?
  • 23. • Metrics should be easy and quick to capture • Use practices that will allow metrics to be captured automatically • Generate meaningful & visual reports to infer Quality @BagmarAnand Evolved way of thinking about Metrics
  • 24. @BagmarAnand 80-20 Rule / Pareto Principle https://en.wikipedia.org/wiki/Pareto_principle
  • 27. What indicates quality of your product? @BagmarAnand
  • 28. Quality is the Teams’ Responsibility! @BagmarAnand
  • 29. Unit (xUnit / JavaScript) Manual / Exploratory Web Service UI / e2e Business-facing Tests Technology-facing Tests @BagmarAnand Test Pyramid Slow More integration Expensive Fast More isolation Cheap
  • 30. Unit (xUnit / JavaScript) Manual / Exploratory Web Service UI / e2e @BagmarAnand Quality is NOT some report from QA Team! Test Execution report created by QA Team
  • 31. @BagmarAnand All aspects of testing combined indicate Quality of product-under-test Unit (xUnit / JavaScript) Manual / Exploratory Web Service UI / e2ePerformance Security Accessibility Analytics Quality of product-under-test
  • 33. • Test Case Effectiveness = (Number of defects detected / Number of test cases run) x 100 • Test Case Productivity = (Number of Test Cases / Efforts Spent for Test Case Preparation) • Test Coverage = Number of detected faults/number of predicted defects. • Test Code Coverage = Produce code coverage by e2e / UI tests • Requirement Coverage = (Number of requirements covered / Total number of requirements) x 100 • Test Design Coverage = (Total number of requirements mapped to test cases / Total number of requirements) x 100 • Test Execution Coverage = (Total number of executed test cases or scripts / Total number of test cases or scripts planned to be executed) x 100 • %ge of work completed & yet to be completed • Time to complete the remaining work @BagmarAnand (Traditional) Test Metrics
  • 34. I often get asked …. @BagmarAnand https://lh3.googleusercontent.com/proxy/3JFWJGTlmTym_g9xCZpHIFNLN3rQZu3js8f7iJDHFc6CCeTDb4hpLJaaQm1YCe2BfxyuA_7Lv3B4Clt7MpICbe_Ay09TY8k
  • 35. How can you capture code coverage from e2e / UI tests? @BagmarAnand https://lh3.googleusercontent.com/proxy/3JFWJGTlmTym_g9xCZpHIFNLN3rQZu3js8f7iJDHFc6CCeTDb4hpLJaaQm1YCe2BfxyuA_7Lv3B4Clt7MpICbe_Ay09TY8k
  • 36. Let us first understand Code Coverage? @BagmarAnand
  • 37. What is Code Coverage? @BagmarAnand
  • 40. But, does it really make sense? @BagmarAnand https://lh3.googleusercontent.com/proxy/3JFWJGTlmTym_g9xCZpHIFNLN3rQZu3js8f7iJDHFc6CCeTDb4hpLJaaQm1YCe2BfxyuA_7Lv3B4Clt7MpICbe_Ay09TY8k
  • 41. How is Code Coverage measured? @BagmarAnand
  • 43. When tests are running: • Instrumented product-under-test to allow tracing and capturing data / metrics • Isolated environment – i.e. No one else should be using the same environment @BagmarAnand Criteria for Code Coverage & Analysis
  • 44. @BagmarAnand Feasibility of Code Coverage & Analysis How the tests run? Code Coverage Analysis Possible? Challenges Unit Tests • Mocks / Stubs • Isolated environment Yes Minimal • Standard mocking & stubbing practices should suffice
  • 45. @BagmarAnand Feasibility of Code Coverage & Analysis How the tests run? Code Coverage Analysis Possible? Challenges Unit Tests • Mocks / Stubs • Isolated environment Yes Minimal • Standard mocking & stubbing practices should suffice API / WebService Tests • Against deployed Service(s) • Dependent services may be stubbed / mocked for better orchestration Yes, but at service level Medium • From a setup / mocking dependencies perspective
  • 46. @BagmarAnand Feasibility of Code Coverage & Analysis How the tests run? Code Coverage Analysis Possible? Challenges Unit Tests • Mocks / Stubs • Isolated environment Yes Minimal • Standard mocking & stubbing practices should suffice API / WebService Tests • Against deployed Service(s) • Dependent services may be stubbed / mocked for better orchestration Yes, but at service level Medium • From a setup / mocking dependencies perspective e2e / UI Tests • Against deployed environment • All integrations in place • Data / config setup may be necessary • Some systems may be stubbed Yes, but may not be a good strategy (cost Vs value) High • Need full environment setup • Keeping environment “pure” and “isolated” from use by tests or humans for tracing to work • e2e tests may trigger only a small set of code paths compared to Unit & API tests
  • 47. Unit (xUnit / JavaScript) Manual / Exploratory Web Service UI / e2e Business-facing Tests Technology-facing Tests @BagmarAnand Test Pyramid Slow More integration Expensive Fast More isolation Cheap
  • 48. @BagmarAnand Feasibility of Code Coverage & Analysis How the tests run? Code Coverage Analysis Possible? Challenges Unit Tests • Mocks / Stubs • Isolated environment Yes Minimal • Standard mocking & stubbing practices should suffice API / WebService Tests • Against deployed Service(s) • Dependent services may be stubbed / mocked for better orchestration Yes, but at service level Medium • From a setup / mocking dependencies perspective e2e / UI Tests • Against deployed environment • All integrations in place • Data / config setup may be necessary • Some systems may be stubbed Yes, but may not be a good strategy (cost Vs value) High • Need full environment setup • Keeping environment “pure” and “isolated” from use by tests or humans for tracing to work • e2e tests may trigger only a small set of code paths compared to Unit & API tests Value Easy Feasibility Difficult
  • 49. How to measure quality? @BagmarAnand
  • 50. Unit (xUnit / JavaScript) Manual / Exploratory Web Service UI / e2e @BagmarAnand Test Pyramid
  • 51. Unit (xUnit / JavaScript) Manual / Exploratory Web Service UI / e2e @BagmarAnand Measuring Quality from each Test Type Feature Coverage User Experience / Usability Accessibility Feature Coverage Visual Coverage Accessibility Product-deployment & setup time Test Execution time Code Coverage Contract Tests Load / Performance / Security API / Service Deployment & Setup time Execution time Code Coverage Static Code Analysis Execution time
  • 52. In the rest of this session we will focus on Feature Coverage for e2e / UI Tests @BagmarAnand
  • 54. • e2e / UI tests are typically user scenarios that cut across many features of the product • High-impact / High-risk features should be tested more than low-impact / low-risk features * Risk / Impact is relative to business goals / user functionality @BagmarAnand Why should we capture Feature Coverage?
  • 55. The ability to know which features are covered, and how many times, as part of execution of the e2e / UI Tests! @BagmarAnand Feature Coverage - Objective
  • 56. Visualizing the feature coverage can give – • confidence of the automated e2e tests, • provide data where to focus next @BagmarAnand Feature Coverage – how will it help?
  • 57. • Add appropriate ‘tags’ to automated e2e / UI tests • Gherkin-based tools (ex: Cucumber, Karate, etc.) make it easy to add tags • Test runners have different ways to provide custom Annotations • Ex: TestNG, Junit, etc. @BagmarAnand Capturing Feature Coverage
  • 58. • Approach #1: Update your reports to include ‘tags’ for the tests • Create visualization based on the ’tags’ added in test reports • Ex: Cucumber-reporting gives you ‘tag’ analysis out-of-the-box • Uses json report files as input to create report • Approach #2: Benchmark tag data (if #1 is not feasible) • Update test framework to “log” all tags & and its test name to a common csv file • Post test execution, open csv file in a spreadsheet, and create chart to visualize Feature Coverage @BagmarAnand Visualizing Feature Coverage
  • 62. • Identify the correct set of tags to be used, for each type of test • Tags can be based on features, components of your product • Watch out for “tag-hell” @BagmarAnand Feature Coverage – Tips
  • 63. Tracking feature coverage from your api / functional UI (e2e) tests https://essenceoftesting.blogspot.com/2020/03/tracking-functional-coverage.html Sample repo using cucumber-reports with karate: https://github.com/anandbagmar/karate-sample Cucumber-reporting https://github.com/damianszczepanik/cucumber-reporting @BagmarAnand References