SlideShare une entreprise Scribd logo
1  sur  27
© Harbinger Systems | www.harbinger-systems.com
Smart Testing –
Test Less,
Cover More,
Benefit Manifold
Avinash Magdum
STeP-IN SUMMIT 2014
© Harbinger Systems | www.harbinger-systems.com
Agenda
© Harbinger Systems | www.harbinger-systems.com
Vicious Cycle of Quality Challenges
Shorter Release
Cycle
Inadequate Time
for Testing
Insufficient Test
Coverage
High Number of
Defect Leakages
Too Many
Maintenance
Releases
Adoption of Agile
Methodology Increasing
Testing Scope
© Harbinger Systems | www.harbinger-systems.com
Root Cause of Defect Leakages
Insufficient Test Cases
• No Traceability
• No clarity on requirements
• Misinterpretation of requirements
Poor Test Planning
• No Impact analysis
• Incorrect Prioritization
Inadequate Time to Execute
• Increasing OS – Browser support
• Variety of devices to be supported
© Harbinger Systems | www.harbinger-systems.com
The Solution…
© Harbinger Systems | www.harbinger-systems.com
Code Coverage Analysis
Definition: Its measure of the degree to which
the source code of an application is tested by
it’s test suite.
Categories
Functional Coverage
Conditional Coverage
Branch Coverage
Statement Coverage
© Harbinger Systems | www.harbinger-systems.com
Functional Coverage
Definition: It is the ratio of number of functions
(methods) covered by the test suite over
number of functions (methods) in the
application.
For example, if an application has 4500 methods,
and if 2700 of them get called after executing
entire test suite then,
Functional coverage = 2700 / 4500 = 60%
© Harbinger Systems | www.harbinger-systems.com
• Definition: It is the ratio of number of code
paths (branches) covered by the test suite over
number of code paths in the application.
Branch Coverage
In this code snippet, there are
5 code paths within switch
block. So for this block, if our
test cases can visit only 3
cases, then the branch
coverage for this block is 60%.
Same could be extended to
entire application
© Harbinger Systems | www.harbinger-systems.com
• Definition: It is the ratio of number of decisions
covered by the test suite over total number of
decisions in the application.
Conditional / Decision Coverage
In this code snippet, there are 4
decisions within the if block.
There are 4 decisions – both a and b
negative, only a negative, only b
negative and both a and b positive
If we test only for both negative and
both positive values, conditional
coverage is 50%
© Harbinger Systems | www.harbinger-systems.com
• Definition: It is the ratio of number of
statements executed by the test suite over
total number of statements in the application.
For example, if an application has 600,000 lines
of code, and if only 240,000 of them get
executed by the entire test suite then,
Statement coverage = 240,000 / 600,000 = 40%
Statement Coverage
© Harbinger Systems | www.harbinger-systems.com
Code Coverage Tools
Java
• Cobertura (open source)
• Jcover (commercial)
• EMMA (open source)
.NET
• dotCover (commercial)
• Ncover (commercial)
C / C++ / VC++
• BullsEye (commercial)
• Gcov (open source)
© Harbinger Systems | www.harbinger-systems.com
Objective 1:
Identifying Missing Test Cases
© Harbinger Systems | www.harbinger-systems.com
Execute entire test suite
Select / Unselect assemblies / modules for
coverage analysis
Verify the Coverage browser
Instrument the application
Select right code coverage tool
Identifying Missing Test Cases - I
© Harbinger Systems | www.harbinger-systems.com
Map uncovered methods (functional code) on
UI actions
Group Uncovered Methods
Dead Code Error Handling Code Functional Code
Identify Uncovered Methods
Analyze Coverage Report
Identifying Missing Test Cases - II
© Harbinger Systems | www.harbinger-systems.com
Identify Uncovered Branches
Analyze coverage report – Increased coverage
Execute new test cases
Create new test cases to include above UI
actions
Identifying Missing Test Cases - III
© Harbinger Systems | www.harbinger-systems.com
Analyze coverage report – Increased coverage
Execute new test cases
Create new test cases to include above UI
actions
Map Uncovered Branches on UI actions
Identifying Missing Test Cases - IV
© Harbinger Systems | www.harbinger-systems.com
Objective 2:
Identifying Redundant Test Cases
© Harbinger Systems | www.harbinger-systems.com
Identifying Redundant Test Cases - I
Compare every two successive Statement
Coverage counters
After every execution of a test case, check
Statement Coverage
Execute Test Cases sequentially, for a Feature
Setup Application For Code Coverage Analysis
© Harbinger Systems | www.harbinger-systems.com
Identifying Redundant Test Cases - II
Remove all the Redundant Test Cases from the
Test Suite
Repeat this Process for all the Features
Repeat above steps for all the Test Cases of the
Feature
If Statement Coverage Counters are identical,
mark the later test case as Redundant
© Harbinger Systems | www.harbinger-systems.com
Objective 3:
Identifying Optimal set of Test Cases (Test Plan)
for any Maintenance Releases
© Harbinger Systems | www.harbinger-systems.com
It’s a tool to identify optimal subset of Test Suite
for any maintenance release
It is created using Code Coverage Analysis
Gives list of test cases impacted by any code
change
Reduces testing efforts drastically
Arrests the bug leakages
Impact Analyzer
© Harbinger Systems | www.harbinger-systems.com
Creating Impact Analyzer - I
Execute Test Cases sequentially, one at a time
Reset all the Coverage counters
Create a database with 3 tables
Method Master Test Case Master Test Case Methods Map
Setup Application For Code Coverage Analysis
© Harbinger Systems | www.harbinger-systems.com
Creating Impact Analyzer - II
Create an UI to query modified Method and get
list of all associated Test Cases
Repeat the Process for all the Test Cases
Create a row in the Map table specifying Test Case
ID, and IDs of all the called Methods
List all the Method names called by the test case
Get Method Coverage after execution of test case
© Harbinger Systems | www.harbinger-systems.com
Creating Test Plan using I. A.
Add all the test cases impacted by each of the method
and include these in the test plan
Repeat the Process for all the Methods
For the method execute a query in Impact Analyzer to
get a list of test cases calling that method
Identify names of each method modified
Get a list of Defects fixed for the release
© Harbinger Systems | www.harbinger-systems.com
Takeaways
• Facilitates to identify and add missing test cases
– Reduces Defect Leakages drastically
• Facilitates to identify redundant test cases
– Reduces testing efforts
• Using Impact Analysis, provides optimum set of
test cases for maintenance releases
– Reduces testing efforts with highest coverage
Smart Testing – Less efforts, More
Coverage, Higher Quality, Less Cost
© Harbinger Systems | www.harbinger-systems.com
Q&A
Visit us at: www.harbinger-systems.com
Write to us at: hsplinfo@harbingergroup.com
© Harbinger Systems | www.harbinger-systems.com
Thank You!
Visit us at: www.harbinger-systems.com
Write to us at: hsplinfo@harbingergroup.com
Blog: blog.harbinger-systems.com
Twitter: twitter.com/HarbingerSys (@HarbingerSys)
Slideshare: slideshare.net/hsplmkting
Facebook: facebook.com/HarbingerSys
LinkedIn: linkedin.com/company/harbinger-systems
18

