previous | start | next

## Selecting Test Cases

- Positive tests consist of legitimate inputs that you expect the program handles correctly.
- Boundary cases are also legitimate inputs that you expect the program to handle in a trivial way.
- Negative cases are inputs that you expect the program to fail on.
- Keeping test data in a file is smart because you can use it to review every version of the program.
- When you find a bug, you should record the data that caused the bug, and retest your program with that data after you have tried to fix the bug.
- The phenomenon of fixing a bug, only to have it reappear after further program modifications is called cycling.
- The process of testing against a set of past failures is called regression testing.

previous | start | next