SlideShare a Scribd company logo
1 of 14
Test Effectiveness
(“doing the right thing“)
- How much the customer's requirements are satisfied by the system?
- How well the customer specifications are achieved by the system.
Test Effectiveness can be improved by following
• Testing Principles
• Test Design Techniques
Testing Principles:
 Testing is to prove Presence of Defects but not Absence of Defects.
 Early Testing is necessary.
Testing should be started as early as possible which can prevent Fault Migration and Fault
Multiplication. Also, defects found early are easy, cheap and quicker to correct.
 Testing is Context Dependent.
Testing is dependent of context of usage. (For ex. Aircraft or Health care software needs
more testing than Finance or Banking software).
Testing Principles (Cont..)
 Exhaustive Testing is Impractical.
Testing with all possible set of Input’s with all possible circumstances.
Instead we should prefer any of the below,
 Risk based Testing
Testing based on the Context of Usage
Testing based on Test Objectives
 Defect Clustering (80:20 rule).
 80% of Defects can be found in 20% of the Software.
This principle suggests most of the defects in s/w are concentrated in few zones of the s/w only. During Testing,
based on the Defect distribution, testing should be focussed more at such zones which exhibit more defects
and chances are that we shall find many more defects from such zones only.
Testing Principles (Cont..)
 Pesticide Paradox.
Test scripts should be regularly reviewed and revised.
If the same tests are repeated over and over again, eventually the same set of test cases will no longer
find any new defects. To overcome this “Pesticide Paradox”, Test scripts needs to be regularly reviewed
and revised and new different tests needs to be written to find potentially more defects.
 Absence of Errors Fallacy.
No Software can be 100% defect free. Software can achieve its Quality not only when it has 0% defects,
it is possible when it meets the “Purpose and Reasonable Expectations” of the Client.
Test Design Techniques:
 Structure-based or White-box Technique
White Box Testing is a software testing method in which the internal
structure/design/implementation of the item being tested is known to the tester. It can be done
in five different ways as described below,
 Control Flow analysis
 Data Flow Analysis
 Statement Coverage
 Decision Coverage
 Path Coverage
Structure-based or White-box
Technique(Cont..)
 Control Flow Analysis
 It is the assessment of the flow of control through the program in detecting error
conditions such as,
 Logical Errors
 Syntax Errors
 Unreachable Code
 Missing Links
Structure-based or White-box
Technique(Cont..)
 Data Flow Analysis
 Analysing the flow of data in terms of how it is being referenced, used, modified,
stored, destroyed etc... through the program execution such as,
 Variable being called in the program before initialized
 Variable initialized but not being called in the program
 Mis-Match in operations with respect to the data types declared
Structure-based or White-box
Technique(Cont..)
 Statement Coverage
 Statement Coverage is the assessment of the percentage of executable statements that
have been exercised by a test case suite.
 Decision Coverage:
 It is the assessment of the percentage of decision outcomes that have been exercised
by a test case suite.
 Path Coverage:
 It is the assessment of the number of paths (Independent ways of a program can be
executed) that have been exercised by a test case suite
Specification-based or Black-box
Technique (Cont..)
 Equivalence Class Partitioning:
 Example: A requirement which accepts only the age entered should be between (18 to 60).
 Valid Equivalence class – 18 to 60
 Invalid Equivalence class – age less than 18 to age greater than 60
 Boundary value Analysis:
 Example: A requirement which accepts only the age entered should be between (18 to 60).
 Valid Boundaries – age 17, 18, 60 and 61
 Invalid Boundaries – age less than 17 and age greater than 61
 Optional valid boundaries – age 19 and 59
Specification-based or Black-box
Technique (Cont..)
 Decision Table Testing:
 To test for combination of input’s which gives different results based on the input,
Decision Table Testing is preferred.
Example:
Specification-based or Black-box
Technique (Cont..)
 State Transition Testing:
 A State Transition Table is a table showing what a finite state machine will move to,
based on the current state and other inputs.
Example:
Specification-based or Black-box
Technique (Cont..)
 Use Case Testing:
 NOTE: UseCase is a Pictorial representation of the user requirements (from the starting
point of the software till the end point).
 Partition the flow of UseCase into smaller portions and evaluating whether the system
behaves as expected is UseCase Testing.
Example:
Test Design Techniques (Cont..)
 Experience-based Technique
This sort of testing is done in the below mentioned circumstances,
 In addition to the planned Testing,
 When detail Documentation is not available.
 Time and Budget constraint.
It is done using 2 methods, they are
 Error Guessing
Guessing likely Errors in the application using previous similar experiences and designing a Test script based on that.
 Exploratory Testing