Contenu connexe

Tendances

'Model Based Test Design' by Mattias Armholt
'Model Based Test Design' by Mattias Armholt'Model Based Test Design' by Mattias Armholt
'Model Based Test Design' by Mattias ArmholtTEST Huddle
 
Frank Cohen - Are We Ready For Cloud Testing - EuroSTAR 2010
Frank Cohen - Are We Ready For Cloud Testing - EuroSTAR 2010Frank Cohen - Are We Ready For Cloud Testing - EuroSTAR 2010
Frank Cohen - Are We Ready For Cloud Testing - EuroSTAR 2010TEST Huddle
 
Combinatorial testing ppt
Combinatorial testing pptCombinatorial testing ppt
Combinatorial testing pptKedar Kumar
 
ISTQB - CTFL 2018 Intro
ISTQB - CTFL 2018 IntroISTQB - CTFL 2018 Intro
ISTQB - CTFL 2018 IntroSamer Desouky
 
Rob Baarda - Are Real Test Metrics Predictive for the Future?
Rob Baarda - Are Real Test Metrics Predictive for the Future?Rob Baarda - Are Real Test Metrics Predictive for the Future?
Rob Baarda - Are Real Test Metrics Predictive for the Future?TEST Huddle
 
TEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGTEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGsuhasreddy1
 
