Determine the range of valid outputs . Equivalence class testing identifies the valid class and as many invalid classes of inputs as possible, then takes test cases from each class. While it is impractical to test all possible statements and branches, we can generate a minimum set of logic paths through the program called the basis path . Basis path testing will not catch all control flow errors, but will exercise most of the code. Developed by McCabe and Butler in 1989.
Software is very hard to debug.
You can't test in quality, testing is not exhaustive.