Program Testing

A program has been developed that performs a simple task: it takes three integers as parameters and interprets them as the lengths of the three sides of a triangle.  The job of the program is to take those three numbers and then classify the triangle into one of these four categories: equilateral (all sides the same length), isosceles (two sides the same length), scalene (all sides different in length), or "not a triangle" (it is impossible to construct a triangle with the given lengths).

Your job is to develop test cases for the program because the program still contains a bug or two, and we need your help to find them.  Think systematically about what combinations of three numbers will fully exercise this program's abilities, and try out each of your combinations in turn. Two measures of your test cases are given: code coverage and  bugs found. Code coverage measures the degree to which the test cases exercise the program's possible behavior. Bugs found is a measure of how many defects the test cases revealed in a collection of  programs with known defects.