Categories of Test Design Techniques
Keywords:
Test Design Techniques; Static Technique; Dynamic Technique;Reviews; Static Analysis;
What is a Test Design Technique?
What are the 4 steps of Test Development Process?
2. Generate Test Conditions
3. Design Test Cases
4. Produce Test Procedures
What are the benefits of using Different Techniques?
1. Different Failures gets found by different people.
2. More effective and efficient testing is achieved.
1. Different Failures gets found by different people.
2. More effective and efficient testing is achieved.
How to choose Test Design Techniques?
Techniques should be chosen based on:
a. External factors
- Risks
- Customer contracts
- Regulatory requirements
- Time constraints
- Budget constraints
b. Internal factors
- Models used
- Type of system
- Experience of staff
- Life-cycle model used
Classification of Test Design Techniques?
Test Design Techniques are broadly classified into:
a. Static Technique
– Testing of system without execution of software.
b. Dynamic Technique
– Testing of system with execution of software.
Static Technique is sub-divided into:
i. Reviews
Types of Reviews:
a. Informal Review - No procedures for documenting is needed. It can be effective.
b. Walkthroughs - Objective is to gain understanding.
c. Technical Review - Objective is to gain consensus.
d. Inspection - is the most formal review process where all the plans and tasks are well documented
i.e., involves Entry/Exit criteria. Its main objective is to find defects.
ii. Static Analysis
Static Analysis by tools mainly aims for finding:
a. rule violations of the coded lines in software program.
b. data flow analysis defects.
c. control flow analysis defects.
Dynamic Technique is sub-divided into:
- Blackbox test design techniques / Specification based / Behavioral
- Whitebox test design techniques / Structure based / Structural
- Experience based test design techniques
Blackbox Technique:
- Boundary Value Analysis– Test cases are designed based on boundary values of each partition.
In the above table, we have 2 Range in case study 1 and 2 to understand how Boundary Value Analysis works. Let us observe Case Study 1, the range of valid data is 2 to 64, where the condition can be tested against all the boundary values as displayed in columns: Invalid and Valid. This technique is conducted because bugs tend to lurk near boundaries.
Condition
Invalid
Valid
InvalidCase Study 1
(Range: 2 - 64)012, 3
63, 6465
66Case Study 2
(Range: 1 - 99)-10
1, 2
98, 99100
101 - Equivalence Partitioning– Test cases are designed to cover each partition at-least once.
In the above table, we test with an assumption that if something of the same range works for one value, it must work for all. This approach is designed to overcome exhaustive testing (exhaustive testing is impossible), thus introduces an effective process in limited test cases.
Condition
Invalid
Valid
InvalidCase Study 1
(Range: 2 - 64)1
(Any number less than 2)2
6465
(Any number greater than 64)Case Study 2
(Range: 1 - 99)0
(less than 1)1
99100
(greater than 99) - Decision Tables– Test cases are designed based on a table displaying all combinations of inputs with their respective outputs.
Decision Table is an excellent tool for recording complex business rules and serves as an wonderful way to create test cases and cover all flows in the requirement.Conditions (Inputs) Rule 1 Rule 2 Rule 3 Rule 4 New Customer? (15%) No No Yes Yes Coupon Applied? (20%) No Yes No Yes Actions/Expected Results (Outputs): Discount (%) 0 20 15 35 - State Transition– Test cases are designed to execute valid and invalid state transitions. State Transition Diagram represents a specific entity at a time. Its describes the states of an entity, the events that affect the entity, the transitions of the entity from one state to another, and actions that are initiated by the entity.
- Use Cases
- Cause Effect Graphing
Whitebox Technique:
- Statement Testing
Statement Coverage = Number of statements executed * 100%
----------------------------------------
Total number of statements
- Decision Testing
Decision Coverage = Number of decision outcomes executed * 100%
-----------------------------------------------
Total number of decision outcomes
- Condition Coverage Testing
Basic Coverage = Number of coverage items executed * 100%
--------------------------------------------
Total number of coverage items
Experience based Technique:
1. Error Guessing
- Aim is to enumerate a list of possible errors.
- Test cases are designed to attack these errors, based on experience.
2. Fault Attacks
- Also known as Attack testing.
- Test cases are designed to identify the potentially vulnerable areas of the software that may cause failures.
3. Exploratory Testing
- It is not adhoc. It is a planned technique.
- It is a concurrent test design, test execution, test logging and learning technique based on a test charter containing test objectives and time-limit/pressure.
Suparna Khamaru
I am a Software Test Engineer, who is quite passionate about testing and finding bugs. I am from Bangalore, India.
Feel free to support me or reach me out on suggestions and improvements at My Linkedin Profile.
I am a Software Test Engineer, who is quite passionate about testing and finding bugs. I am from Bangalore, India.
Feel free to support me or reach me out on suggestions and improvements at My Linkedin Profile.


