The following is comment written for a C function
/* This function computes the roots of a quadratic equation
a.x^2+b.x+c=0. The function stores two real roots
in *root1 and *root2 and returns the status of validity of
roots. It handles four different kinds of cases.
(i) When coefficient a is zero irrespective of discriminant
(ii) When discriminant is positive
(iii) When discrimanant is zero
(iv) When discrimanant is negative
Only in cases (ii) and (iii), the stored roots are valid.
Otherwise 0 is stored in the roots. the function returns 0 when
the roots are valid and -1 otherwise.
The functin also ensures root1>=root2.
int get_QuadRoots (float a, float b, float c, float *root1, float *root2) ;
*/
A software test engineer is assigned the job of doing black box testing. He comes
up with the following test cases, many of which are redundant.
Which one of the following options provide the set of non-redundant tests using
equivalence class partitioning approach from input perspective for black box
testing?
Answer : Option C
Explaination / Solution:
T1 and
T2 checking same condition a = 0 hence, any one of
T1 and
T2 is
redundant.
T3, T4: in both case discriminant (D)= b2 − 4ac = 0 . Hence any one of it is
redundant.
T5 : D>0
T6 : D<0