As you know software testing is an accomplishment-based quality assurance activity. That’s why supposition to actual testing is the subsistence of the software units, elements, or system to be tested, notwithstanding preparation for testing can be conducted in earlier stages of the development.
Actual testing can be divided into different sub-stages beginning from the coding stage and ending with the post-release product support. It comprises:
- beta testing
- integration testing
- unit testing
- system testing
- acceptance testing
- component testing
The observation of failures may be associated with such sub-stages, and the detecting and removal of related defects may be associated with corresponding individual units, components, or the whole system.
If software prototypes are used, such as in the spiral process, or if a software system is developed using an increasing or frequentative process, software testing may get started much earlier.
Afterwards, integration testing has a much more significant influence on identification of inter-operability defects among various software elements.