Articles

Design the test cases and test the program of Quadratic Equation problem by using Boundary Value Analysis

Share

A quadratic equation is an equation which must be in the form of ax2+bx+c where a can’t be 0. we use Quadratic formula to find roots and check whether the roots are real or imaginary.

This Quadratic formula is applied only when b2– 4ac >= 0.
such that,
If b2– 4ac > 0 , means the eqn. has more than one real roots
if b2– 4ac = 0 , represent equal or single root
if b2– 4ac <0, represents imaginary root
Lastly, if a is 0, then the equation would not be considered as a quadratic equation.

So, a quadratic equation can have [ Real, Equal, Imaginary, not quadratic ]

We are supposing interval [0,10] where our input values will fall in between this interval and we will create test cases using Boundary Value Analysis accordingly.

Program:

#include<conio.h>
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,result;
printf(" ax^2 + bx + c, \n enter the values of a, b and c : = ");
scanf("%f %f %f", &a,&b,&c);

result = (b*b)- (4*a*c);
if(a==0)
printf("not quadratic");
else if(result>0)
{
result= sqrt(result);
printf("Real roots are, %f,%f \n",(-b-result)/(2*a),(-b+result)/(2*a));
}
else if(result==0)
{
result= sqrt(result);
printf("equal root, %f,%f \n",(-b)/(2*a),(-b)/(2*a));
}
else
{
printf("Imaginary root");
}

getch();
}

 

 

Testing the Program


Real roots:

Equal roots:

Not Quadratic

Imaginary :

In Boundary Value Analysis, there will be 4N+1 test cases which means 4*3+1 = 13 test cases will be generated 

Test IDabcExpected OutputProgram OutputTested Outcome
1055Not QuadraticNot QuadraticPass
2155RealRealPass
3955ImaginaryImaginaryPass
41055ImaginaryImaginaryPass
5505ImaginaryImaginaryPass
6515ImaginaryImaginaryPass
7595ImaginaryImaginaryPass
85105EqualEqualPass
9550RealRealPass
10551RealRealPass
11559ImaginaryImaginaryPass
125510ImaginaryImaginaryPass
13555ImaginaryImaginaryPass

This post was last modified on September 19, 2019

Sandeep Verma

Published by
Sandeep Verma
Tags: boundary value analysis functional testing test case