From Higher Computing Science
- Testing a program is the best way to prove that the program is working
- Testing should be systematic and comprehensive
- Systematic testing involves carrying out a set of tests according to a test plan
- Comprehensive testing involves testing every aspect of the software
- A test plan lays out a set of tests that cover every aspect of the software that needs tested (comprehensive testing) in a specified order according to the plan (systematic testing)
- The test plan will be based on the software specification that was produced at the end of the analysis stage
- The test plan will include a schedule, and a list of test cases that will be run.
- Exhaustive testing is testing every possible input – this would make the test plan too big in the case of programs with a wide range of inputs, so a sensible range of data (normal, extreme and exceptional data) would be more useful.
- Normal test data is data that a program should accept
- Extreme test data is the smallest and largest set of numbers that a program should accept
- Exceptional test data is data that the program should not accept
- Projects are tested while in development, by the programmers. This is called alpha-testing.
- After alpha-testing is carried out,