Test design techniques basically helps in designing quality cases using test condition and quality test coverage that reduces the number of test cases and increases the test inputs. Black box test techniques has been categorized into four parts which are as following :
• Equivalence class partitioning (ECP) & Boundary value analysis (BVA)
• Decision table
• State transition diagrams
• Use case
Equivalence class partitioning (ECP) & Boundary value analysis (BVA)
Equivalence class partitioning divides the test inputs and combines them into classes from which test cases gets design based on all input's values
For Example : Consider a contact us form of Celestial and suppose Phone number field accepting numerical value in range 2-8 .
For Example :
So input conditions are valid between : 2 to 8
Now there are three classes defined from above test conditions which are:
0 to 2 (invalid class)
2 to 8 (valid class)
8 to above (invalid class)
Test execution : 1 , 3 , 9 will be the data from all classes that has to be entered while testing phone number field .
Boundary value analysis helps in finding the test input's at boundaries between partition just to ensure for all type of values execution will be according to requirement .
For Example : Consider above example where input conditions are valid from 2 to 8
So boundary values would be : 1,2,3 and 7,8,9
Test Execution : 1,2,3 and 7,8,9 will be the test inputs on which phone number field should be tested just to ensure all boundary values are not breaking the functionality.
Decision table : This techniques takes combination of inputs and respond into result output based on combined inputs . For every inputs and output decision table is to be created
For Example : Consider below figure for reply form of Celestial where submit button will only be enabled if all mandatory fields entered with input's
Let's create decision table based on inputs and output criteria mentioned in above image.
Input Input 1 Input 2 Input 3 Input 4
Email T T F F
Phone T F T F
Submit Enabled Disabled Disabled Disable
State transition diagrams : This technique helps testers to test the behavior of application in sequence just by entering inputs sequentially. Infact QA uses negative and positive test values while testing system flow with limited inputs
For Example : Any employee who enters the office where thumb impression machine been setup which allows user to give impression of your thumb in machine and then only door will automatically open to enter in office .
Use case testing : This technique that helps us identify test cases that exercise the whole system on a transaction by transaction basis from start to finish . Each use case describes the interaction between the actor and the system . Actor is the user who performs the actions and system is the software which responds according to the action on it .
For Example : Consider above figure 3 where each action is performed by actor and respond is been given by whole system on correct/incorrect thumb impression as input on system.
Use case table for above diagram illustrated :
Main success scenario
A : Actor
S : System Step Description
1 A : Employee enters
2 S : Validates and ask for thumb impression on machine
3 A : Performs thumb impression
4 S : Validates thumb matches or not
5 S : Allow access inside office
Extensions 2a Thumb impression not valid
S : Display message and rejects entry inside office
4a Thumb impression not valid
S : Display message and ask for re-try
4b Thumb impression not valid 3rd time
S : Block user