Maintenance Testing
Testing changes made to operational software after release, ensuring modifications, migrations, and retirements maintain system quality and reliability.
What is Maintenance Testing?
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 SyllabusMaintenance Testing Types
| 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 |
Maintenance Testing Process
Trigger Identification
Identify the trigger for maintenance testing: modification (planned or unplanned), migration (to new environment), or retirement (archival and data migration).
Impact Analysis
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.
Regression Test Selection
Select appropriate regression tests based on impact analysis. Consider both automated test suites and manual test cases covering affected functionality.
New Test Design
Design new tests for modified functionality, new features, or changed integrations. Ensure test coverage for all identified risks.
Test Execution & Validation
Execute selected regression tests and new tests. Validate that changes work as intended and have not introduced unintended side effects.
Benefits of Maintenance Testing
Risk Mitigation
Systematic testing of production changes reduces the risk of introducing defects into operational software, protecting business continuity and user satisfaction.
- Prevent regression defects
- Validate environmental changes
- Ensure data integrity during migration
- Reduce emergency hot-fixes
Lifecycle Management
Structured maintenance testing supports the entire software lifecycle from initial release through retirement, ensuring quality at every stage.
- Support continuous delivery
- Enable safe platform upgrades
- Facilitate legacy system retirement
- Maintain audit compliance
Need Maintenance Testing?
Our ISTQB-certified engineers provide comprehensive maintenance testing services for production software, ensuring safe deployments and seamless migrations.