For teams changing software that is already in production

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.

€20-45Per hour
First 2 weeksComplimentary on ongoing work if not happy
50+QA engineers
2018Founded

When maintenance testing starts

  • ModificationFixes, patches and enhancements
  • MigrationA new environment or platform
  • RetirementArchiving and data migration
  • Then impact analysisDecides how much to retest
// definition

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.

// types

Maintenance testing types

TypeDescriptionExample
Corrective maintenanceTesting changes that fix defects in live software, both planned fixes and emergency hot-fixes.Bug fixes, patches
Adaptive maintenanceTesting changes that adapt the software to its environment, such as OS upgrades, database migrations or third-party API changes.Platform updates
Perfective maintenanceTesting planned enhancements and new features added to live software from user feedback or new business needs.Feature releases
Preventive maintenanceTesting changes that make the software easier to maintain and reduce technical debt, such as refactoring.Code refactoring
// process

Maintenance testing process

  1. Trigger identification

    Identify the trigger: a modification (planned or unplanned), a migration to a new environment, or a retirement.

  2. 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.

  3. Regression test selection

    Select the regression tests the impact analysis points to, from automated suites and manual test cases.

  4. New test design

    Design new tests for the changed functionality, new features or changed integrations, covering every risk identified.

  5. Test execution and validation

    Run the selected regression tests and the new tests. Confirm the change works and has not broken anything else.

// benefits

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 we work

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
A BetterQA lead working at a desk with a monitor and a laptop
// questions

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.