What is sanity testing
What is sanity testingWhat is sanity testing
What is sanity testingpooja deshmukh
 
Software Testing Metrics
Software Testing MetricsSoftware Testing Metrics
Software Testing MetricsJatin Kochhar
 
Software testing mtech project in ludhiana
Software testing mtech project in ludhianaSoftware testing mtech project in ludhiana
Software testing mtech project in ludhianadeepikakaler1
 
Software testing mtech project in jalandhar
Software testing mtech project in jalandharSoftware testing mtech project in jalandhar
Software testing mtech project in jalandhardeepikakaler1
 
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...TEST Huddle
 
Bruno Legeard - Model-Based Testing of a Financial Application
Bruno Legeard -  Model-Based Testing of a Financial ApplicationBruno Legeard -  Model-Based Testing of a Financial Application
Bruno Legeard - Model-Based Testing of a Financial ApplicationTEST Huddle
 
Pairwise testing
Pairwise testingPairwise testing
Pairwise testingKanoah
 
Mt s12 test_execution
Mt s12 test_executionMt s12 test_execution
Mt s12 test_executionTestingGeeks
 
Software testing and process
Software testing and processSoftware testing and process
Software testing and processgouravkalbalia
 

Tendances (20)

Performance Testing - Keytorc Approach
Performance Testing - Keytorc ApproachPerformance Testing - Keytorc Approach
Performance Testing - Keytorc Approach
 
'Model Based Test Design' by Mattias Armholt
'Model Based Test Design' by Mattias Armholt'Model Based Test Design' by Mattias Armholt
'Model Based Test Design' by Mattias Armholt
 
Types of Non Functional Testing
Types of Non Functional TestingTypes of Non Functional Testing
Types of Non Functional Testing
 
Frank Cohen - Are We Ready For Cloud Testing - EuroSTAR 2010
Frank Cohen - Are We Ready For Cloud Testing - EuroSTAR 2010Frank Cohen - Are We Ready For Cloud Testing - EuroSTAR 2010
Frank Cohen - Are We Ready For Cloud Testing - EuroSTAR 2010
 
Combinatorial testing ppt
Combinatorial testing pptCombinatorial testing ppt
Combinatorial testing ppt
 
ISTQB - CTFL 2018 Intro
ISTQB - CTFL 2018 IntroISTQB - CTFL 2018 Intro
ISTQB - CTFL 2018 Intro
 
System testing
System testingSystem testing
System testing
 
Rob Baarda - Are Real Test Metrics Predictive for the Future?
Rob Baarda - Are Real Test Metrics Predictive for the Future?Rob Baarda - Are Real Test Metrics Predictive for the Future?
Rob Baarda - Are Real Test Metrics Predictive for the Future?
 
TEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGTEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTING
 
What is sanity testing
What is sanity testingWhat is sanity testing
What is sanity testing
 
Software Testing Metrics
Software Testing MetricsSoftware Testing Metrics
Software Testing Metrics
 
Software testing mtech project in ludhiana
Software testing mtech project in ludhianaSoftware testing mtech project in ludhiana
Software testing mtech project in ludhiana
 
Software testing mtech project in jalandhar
Software testing mtech project in jalandharSoftware testing mtech project in jalandhar
Software testing mtech project in jalandhar
 
Testing Metrics
Testing MetricsTesting Metrics
Testing Metrics
 
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
 
Bruno Legeard - Model-Based Testing of a Financial Application
Bruno Legeard -  Model-Based Testing of a Financial ApplicationBruno Legeard -  Model-Based Testing of a Financial Application
Bruno Legeard - Model-Based Testing of a Financial Application
 
Pairwise testing
Pairwise testingPairwise testing
Pairwise testing
 
Mt s12 test_execution
Mt s12 test_executionMt s12 test_execution
Mt s12 test_execution
 
Sqa
Sqa Sqa
Sqa
 
Software testing and process
Software testing and processSoftware testing and process
Software testing and process
 

Similaire à Smart Testing - Test Less, Cover More, Benefit Manifold

Ncerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmNcerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmssmarar
 
Regression Testing - A Complete Guide
Regression Testing - A Complete GuideRegression Testing - A Complete Guide
Regression Testing - A Complete GuideAbhay Kumar
 
