Question
The following is the 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 discriminant is zero
(iv) When discriminant is negative.
Only in case (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 function 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.
| Test Case | a | b | c | root1 | root2 | Return Value |
|---|---|---|---|---|---|---|
| T1 | 0.0 | 0.0 | 7.0 | 0.0 | 0.0 | -1 |
| T2 | 0.0 | 1.0 | 3.0 | 0.0 | 0.0 | -1 |
| T3 | 1.0 | 2.0 | 1.0 | -1.0 | -1.0 | 0 |
| T4 | 4.0 | -12.0 | 9.0 | 1.5 | 1.5 | 0 |
| T5 | 1.0 | -2.0 | -3.0 | 3.0 | -1.0 | 0 |
| T6 | 1.0 | 1.0 | 4.0 | 0.0 | 0.0 | -1 |
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?
Official answer and solution
- Official answer
- C
- From
- Official GATE 2011 answer key
Solution
Partition the input domain into non-overlapping equivalence classes and select exactly one test per class.
- The function specifies 4 disjoint input equivalence classes based on quadratic coefficients and the discriminant :
- Class 1: (linear equation / invalid quadratic)
- Class 2: and (two distinct real roots)
- Class 3: and (two equal real roots)
- Class 4: and (complex roots / invalid)
- Categorize the test cases:
- T1: Class 1
- T2: Class 1
- T3: Class 3
- T4: Class 3
- T5: Class 2
- T6: Class 4
- In equivalence class partitioning, testing more than one test case from the same class is redundant. A minimal, non-redundant suite must select one test case from each of the 4 classes.
- Option C selects , containing exactly one test from each class: T2 (Class 1), T5 (Class 2), T4 (Class 3), and T6 (Class 4).
C
The answer is the one in the official GATE answer key. The solution is this site's own explanation.
Source
- Paper
- GATE 2011 Computer Science and Information Technology (CS)
- Question
- 47 of 65, printed as CS Q.47
- Section
- Computer Science and Information Technology
This question is from a part of the syllabus that is no longer in GATE CS. It is kept because it was in the paper.
Report an error in this question
GATE questions are the work of the organising institutes. This site is independent and is not affiliated with them.