is sometimes incorrectly thought as an after-the-fact activity;
performed after programming is done for a product. Instead, testing
should be performed at every development stage of the product. Test
data sets must be derived and their correctness and consistency should
be monitored throughout the development process.
If we divide the lifecycle of software development into “Requirements
Analysis”, “Design”, “Programming/Construction” and “Operation and
Maintenance”, then testing should accompany each of the above phases.
If testing is isolated as a single phase late in the cycle, errors in
the problem statement or design may incur exorbitant costs. Not only
must the original error be corrected, but the entire structure built
upon it must also be changed. Therefore, testing should not be isolated
as an inspection activity. Rather testing should be involved throughout
the SDLC in order to bring out a quality product.