It is done when no Documentation is available, Exploring the Software and coming up with the Test scripts.
It is mostly done during ‘Maintenance Testing’.
Thanks..!!!

More Related Content

What's hot

Test design techniques
Test design techniquesTest design techniques
Test design techniquesOksana
 
Formal Method for Avionics Software Verification
 Formal Method for Avionics Software Verification Formal Method for Avionics Software Verification
Formal Method for Avionics Software VerificationAdaCore
 
Software testing and_quality_assurance_powerpoint_presentation
Software testing and_quality_assurance_powerpoint_presentationSoftware testing and_quality_assurance_powerpoint_presentation
Software testing and_quality_assurance_powerpoint_presentationvigneshasromio
 
Validation verification
Validation  verificationValidation  verification
Validation verificationkhair20
 
Boundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioningBoundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioningSneha Singh
 
Test Case Design
Test Case DesignTest Case Design
Test Case Designacatalin
 
Unit 2 - Test Case Design
Unit 2 - Test Case DesignUnit 2 - Test Case Design
Unit 2 - Test Case DesignSelvi Vts
 
Test case design_the_basicsv0.4
Test case design_the_basicsv0.4Test case design_the_basicsv0.4
Test case design_the_basicsv0.4guest31fced
 
Data validation
Data validationData validation
Data validationmuzzii27
 
Model Checking in Formal Methods
Model Checking in Formal MethodsModel Checking in Formal Methods
Model Checking in Formal MethodsSana Rahim
 
Basic Database Testing
Basic Database TestingBasic Database Testing
Basic Database TestingKumar S
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testingASIT Education
 
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...Andrew Petukhov
 

What's hot (20)

Black box and white box testing
Black box and white box testingBlack box and white box testing
Black box and white box testing
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
 
Formal Method for Avionics Software Verification
 Formal Method for Avionics Software Verification Formal Method for Avionics Software Verification
Formal Method for Avionics Software Verification
 
Software testing and_quality_assurance_powerpoint_presentation
Software testing and_quality_assurance_powerpoint_presentationSoftware testing and_quality_assurance_powerpoint_presentation
Software testing and_quality_assurance_powerpoint_presentation
 
Blackbox
BlackboxBlackbox
Blackbox
 
Testcase
TestcaseTestcase
Testcase
 
Validation verification
Validation  verificationValidation  verification
Validation verification
 
Boundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioningBoundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioning
 
Test Case Design
Test Case DesignTest Case Design
Test Case Design
 
Unit 2 - Test Case Design
Unit 2 - Test Case DesignUnit 2 - Test Case Design
Unit 2 - Test Case Design
 
Test performance indicators
Test performance indicatorsTest performance indicators
Test performance indicators
 
Test case design_the_basicsv0.4
Test case design_the_basicsv0.4Test case design_the_basicsv0.4
Test case design_the_basicsv0.4
 
Black box testing
Black box testingBlack box testing
Black box testing
 
Formal Methods
Formal MethodsFormal Methods
Formal Methods
 
Data validation
Data validationData validation
Data validation
 
Model Checking in Formal Methods
Model Checking in Formal MethodsModel Checking in Formal Methods
Model Checking in Formal Methods
 
Basic Database Testing
Basic Database TestingBasic Database Testing
Basic Database Testing
 
Tc Checklist
Tc ChecklistTc Checklist
Tc Checklist
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
Detecting Security Vulnerabilities in Web Applications Using Dynamic Analysis...
 

Similar to Test Effectiveness (20)

Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
Blackbox
BlackboxBlackbox
Blackbox
 
Testing
TestingTesting
Testing
 
Test Case Design
Test Case DesignTest Case Design
Test Case Design
 
Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and Technique
 
Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and Technique
 
Test Case Design & Technique
Test Case Design & TechniqueTest Case Design & Technique
Test Case Design & Technique
 
prova4
prova4prova4
prova4
 
provalast
provalastprovalast
provalast
 
test3
test3test3
test3
 
test2
test2test2
test2
 
provoora
provooraprovoora
provoora
 
remoto2
remoto2remoto2
remoto2
 
provacompleta2
provacompleta2provacompleta2
provacompleta2
 
finalelocale2
finalelocale2finalelocale2
finalelocale2
 
domenica2
domenica2domenica2
domenica2
 
provarealw4
provarealw4provarealw4
provarealw4
 
test2
test2test2
test2
 
prova3
prova3prova3
prova3
 
stasera1
stasera1stasera1
stasera1
 

Recently uploaded

Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Recently uploaded (20)

Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 

