written 8.6 years ago by | • modified 8.6 years ago |

**Similar questions**

### Draw and explain control graph for binary search function.

**Marks:** 10

**Year:** Dec 2012, June 2013

**1 Answer**

0

17kviews

The binary search routine is shown in the following program. Introduce two faults in this routine so that these go undetected by your test cases designed for the complete branch coverage in CFG.

written 8.6 years ago by | • modified 8.6 years ago |

**Marks:** 10

**Year:** Dec 2012, June 2013

ADD COMMENT
EDIT

0

565views

written 8.6 years ago by |

intbinarysearch (int x, int V[ ], int n)

{

int low, high, mid ;

low= 0;

high = n-1 ;

while (low< = high)

{ mid = ( low <= high) / 2 ;

if( x < V[mid] )

high = mid – 1;

else if (x > V[mid])

low = mid +1 ;

else

return mid ;

}

return -1 ;

}

```
Figure : Control flow graph for binary search program
```

In the above Control Flow Graph for a Binary Search Routine the input array V is assumed to be sorted in ascending order, n is the array size and X is the index of an element in the array V.

If X is not found in the array, the routine is supposed to return -1.

Test cases should be derived so that all of these paths in the control flow graph are executed.

Preconditions: Array has at least one element

Postconditions: Element is not in the array, and return value is -1, or Element is in the array at the returned position

If all of these paths are executed we can be sure that every statement in the method has been executed at least once and that every branch has been exercised for true and false conditions. The number of tests that you need to ensure that all paths through the program are exercised is the same as the cyclomatic complexity of the code fragment that is being tested.

ADD COMMENT
EDIT

Please log in to add an answer.