Risk based regression testing approach
Risk based regression testing approachRisk based regression testing approach
Risk based regression testing approachAsim Ali
 
Software Testing 1198102207476437 4
Software Testing 1198102207476437 4Software Testing 1198102207476437 4
Software Testing 1198102207476437 4Siddhartha Parida
 
Combinatorial testing
Combinatorial testingCombinatorial testing
Combinatorial testingKedar Kumar
 
Test automation and beyond developing an effective continuous test strategy d...
Test automation and beyond developing an effective continuous test strategy d...Test automation and beyond developing an effective continuous test strategy d...
Test automation and beyond developing an effective continuous test strategy d...GerieOwen
 
What are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaWhat are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaEdureka!
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testingHaris Jamil
 
Objectorientedtesting 160320132146
Objectorientedtesting 160320132146Objectorientedtesting 160320132146
Objectorientedtesting 160320132146vidhyyav
 
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 HaverQA or the Highway
 
How to Improve Automation Test Coverage_.pptx
How to Improve Automation Test Coverage_.pptxHow to Improve Automation Test Coverage_.pptx
How to Improve Automation Test Coverage_.pptxJason Roy
 
AJRA Test Strategy Discussion
AJRA Test Strategy DiscussionAJRA Test Strategy Discussion
AJRA Test Strategy Discussionajrhem
 
Innovation day 2013 2.5 joris vanderschrick (verhaert) - embedded system de...
Innovation day 2013   2.5 joris vanderschrick (verhaert) - embedded system de...Innovation day 2013   2.5 joris vanderschrick (verhaert) - embedded system de...
Innovation day 2013 2.5 joris vanderschrick (verhaert) - embedded system de...Verhaert Masters in Innovation
 
Risk Based Testing: Deferring the Right Bugs
Risk Based Testing: Deferring the Right BugsRisk Based Testing: Deferring the Right Bugs
Risk Based Testing: Deferring the Right Bugsindus329
 
St all about test case-p3
St all about test case-p3St all about test case-p3
St all about test case-p3Prachi Sasankar
 

Similaire à Smart Testing - Test Less, Cover More, Benefit Manifold (20)

Ncerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmNcerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssm
 
Regression Testing - A Complete Guide
Regression Testing - A Complete GuideRegression Testing - A Complete Guide
Regression Testing - A Complete Guide
 
Risk based regression testing approach
Risk based regression testing approachRisk based regression testing approach
Risk based regression testing approach
 
Software Testing 1198102207476437 4
Software Testing 1198102207476437 4Software Testing 1198102207476437 4
Software Testing 1198102207476437 4
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Combinatorial testing
Combinatorial testingCombinatorial testing
Combinatorial testing
 
Test automation and beyond developing an effective continuous test strategy d...
Test automation and beyond developing an effective continuous test strategy d...Test automation and beyond developing an effective continuous test strategy d...
Test automation and beyond developing an effective continuous test strategy d...
 
What are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaWhat are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | Edureka
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
Objectorientedtesting 160320132146
Objectorientedtesting 160320132146Objectorientedtesting 160320132146
Objectorientedtesting 160320132146
 
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
 
How to Improve Automation Test Coverage_.pptx
How to Improve Automation Test Coverage_.pptxHow to Improve Automation Test Coverage_.pptx
How to Improve Automation Test Coverage_.pptx
 
Software testing
Software testingSoftware testing
Software testing
 
AJRA Test Strategy Discussion
AJRA Test Strategy DiscussionAJRA Test Strategy Discussion
AJRA Test Strategy Discussion
 
ISTQB foundation level - day 2
ISTQB foundation level - day 2ISTQB foundation level - day 2
ISTQB foundation level - day 2
 
unit-5 SPM.pptx
unit-5 SPM.pptxunit-5 SPM.pptx
unit-5 SPM.pptx
 
Unit2 for st
Unit2 for stUnit2 for st
Unit2 for st
 
Innovation day 2013 2.5 joris vanderschrick (verhaert) - embedded system de...
Innovation day 2013   2.5 joris vanderschrick (verhaert) - embedded system de...Innovation day 2013   2.5 joris vanderschrick (verhaert) - embedded system de...
Innovation day 2013 2.5 joris vanderschrick (verhaert) - embedded system de...
 
