Maintenance testing
Maintenance testing checks changes to software that is already live: fixes, upgrades, migrations and retirements. We test what changed and what the change could break, so production keeps working.
When maintenance testing starts
- ModificationFixes, patches and enhancements
- MigrationA new environment or platform
- RetirementArchiving and data migration
- Then impact analysisDecides how much to retest

Reviewed by Tudor Brad, Founder & CEOISTQB Certified Tester (Foundation Level) · Engineering degree, Technical University of Cluj-Napoca · Completed the DNSC-authorised Cybersecurity Auditor programme (2026) · Certified trainer
What is maintenance testing?
Once deployed, a software system often needs to be modified, migrated or retired. Modifications include planned enhancements (releases), corrective and emergency changes, changes to the environment such as 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 testing data migration or archiving where long data-retention periods are required, and testing restoration and retrieval after archiving.
Source: ISTQB Foundation Level syllabus.
Maintenance testing types
| Type | Description | Example |
|---|---|---|
| Corrective maintenance | Testing changes that fix defects in live software, both planned fixes and emergency hot-fixes. | Bug fixes, patches |
| Adaptive maintenance | Testing changes that adapt the software to its environment, such as OS upgrades, database migrations or third-party API changes. | Platform updates |
| Perfective maintenance | Testing planned enhancements and new features added to live software from user feedback or new business needs. | Feature releases |
| Preventive maintenance | Testing changes that make the software easier to maintain and reduce technical debt, such as refactoring. | Code refactoring |
Maintenance testing process
Trigger identification
Identify the trigger: a modification (planned or unplanned), a migration to a new environment, or a retirement.
Impact analysis
Work out which parts of the system the change affects. This drives the test plan and decides how much regression testing is needed.
Regression test selection
Select the regression tests the impact analysis points to, from automated suites and manual test cases.
New test design
Design new tests for the changed functionality, new features or changed integrations, covering every risk identified.
Test execution and validation
Run the selected regression tests and the new tests. Confirm the change works and has not broken anything else.
Benefits of maintenance testing
Risk mitigation
Testing production changes systematically lowers the risk of shipping a defect to live users and protects business continuity.
- Prevent regression defects
- Validate environment changes
- Protect data integrity during migration
- Reduce emergency hot-fixes
Lifecycle management
Structured maintenance testing supports the software from first release to retirement.
- Support continuous delivery
- Make platform upgrades safer
- Retire legacy systems cleanly
- Support audit compliance
Upgrading a platform under a live product?
Tell us what is changing and when. Talk to us
The regression side of this work is covered on our regression testing page, and moving to the cloud on our cloud migration testing page.
How BetterQA does maintenance testing
We start from the change, not from the whole product: an impact analysis says what to retest, and the regression suite we keep for you gets updated with every release.
Engineers who test for a living
50+ QA engineers, working since 2018. People plan and run the maintenance testing and report what the results mean for your release.
Bugs you can act on
Every defect we find is written up in BugBoard, our own test management tool, or in your tracker, with steps to reproduce, the expected and actual result, and the environment.
A certified process
ISO 9001 for quality management and ISO 27001:2022 for information security. See our certifications.
How an engagement works
- €20-45 per hour
- First month is a trial
- First two weeks complimentary if you are not happy
- 30 days' notice after that

Maintenance testing: common questions
What is maintenance testing?
Testing changes to software that is already in production, including fixes, enhancements, environment changes, migrations and retirement.
What triggers maintenance testing?
Three things: a modification (a fix, patch or enhancement), a migration to a new environment, or the retirement of a system.
What are the types of maintenance testing?
Testing for corrective, adaptive, perfective and preventive maintenance: fixes, environment changes, enhancements and refactoring.
How is maintenance testing different from regression testing?
Regression testing checks that a change has not broken anything else, at any stage of development. Maintenance testing is all the testing done on live software after a change, and regression testing is a large part of it, alongside testing the change itself, impact analysis, data conversion and retirement.
Why does impact analysis matter?
It decides how much of the system to retest after a change. Without it you either retest everything, which is slow, or guess, which misses defects.
What does it cost?
Our rate is €20-45 per hour. For ongoing work the first month is a trial, the first two weeks are complimentary if you are not happy, and after that it is 30 days' notice.
Need maintenance testing?
Tell us what is changing in your live system. We will work out what the change touches and test that, before it reaches your users.