Testing is the process of checking that a program works correctly, is robust, and is secure. The goal of testing is to find errors and bugs, not just to show that a program works. Good testing is destructive: it deliberately tries to break the program with unusual or extreme inputs to uncover hidden problems.
Key points
Testing ensures programs work correctly / as intended and meet user requirements.
The goal is to find/detect errors and bugs, not just to prove the program works.
Good testing is destructive: it deliberately tries to break the program with unusual inputs.
Testing checks the program does not crash / is robust / executes correctly.
Testing should cover as many different scenarios and input types as possible.
Testing takes place at different stages of development (iterative and final).
Untested programs may contain bugs that only appear under certain conditions.
Exam Tip:When asked 'why should programs be tested?': check it works as intended, find errors/bugs, check it doesn't crash, meets user requirements, ensure no problems when released.