Testing Foundation
What is Software Testing?
Objective of Testing
Why is testing necessary?
Common Terms used in Testing
Verification Vs Validations
QA Vs QC
Debugging Vs Testing
Seven Testing Principles
SDLC Vs STLC
Fundamentals of Test Process
Software quality Factors
Software Development Models
Waterfall Model
V models
Iterative Model
Test Levels
Component Testing
Integration Testing
System Testing
Acceptance Testing
Strategies for Integration Testing
Big Bang
Stubs and Driver
Top Down Testing
Bottom Up Testing
Test Types
Functional Testing
Non- Functional Testing
Structural Testing
Re-testing & Regression Testing
Static AND Dynamic Techniques
Static Technique
Dynamic Technique
Static Analysis by Tools
White Box Techniques
Statement Coverage Testing
Branch Coverage Testing
Decision Coverage Testing
Path Coverage
Black Box Techniques
Equivalence Partitioning
Boundary Value Analysis
Decision Table testing
State Transition testing
Experience Based TestingTechniques
Random Testing
Exploratory Testing
Error Guessing
Functional Testing
Integration Testing
Unit Testing
System Testing
Smoke testing
Sanity testing
Regression Testing
Usability Testing
Security Testing
User Acceptance Testing
White Box & Black Box Testing
Globalization & Localization Testing
Non Functional Testing
Compatibility testing
Endurance testing
Load testing
Performance testing
Recovery testing
Scalability testing
Stress testing
Volume testing
Test Planning and Estimation
Test Planning
Test Strategies Vs Test Plan
Test Approaches
Risk and Testing
Product Risks
Project Risks
Defect Management
Defect LifeCycle
Severity Vs Priority
What is Decision Coverage Testing ?
Decision coverage is the measuring percentage of decision outcomes tested (e.g. the True and False options of the IF statement).This technique comes under white box testing which gives decision coverage to Boolean values. It is also known as branch coverage or all-edges coverage or edge testing.
DecisionCoverage covers all possible results of every Boolean condition of the code by using control flow graph or chart.
It aims to ensure that each one of the possible branch from each decision point is executed.
-
-
- Similar to branch testing and control flow testing
- DecisionCoverage is always stronger than statement coverage
- 100% decisionCoverage guarantees 100% statement coverage, but not vice versa
- 100% branch coverage implies 100% decisionCoverage.
- DecisionCoverage measures the coverage of conditional branches.
- It assures that every decision (true/false) in the source code has been executed and tested.
- DecisionCoverage also known as branch coverage or all-edges coverage or edge testing.
- It covers both the true and false conditions unlikely the statement coverage.
-
Decision testing is a form of control flow testing as it creates a specific flow of control through the decision points.
Decision Coverage = (No of Decision outcome exercised)/ (total No of Decision Outcomes)
Example of Decision Coverage:
Read AÂ Â
Read BÂ
IF A+B > 50Â THENÂ Â
Print "Large"Â Â
ENDIFÂ
If A+B<50Â THENÂ Â
Print "Small"Â Â
ENDIF
To calculate Branch Coverage, we have to find minimum number of paths so that all the edges should be covered.
and there is no single path which will ensure coverage of all the edges at once.
for covering all possible true/false decisions.
(1) 1–2-4-5-6-8
(2)1-3-5-7
So Decision or Branch Coverage is 2.
Example 2 :
Suppose you have a if statement like
if(x>0)
print "Postive";
else
print "Negative";
Run this code with x=1 will result in 100% coverage but only True Decision is covered so for 100% DecisionCoverage you need to run a test case with x=-1 to cover the False Decision as well.
Advantages of decision coverage:
- To validate that all the branches in the code are reached.
- To ensure that no branches lead to any abnormality of the program’s operation.
- It eliminate problems that occur with statement coverage testing.
Testing Foundation
What is Software Testing?
Objective of Testing
Why is testing necessary?
Common Terms used in Testing
Verification Vs Validations
QA Vs QC
Debugging Vs Testing
Seven Testing Principles
SDLC Vs STLC
Fundamentals of Test Process
Software quality Factors
Software Development Models
Waterfall Model
V models
Iterative Model
Test Levels
Component Testing
Integration Testing
System Testing
Acceptance Testing
Strategies for Integration Testing
Big Bang
Stubs and Driver
Top Down Testing
Bottom Up Testing
Test Types
Functional Testing
Non- Functional Testing
Structural Testing
Re-testing & Regression Testing
Static AND Dynamic Techniques
Static Technique
Dynamic Technique
Static Analysis by Tools
White Box Techniques
Statement Coverage Testing
Branch Coverage Testing
Decision Coverage Testing
Path Coverage
Black Box Techniques
Equivalence Partitioning
Boundary Value Analysis
Decision Table testing
State Transition testing
Experience Based TestingTechniques
Random Testing
Exploratory Testing
Error Guessing
Functional Testing
Integration Testing
Unit Testing
System Testing
Smoke testing
Sanity testing
Regression Testing
Usability Testing
Security Testing
User Acceptance Testing
White Box & Black Box Testing
Globalization & Localization Testing
Non Functional Testing
Compatibility testing
Endurance testing
Load testing
Performance testing
Recovery testing
Scalability testing
Stress testing
Volume testing
Test Planning and Estimation
Test Planning
Test Strategies Vs Test Plan
Test Approaches
Risk and Testing
Product Risks
Project Risks
Defect Management
Defect LifeCycle
Severity Vs Priority