For many people, testing means pressing buttons to see if something works. This is clearly a part of testing, but to get there requires much more preparation.
As a part of software testing we check that:
- The requirements that we are using to carry out our testing against are properly defined and agreed
- Any required standards are being followed, including coding standards
We also should:
- Provide evidence that the testing conducted has been suitably thorough
- Verify whether the requirements have been met by the software under test
- Validate that the software delivered meets the needs of the users
- Communicate our findings such that informed decisions can be made about the likely consequences of a go/no go decision on release.
Ultimately, we seek to:
- Identify any faults found as early as possible
- Have these faults removed so that we can increase confidence in the software.