Why is Testing Necessary
As we have seen, testing is critical for a software application or product. Testing is necessary to minimize errors or faults in the software during the development phases itself. It improves the overall quality of the software. Testing ensures that the application will not result in bugs or failures in future causing financial losses. It is expensive to rectify errors in the software in the later development stages.
Who Tests
- Those who wrote the code.
- Members of the same development team.
- Members of a different group (independent test team).
- Members of a different company (a testing consultancy/outsourced).
How Often to Test
The testing scope determines how often testing should be done for a particular application or product. Constraints such as delivery dates, and project schedule impact the testing time. The size and complexity of the application determines the amount of test execution.
Always remember that additional testing does not always mean new defects will be found compared to the testing effort already exhausted. However, spending more time in testing may be useful when more defects are found that may lead to the likelihood that there may be more bugs in the system for which more testing time is required.
When to Start Testing
Testing should be started early in the software development life cycle. An early start will not only minimize the time spent in rework but also reduce the cost manifold and help in delivering an defect free software to the customer.
When to Stop Testing
Testing is usually stopped based on some factors:
- Delivery dates
- Reduction in defects
- Increase in overall testing costs