Test Effectiveness

  • 1. Test Effectiveness (“doing the right thing“) - How much the customer's requirements are satisfied by the system? - How well the customer specifications are achieved by the system. Test Effectiveness can be improved by following • Testing Principles • Test Design Techniques
  • 2. Testing Principles:  Testing is to prove Presence of Defects but not Absence of Defects.  Early Testing is necessary. Testing should be started as early as possible which can prevent Fault Migration and Fault Multiplication. Also, defects found early are easy, cheap and quicker to correct.  Testing is Context Dependent. Testing is dependent of context of usage. (For ex. Aircraft or Health care software needs more testing than Finance or Banking software).
  • 3. Testing Principles (Cont..)  Exhaustive Testing is Impractical. Testing with all possible set of Input’s with all possible circumstances. Instead we should prefer any of the below,  Risk based Testing Testing based on the Context of Usage Testing based on Test Objectives  Defect Clustering (80:20 rule).  80% of Defects can be found in 20% of the Software. This principle suggests most of the defects in s/w are concentrated in few zones of the s/w only. During Testing, based on the Defect distribution, testing should be focussed more at such zones which exhibit more defects and chances are that we shall find many more defects from such zones only.
  • 4. Testing Principles (Cont..)  Pesticide Paradox. Test scripts should be regularly reviewed and revised. If the same tests are repeated over and over again, eventually the same set of test cases will no longer find any new defects. To overcome this “Pesticide Paradox”, Test scripts needs to be regularly reviewed and revised and new different tests needs to be written to find potentially more defects.  Absence of Errors Fallacy. No Software can be 100% defect free. Software can achieve its Quality not only when it has 0% defects, it is possible when it meets the “Purpose and Reasonable Expectations” of the Client.
  • 5. Test Design Techniques:  Structure-based or White-box Technique White Box Testing is a software testing method in which the internal structure/design/implementation of the item being tested is known to the tester. It can be done in five different ways as described below,  Control Flow analysis  Data Flow Analysis  Statement Coverage  Decision Coverage  Path Coverage
  • 6. Structure-based or White-box Technique(Cont..)  Control Flow Analysis  It is the assessment of the flow of control through the program in detecting error conditions such as,  Logical Errors  Syntax Errors  Unreachable Code  Missing Links
  • 7. Structure-based or White-box Technique(Cont..)  Data Flow Analysis  Analysing the flow of data in terms of how it is being referenced, used, modified, stored, destroyed etc... through the program execution such as,  Variable being called in the program before initialized  Variable initialized but not being called in the program  Mis-Match in operations with respect to the data types declared
  • 8. Structure-based or White-box Technique(Cont..)  Statement Coverage  Statement Coverage is the assessment of the percentage of executable statements that have been exercised by a test case suite.  Decision Coverage:  It is the assessment of the percentage of decision outcomes that have been exercised by a test case suite.  Path Coverage:  It is the assessment of the number of paths (Independent ways of a program can be executed) that have been exercised by a test case suite
  • 9. Specification-based or Black-box Technique (Cont..)  Equivalence Class Partitioning:  Example: A requirement which accepts only the age entered should be between (18 to 60).  Valid Equivalence class – 18 to 60  Invalid Equivalence class – age less than 18 to age greater than 60  Boundary value Analysis:  Example: A requirement which accepts only the age entered should be between (18 to 60).  Valid Boundaries – age 17, 18, 60 and 61  Invalid Boundaries – age less than 17 and age greater than 61  Optional valid boundaries – age 19 and 59
  • 10. Specification-based or Black-box Technique (Cont..)  Decision Table Testing:  To test for combination of input’s which gives different results based on the input, Decision Table Testing is preferred. Example:
  • 11. Specification-based or Black-box Technique (Cont..)  State Transition Testing:  A State Transition Table is a table showing what a finite state machine will move to, based on the current state and other inputs. Example:
  • 12. Specification-based or Black-box Technique (Cont..)  Use Case Testing:  NOTE: UseCase is a Pictorial representation of the user requirements (from the starting point of the software till the end point).  Partition the flow of UseCase into smaller portions and evaluating whether the system behaves as expected is UseCase Testing. Example:
  • 13. Test Design Techniques (Cont..)  Experience-based Technique This sort of testing is done in the below mentioned circumstances,  In addition to the planned Testing,  When detail Documentation is not available.  Time and Budget constraint. It is done using 2 methods, they are  Error Guessing Guessing likely Errors in the application using previous similar experiences and designing a Test script based on that.  Exploratory Testing It is done when no Documentation is available, Exploring the Software and coming up with the Test scripts. It is mostly done during ‘Maintenance Testing’.