There are four types of specification-based software testing technique
-
Equivalence partitioning
-
Boundary value analysis
-
Decision tables testing
-
State transition testing
Equivalence partitioning and boundary value analysis are used in specific situations or inputs whereas decision tables and state transition testing are more focused on business logic or business rules.
A decision table is used to deal with the combinations of inputs. It is sometimes also referred as a 'cause-effect' table because a 'cause-effect' graphing technique is used to derive the decision table. A decision table is used in both testing and requirements management.
Advantages of using decision table testing:
- Decision tables provide a systematic way of stating complex business rules, which is useful for both the developers as well as for testers.
- If the number of combinations are huge, testing each combination can be a challenge. Making a decision of which combinations to test and which to leave out is important. Decision table helps the developers to do a better job.
- It also helps testers to explore the effects of combinations of different inputs .
Example: We have a login page with email and password as an input fields. There are 4 different combinations and expected actions associated to it. Email and password are conditions and expected result is action.
Decision table with combinations and outcomes.
Email
|
False
|
True
|
False
|
True
|
Password
|
False
|
False
|
True
|
True
|
Expected result
|
Error: Please enter email
|
Error: Please enter password
|
Error: Please enter correct email
|
Login Successful
|
Number of combinations = Number of condition 1 values * Number of condition 2 values
Number of combinations = 2* number of True/False condition.
E.g. no of combinations = 2*2 = 4
0 Comment(s)