Skip to content
Related Articles
Open in App
Not now

Related Articles

Robustness Analysis – Quadratic Equation Problem

Improve Article
Save Article
  • Last Updated : 24 Jan, 2023
Improve Article
Save Article

Robustness Testing is the extended version of Boundary value analysis. It is a Black Box software testing technique. It does not examine the internal structure or design of the system. 

Boundaries are a very good place for errors to occur. If we design software and generate test cases, the value within a specified range has less probability for errors to occur. The values just below and above the boundary or at the boundary have a higher chance to generate an error.

Assuming the interval [x, y]

1. Values between x and y: Less chance to generate error.
2. x – 1, x, x + 1, y – 1, y, y + 1: More chance to generate error.

Single Fault Assumption

When we check more than one variable for the same software then single fault assumption can be used. Holding all but one variable to extreme values one by one. 

Total Number of Test Cases for ‘n’ variables: (6n+1) test cases.

In designing the test cases for robustness testing, we have to determine the total number of input variables. For each input variable, we determine the extreme values and nominal values.

Example: Consider a program for the determination of the nature of the roots of a Quadratic Equation. Its input is triple of a positive integer and the values range from 0 to 100.

Expected Outputs:

Not a quadratic equation: a = 0

Real roots: (b2 − 4ac) > 0

Imaginary roots: (b2−4ac) < 0

Equal roots: (b2−4ac) = 0

Solution:

The range according to the problem statement:

0 ≤ a ≤ 100
0 ≤ b ≤ 100
0 ≤ c ≤ 100

The nominal value can be taken as = (0 + 100) / 2
                                                       = 50.

Total number of test cases = 6 * n + 1
                                         = 6 * 3 + 1
                                         = 19 test cases 

The table below shows the test case design for the quadratic equation problem. The range is taken as [0, 100] and the nominal value is taken as 50.

Test Case IDabcExpected Output
T1-15050Real Roots
T205050Not a quadratic equation
T315050Real Roots
T4505050Imaginary Roots
T5995050Imaginary Roots
T61005050Imaginary Roots
T71015050Imaginary Roots
T850-150Imaginary Roots
T950050Imaginary Roots
T1050150Imaginary Roots
T11509950Imaginary Roots
T125010050Equal Roots
T135010150Imaginary Roots
T145050-1Real Roots
T1550500Real Roots
T1650501Real Roots
T17505099Imaginary Roots
T185050100Imaginary Roots
T195050101Imaginary Roots
My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!