Validation checks the reasonableness of data inputs.
Testing checks the accuracy of information outputs.
If you have designed a solution that requires data input, then you need to ensure that your solution is validated. Validation checks that input data are reasonable and complete. Validation does not, and cannot, check that inputs are accurate. How, for example, could validation tell whether a person is being honest when entering their age? However, validation can detect problems when a person enters their age as 152 years, or as ‘banana’, or nothing at all. You can perform validation manually (yourself) or allow software to do it for you.
Computers are particularly good at conducting validation checks.
1 Existence checks ensure that a value has been entered and the field is not blank, or <null>.
2 Type checks ensure data is of the right type; for example, the age that has been entered is actually a number.
3 Range checks ensure that data is within acceptable limits (for example, children enrolling in kindergarten must be 3–6 years old) or comes from a list of acceptable values (for example, small, medium or large).
After designing and building your solution, you need to demonstrate that it has been thoroughly tested. You need to know what to test in your solution, so we plan the testing as part of the design stage. If a solution fails, it could annoy or disadvantage users, so thorough and careful testing is necessary, whether the solution is a game, a website shopping cart, or an airliner’s autopilot. If your solution fails because of undiscovered faults, it may become difficult to use, or completely unreadable.
Testing checks that a solution does what it should do. Testing is not easy, quick or cheap – especially for a product such as an operating system, with megabytes of code in thousands of files created by hundreds of people.
The typical steps involved in testing are as follows.
1 Decide which tests will be conducted.
2 Create suitable test data.
3 Determine expected results.
4 Conduct the test.
5 Record the actual results.
6 Correct any errors.