Testing meets 3 objectives:
1. Identification of Errors: These are obvious anomalies that show up in the behavior of a program or a unit or a component. Such behavior as the following is considered an error:
· Wrong totals
· Messages that say the wrong thing
· Actions that do not execute as promised: the Delete button does not delete, the update menu does not update properly, etc.
2. Conformance to requirements: These errors are the result of testing the functions in the software against the Requirements Definition Document to ensure that every requirement, functional or non-functional is in the system and that it operates properly. This is often called an Operational Qualification (OQ). However, note that even if some of the requirements do not seem to be “Operational”, this is an operational test. For example, the software may be required to display copyright messages on all acquired components. If the messages are not displayed, then there is a lack of conformance and the system does not operate properly.
3. Performance Qualification: These are not “errors” as such but failures to conform to performance requirements. Technically, they can be part of the second type. However, Performance Qualification (PQ) became a standard way of testing for historical reasons.
Some systems will perform differently under different loads and conditions. For example, a citizen lookup application may need to operate within a specific time response for a load of up to 300 queries an hour. The software application may be designed properly, ie, may pass the Operational Qualification, but may fail to meet the required loads because of poor programming or too many database calls.
There will be different types of tests and all of them will fall under the above objectives.