Black Box – Robust Testing in software testing
In robustness testing, software is tested by giving invalid values as inputs. Robustness testing is usually done to test exception handling.
In robust boundary value testing, we make combinations in such a way that some of the invalid values are also tested as input.
Robust Boundary value testing on 3 variables:
Suppose we have 3 variables X, Y and Z to test
The range of X: 0 to 100
The range of Y: 20 to 60
The range of Z: 80 to 100
Click Here to Try our Automatic tool of Robust Testing
X | y | z | |
Min- | -1 | 19 | 79 |
Min | 0 | 20 | 80 |
Min+ | 1 | 21 | 81 |
Nominal | 50 | 40 | 90 |
Max- | 99 | 59 | 99 |
Max | 100 | 60 | 100 |
Max+ | 101 | 61 | 101 |
Figure: Testing points detected in Simple Robust Boundary Value Testing
Test Cases:
Total Test cases =
(Number of variables * Number of testing points without nominal )+ (1 for Nominal)
These testing points are min-, min, min+, max- and max and max+
19=(3*6)+1
We can generate 19 test cases from both variables X, Y, and Z.
- There are total 3 variables X, Y and Z
- There are 6 possible values like min-, min, min+, max-, max and max+
- 1 is for nominal
Logic:
When we make test cases, we will fix the nominal value of two variables and change the values of the third variable.
For example
- We will fix nominal values of X and Y and make a combination of these values with each value of Z variable.
Fix nominal values of X and Y are 50,40, and we will compare these two values with 79, 80,81,90,99,100 and 101.
- We will fix nominal values of X and Z and will make a combination of these values with each value of Y variable.
Fix nominal values of X and Z are 50, 90, and we will make a combination of these two values with 19, 20,21,40,59,60 and 61.
- We will fix nominal values of Y and Z and will make a combination of these values with each value of X variable.
Fix nominal values of Y and Z are 40, 90, and we will make a combination of these two values with -1, 0,1,50,99,100 and 101.
Test Case# | X | Y | Z | Comment |
1 | 50 | 40 | 79 | Fix Nominal of X and Y |
2 | 50 | 40 | 80 | Fix Nominal of X and Y |
3 | 50 | 40 | 81 | Fix Nominal of X and Y |
4 | 50 | 40 | 90 | Fix Nominal of X and Y |
5 | 50 | 40 | 99 | Fix Nominal of X and Y |
6 | 50 | 40 | 100 | Fix Nominal of X and Y |
7 | 50 | 40 | 101 | Fix Nominal of X and Y |
8 | 50 | 19 | 90 | Fix Nominal of X and Z |
9 | 50 | 20 | 90 | Fix Nominal of X and Z |
10 | 50 | 21 | 90 | Fix Nominal of X and Z |
11 | 50 | 59 | 90 | Fix Nominal of X and Z |
12 | 50 | 60 | 90 | Fix Nominal of X and Z |
13 | 50 | 61 | 90 | Fix Nominal of X and Z |
14 | -1 | 40 | 90 | Fix Nominal of Y and Z |
15 | 0 | 40 | 90 | Fix Nominal of Y and Z |
16 | 1 | 40 | 90 | Fix Nominal of Y and Z |
17 | 99 | 40 | 90 | Fix Nominal of Y and Z |
18 | 100 | 40 | 90 | Fix Nominal of Y and Z |
19 | 101 | 40 | 90 | Fix Nominal of Y and Z |
Figure: Test cases generated in Robust simple Boundary Value Testing.