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