Manual testing during the maintenance phase is testing an already existing and functioning system when making enhancements, fixing bugs, or integrating new components.
Previously, maintenance was performed on a residual basis, often testing only the new features. However, over time it became clear that any interference could affect already functioning scenarios.
A typical situation is:
Effective organization of maintenance testing requires:
Key features:
Is it necessary to test only those modules that have been modified?
No, it is essential to test related parts of the system to avoid missing side effects from changes.
Is full regression testing sufficient after each fix?
No, often it's enough to check key (critical) paths, while complete regression is only performed before a release or with significant changes.
Can we completely abandon exploratory testing during the maintenance phase?
No, exploratory testing allows finding non-trivial bugs outside the script coverage and should accompany the maintenance phase.
After fixing a bug in the user profile, only the profile is tested, but authorization and profile display on other pages are not checked. As a result, a bug emerges: the profile does not update on the main page.
Pros:
Cons:
The fixed bug in the profile is tested both separately and comprehensively: the profile is checked everywhere it's used. A checklist of key scenarios is utilized.
Pros:
Cons: