Black box testing tests the functionality
of the application without having the knowledge of internal structure of the
code. Black box testing is also called as Specification based testing. This
testing can be applied in all levels of testing namely system, integration,
acceptance testing.
Black box testing design techniques are
- Decision table testing
- All pairs testing
- State transition tables
- Equivalence partitioning
- Boundary value analysis
Decision
Table testing
We have an application which works based on
simple true/false condition of a variable. So in decision based testing we will
test for both the conditions. What happens when the variable status is true or
what happens if it is false? This is
mostly like if-then-else, switch cases with each condition having some actions
to perform. So we need to test all the
actions.
All
pairs testing
Consider an application where we need to
supply value to some three input parameters. So we need to test all possible combinations
of input based on probability. We have
to consider all possible scenarios like,
- If we give value for all 3 parameters
- If we do not give value for all 3 parameters
- If we give value for 2 parameters.
Likewise we need to test. This testing is
mainly to produce optimal number of test cases.
We do not want to perform the entire test based on the probability (3 *
2) since we have 3 parameters but we can achieve the result by some
combinations of input.
State
transition tables
This table shows the current state of the
machine and to which status the machine will move to based on input parameters.
Consider an application where the state of the machine will move from s1 to s2
if the parameter is 1. If it is zero it will be in same state. We can represent
the same as,
State
|
Input ‘0’
|
Input ‘1’
|
S1
|
S1
|
S2
|
S2
|
S2
|
S1
|
Equivalence
partitioning
This involves partitioning the data in to
some best partitions so that one test case is enough to cover each
partition. Consider an application where
the app will work only if the value supplied by the user is between 10 to 15.
So we can divide these as
- 1 to 10 as one partition
- 10 to 15 as second
- > 15 as third.
So while testing any one value from each
partition is enough to test. After portioning we have to apply boundary value
cases in order to select the best suited test case from each partition.
Boundary
value analysis
Here we have to consider the boundary
values for testing. Consider a refrigerator application where it should defrost
when the temperature is below 0 degrees and it should start cooling when the
temperature is above 10 degrees.
So the boundary conditions will be
- below 0 degrees (- 1, -2, …)
- Above 10 degrees (11, 12...)
- At 0 degree
- At 10 degree
By these black box testing design
techniques we can test the application with optimal number of test cases and
the test cases selected are of most suited so that we can reduce the defect
slippage.
{ 0 comments... read them below or add one }
Post a Comment