Testing occurs all through the Software Development process. It begins at the analysis and design stages as it is much more cost effective to fix problems at earlier stages of the process.
Errors during the design stage can be, incorrect interpretation of the specification, incomplete logic, poor error handling, or bad time planning. Errors during the coding stage can be, syntax errors, initialisation errors, errors in loop counters, or errors in writing variable names.
There are three test data sets. (1) normal data – this is used to test that the program will work as expected. (2) extreme data – this is used to test the boundary limits of a program. (3) exceptional data – this is used to text that the program can handle unexpected data without crashing.