Risk Based Testing: Deferring the Right Bugs
Risk Based Testing: Deferring the Right BugsRisk Based Testing: Deferring the Right Bugs
Risk Based Testing: Deferring the Right Bugs
 
St all about test case-p3
St all about test case-p3St all about test case-p3
St all about test case-p3
 

Plus de Harbinger Systems - HRTech Builder of Choice

Plus de Harbinger Systems - HRTech Builder of Choice (20)

Using People Analytics for a Sustainable Remote Workforce
Using People Analytics for a Sustainable Remote WorkforceUsing People Analytics for a Sustainable Remote Workforce
Using People Analytics for a Sustainable Remote Workforce
 
5 Trends That Will Drive the Transformation of EdTech in 2021
5 Trends That Will Drive the Transformation of EdTech in 20215 Trends That Will Drive the Transformation of EdTech in 2021
5 Trends That Will Drive the Transformation of EdTech in 2021
 
Rapidly Transforming Organizational Content into Learning Experiences
Rapidly Transforming Organizational Content into Learning ExperiencesRapidly Transforming Organizational Content into Learning Experiences
Rapidly Transforming Organizational Content into Learning Experiences
 
Scalable HR Integrations for Better Data Analytics: Challenges & Solutions
Scalable HR Integrations for Better Data Analytics: Challenges & SolutionsScalable HR Integrations for Better Data Analytics: Challenges & Solutions
Scalable HR Integrations for Better Data Analytics: Challenges & Solutions
 
5 Key Items HR Should Consider Before Buying HR Technologies
5 Key Items HR Should Consider Before Buying HR Technologies5 Key Items HR Should Consider Before Buying HR Technologies
5 Key Items HR Should Consider Before Buying HR Technologies
 
Best Practices to Build Marketplace-Ready Integrations
Best Practices to Build Marketplace-Ready IntegrationsBest Practices to Build Marketplace-Ready Integrations
Best Practices to Build Marketplace-Ready Integrations
 
HRTech Integration Masterclass Session 4 How to Expand Your Recruitment Datab...
HRTech Integration Masterclass Session 4 How to Expand Your Recruitment Datab...HRTech Integration Masterclass Session 4 How to Expand Your Recruitment Datab...
HRTech Integration Masterclass Session 4 How to Expand Your Recruitment Datab...
 
Recalibrating Product Strategy - Addressing Demand Shifts in Existing Markets
Recalibrating Product Strategy - Addressing Demand Shifts in Existing MarketsRecalibrating Product Strategy - Addressing Demand Shifts in Existing Markets
Recalibrating Product Strategy - Addressing Demand Shifts in Existing Markets
 
How to Gain Key Insights from Data Distributed Across Multiple HR Systems
How to Gain Key Insights from Data Distributed Across Multiple HR SystemsHow to Gain Key Insights from Data Distributed Across Multiple HR Systems
How to Gain Key Insights from Data Distributed Across Multiple HR Systems
 
HRTech Integration Master Class Session 1 -Delivering Seamless Learning Exper...
HRTech Integration Master Class Session 1 -Delivering Seamless Learning Exper...HRTech Integration Master Class Session 1 -Delivering Seamless Learning Exper...
HRTech Integration Master Class Session 1 -Delivering Seamless Learning Exper...
 
Recalibrating Product Strategy - Addressing Demand Shifts in Existing Markets
Recalibrating Product Strategy - Addressing Demand Shifts in Existing MarketsRecalibrating Product Strategy - Addressing Demand Shifts in Existing Markets
Recalibrating Product Strategy - Addressing Demand Shifts in Existing Markets
 
Integrating System of Records and Collaboration Tools
Integrating System of Records and Collaboration ToolsIntegrating System of Records and Collaboration Tools
Integrating System of Records and Collaboration Tools
 
How to Power Your HR Apps With AI And Make It Explainable
How to Power Your HR Apps With AI And Make It ExplainableHow to Power Your HR Apps With AI And Make It Explainable
How to Power Your HR Apps With AI And Make It Explainable
 
Chatbot for Continuous Performance Management
Chatbot for Continuous Performance Management Chatbot for Continuous Performance Management
Chatbot for Continuous Performance Management
 
