Thursday, January 23, 2014

Manual Testing


Black Box Testing & Design Techniques



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.

No comments:

Post a Comment