Testing changes made to operational software after release, ensuring modifications, migrations, and retirements maintain system quality and reliability.
Once deployed, a software system often needs to be modified, migrated, or retired. Modifications include planned enhancement changes (releases), corrective and emergency changes, and changes to the environment (operating system or database upgrades), patches for newly exposed vulnerabilities, and patches for defects. Maintenance testing for migration includes operational testing of the new environment as well as of the changed software, and tests of data conversion. Maintenance testing for retirement includes the testing of data migration or archiving, if long data-retention periods are required, and restoration and retrieval procedures after archiving.
Source: ISTQB Foundation Syllabus| Type | Description | Example |
|---|---|---|
|
Corrective Maintenance
|
Testing changes made to fix defects in operational software. Includes both planned fixes and emergency hot-fixes for production issues. | Bug fixes, patches |
|
Adaptive Maintenance
|
Testing software modifications to adapt to environmental changes such as OS upgrades, database migrations, or third-party API changes. | Platform updates |
|
Perfective Maintenance
|
Testing planned enhancements and new features added to operational software based on user feedback or changing business requirements. | Feature releases |
|
Preventive Maintenance
|
Testing changes made to improve software maintainability, reduce technical debt, and prevent future defects through refactoring. | Code refactoring |
Identify the trigger for maintenance testing: modification (planned or unplanned), migration (to new environment), or retirement (archival and data migration).
Analyze the scope of changes to determine what parts of the system are affected. This drives test planning and determines the extent of regression testing needed.
Select appropriate regression tests based on impact analysis. Consider both automated test suites and manual test cases covering affected functionality.
Design new tests for modified functionality, new features, or changed integrations. Ensure test coverage for all identified risks.
Execute selected regression tests and new tests. Validate that changes work as intended and have not introduced unintended side effects.
Systematic testing of production changes reduces the risk of introducing defects into operational software, protecting business continuity and user satisfaction.
Structured maintenance testing supports the entire software lifecycle from initial release through retirement, ensuring quality at every stage.
Our ISTQB-certified engineers provide comprehensive maintenance testing services for production software, ensuring safe deployments and seamless migrations.