Leveraging mobile capabilities in your HR application
Leveraging mobile capabilities in your HR applicationLeveraging mobile capabilities in your HR application
Leveraging mobile capabilities in your HR application
 
Automate HR applications using AI and ML
Automate HR applications using AI and MLAutomate HR applications using AI and ML
Automate HR applications using AI and ML
 
Engage for Success: Improve Workforce Engagement with Open Communication and ...
Engage for Success: Improve Workforce Engagement with Open Communication and ...Engage for Success: Improve Workforce Engagement with Open Communication and ...
Engage for Success: Improve Workforce Engagement with Open Communication and ...
 
Building next gen hr solutions with people analytics-final
Building next gen hr solutions with people analytics-finalBuilding next gen hr solutions with people analytics-final
Building next gen hr solutions with people analytics-final
 
A Cloud-based Collaborative Learning and Coaching Platform
A Cloud-based Collaborative Learning and Coaching PlatformA Cloud-based Collaborative Learning and Coaching Platform
A Cloud-based Collaborative Learning and Coaching Platform
 
Extending LRSs and the xAPI for Event-driven Blended and Adaptive Learning
Extending LRSs and the xAPI for Event-driven Blended and Adaptive LearningExtending LRSs and the xAPI for Event-driven Blended and Adaptive Learning
Extending LRSs and the xAPI for Event-driven Blended and Adaptive Learning
 

Dernier

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

