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 makes combinations in such a way that some of 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
Range of X: 0 to 100
Range of Y : 20 to 60
Range of Z : 80 to 100
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 nominal value of two variables and change the values of third variable.
For example
- We will fix nominal values of X and Y and make 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 combination of these values with each value of Y variable.
Fix nominal values of X and Z are 50, 90 , and we will make 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 combination of these values with each value of X variable.
Fix nominal values of Y and Z are 40, 90 , and we will make 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