Smart Testing - Test Less, Cover More, Benefit Manifold

  • 1. © Harbinger Systems | www.harbinger-systems.com Smart Testing – Test Less, Cover More, Benefit Manifold Avinash Magdum STeP-IN SUMMIT 2014
  • 2. © Harbinger Systems | www.harbinger-systems.com Agenda
  • 3. © Harbinger Systems | www.harbinger-systems.com Vicious Cycle of Quality Challenges Shorter Release Cycle Inadequate Time for Testing Insufficient Test Coverage High Number of Defect Leakages Too Many Maintenance Releases Adoption of Agile Methodology Increasing Testing Scope
  • 4. © Harbinger Systems | www.harbinger-systems.com Root Cause of Defect Leakages Insufficient Test Cases • No Traceability • No clarity on requirements • Misinterpretation of requirements Poor Test Planning • No Impact analysis • Incorrect Prioritization Inadequate Time to Execute • Increasing OS – Browser support • Variety of devices to be supported
  • 5. © Harbinger Systems | www.harbinger-systems.com The Solution…
  • 6. © Harbinger Systems | www.harbinger-systems.com Code Coverage Analysis Definition: Its measure of the degree to which the source code of an application is tested by it’s test suite. Categories Functional Coverage Conditional Coverage Branch Coverage Statement Coverage
  • 7. © Harbinger Systems | www.harbinger-systems.com Functional Coverage Definition: It is the ratio of number of functions (methods) covered by the test suite over number of functions (methods) in the application. For example, if an application has 4500 methods, and if 2700 of them get called after executing entire test suite then, Functional coverage = 2700 / 4500 = 60%
  • 8. © Harbinger Systems | www.harbinger-systems.com • Definition: It is the ratio of number of code paths (branches) covered by the test suite over number of code paths in the application. Branch Coverage In this code snippet, there are 5 code paths within switch block. So for this block, if our test cases can visit only 3 cases, then the branch coverage for this block is 60%. Same could be extended to entire application
  • 9. © Harbinger Systems | www.harbinger-systems.com • Definition: It is the ratio of number of decisions covered by the test suite over total number of decisions in the application. Conditional / Decision Coverage In this code snippet, there are 4 decisions within the if block. There are 4 decisions – both a and b negative, only a negative, only b negative and both a and b positive If we test only for both negative and both positive values, conditional coverage is 50%
  • 10. © Harbinger Systems | www.harbinger-systems.com • Definition: It is the ratio of number of statements executed by the test suite over total number of statements in the application. For example, if an application has 600,000 lines of code, and if only 240,000 of them get executed by the entire test suite then, Statement coverage = 240,000 / 600,000 = 40% Statement Coverage
  • 11. © Harbinger Systems | www.harbinger-systems.com Code Coverage Tools Java • Cobertura (open source) • Jcover (commercial) • EMMA (open source) .NET • dotCover (commercial) • Ncover (commercial) C / C++ / VC++ • BullsEye (commercial) • Gcov (open source)
  • 12. © Harbinger Systems | www.harbinger-systems.com Objective 1: Identifying Missing Test Cases
  • 13. © Harbinger Systems | www.harbinger-systems.com Execute entire test suite Select / Unselect assemblies / modules for coverage analysis Verify the Coverage browser Instrument the application Select right code coverage tool Identifying Missing Test Cases - I
  • 14. © Harbinger Systems | www.harbinger-systems.com Map uncovered methods (functional code) on UI actions Group Uncovered Methods Dead Code Error Handling Code Functional Code Identify Uncovered Methods Analyze Coverage Report Identifying Missing Test Cases - II
  • 15. © Harbinger Systems | www.harbinger-systems.com Identify Uncovered Branches Analyze coverage report – Increased coverage Execute new test cases Create new test cases to include above UI actions Identifying Missing Test Cases - III
  • 16. © Harbinger Systems | www.harbinger-systems.com Analyze coverage report – Increased coverage Execute new test cases Create new test cases to include above UI actions Map Uncovered Branches on UI actions Identifying Missing Test Cases - IV
  • 17. © Harbinger Systems | www.harbinger-systems.com Objective 2: Identifying Redundant Test Cases
  • 18. © Harbinger Systems | www.harbinger-systems.com Identifying Redundant Test Cases - I Compare every two successive Statement Coverage counters After every execution of a test case, check Statement Coverage Execute Test Cases sequentially, for a Feature Setup Application For Code Coverage Analysis
  • 19. © Harbinger Systems | www.harbinger-systems.com Identifying Redundant Test Cases - II Remove all the Redundant Test Cases from the Test Suite Repeat this Process for all the Features Repeat above steps for all the Test Cases of the Feature If Statement Coverage Counters are identical, mark the later test case as Redundant
  • 20. © Harbinger Systems | www.harbinger-systems.com Objective 3: Identifying Optimal set of Test Cases (Test Plan) for any Maintenance Releases
  • 21. © Harbinger Systems | www.harbinger-systems.com It’s a tool to identify optimal subset of Test Suite for any maintenance release It is created using Code Coverage Analysis Gives list of test cases impacted by any code change Reduces testing efforts drastically Arrests the bug leakages Impact Analyzer
  • 22. © Harbinger Systems | www.harbinger-systems.com Creating Impact Analyzer - I Execute Test Cases sequentially, one at a time Reset all the Coverage counters Create a database with 3 tables Method Master Test Case Master Test Case Methods Map Setup Application For Code Coverage Analysis
  • 23. © Harbinger Systems | www.harbinger-systems.com Creating Impact Analyzer - II Create an UI to query modified Method and get list of all associated Test Cases Repeat the Process for all the Test Cases Create a row in the Map table specifying Test Case ID, and IDs of all the called Methods List all the Method names called by the test case Get Method Coverage after execution of test case
  • 24. © Harbinger Systems | www.harbinger-systems.com Creating Test Plan using I. A. Add all the test cases impacted by each of the method and include these in the test plan Repeat the Process for all the Methods For the method execute a query in Impact Analyzer to get a list of test cases calling that method Identify names of each method modified Get a list of Defects fixed for the release
  • 25. © Harbinger Systems | www.harbinger-systems.com Takeaways • Facilitates to identify and add missing test cases – Reduces Defect Leakages drastically • Facilitates to identify redundant test cases – Reduces testing efforts • Using Impact Analysis, provides optimum set of test cases for maintenance releases – Reduces testing efforts with highest coverage Smart Testing – Less efforts, More Coverage, Higher Quality, Less Cost
  • 26. © Harbinger Systems | www.harbinger-systems.com Q&A Visit us at: www.harbinger-systems.com Write to us at: hsplinfo@harbingergroup.com
  • 27. © Harbinger Systems | www.harbinger-systems.com Thank You! Visit us at: www.harbinger-systems.com Write to us at: hsplinfo@harbingergroup.com Blog: blog.harbinger-systems.com Twitter: twitter.com/HarbingerSys (@HarbingerSys) Slideshare: slideshare.net/hsplmkting Facebook: facebook.com/HarbingerSys LinkedIn: linkedin.com/company/harbinger-systems 18