software testing genius

Importance of Maintainability to a Good Software and Role of Maintenance Testing

Welcome to “Software Testing Genius”. Subscribe to my RSS feed for latest content on Software Testing.

Importance of Maintainability to a Good Software & Role of Maintenance Testing

Before going into the details of high sounding terms like maintainability etc, let us firstly understand the meaning of maintenance testing extensively used by experienced test managers in software testing parlance.

What Is Maintenance Testing?

Maintenance testing is the type of software testing that refers to testing the changes to an operational system or the impact of a changed environment to an operational system. In other words, it's about keeping (maintaining) the achieved levels of quality across the entire life cycle of the software application. Quality here can mean one or more of the quality attributes described in ISO 9126 standard.

According to many experts, as post delivery changes are introduced to an existing application, each change could be considered to start a new Software Development Life Cycle (SDLC), More accurately, the project is now in a Software Maintenance Life Cycle (SMLC). Many

projects spend most of their time in a post-delivery SMLC rather than the pre-delivery SDLC.

Maintenance software testing is an activity performed in the SMLC and can be described in terms of the following principal activities:

1) Dynamic maintenance

2) Corrective maintenance

3) Adaptive maintenance

In general, the task of performing maintenance software testing is made more efficient when the software has good maintainability.

What Is Maintainability?

Rather like reliability, maintainability is a word we all know in testing but sometimes have difficulty explaining. It's generally regarded as something we would like to have in our software, but it's hard putting our finger on what maintainability actually is. The ISO 9126 Quality Model defines maintainability as "the ease with which a software product can be modified to correct defects, modified to meet new requirements, modified to make future maintenance easier or adapted to a changed environment:"

According to ISO 9126, maintainability can be described in terms of four sub attributes:

1) Analyzability: It relates to the effort required (usually by the developers) to diagnose defects or to identify parts of the software system requiring change.

2) Changeability: It relates to the effort required to actually fix defects or make improvements.

3) Stability: It is the likelihood that unexpected side effects occur as a result of making changes to the software. It's what we have in mind when we sometimes say that the software is brittle.

4) Testability: It describes the effort required for testing changed software. This is one of the principal software quality attributes that directly affect our work.

What are the causes of Poor Maintainability?

We frequently experience the symptoms of poor software maintainability without appreciating the root causes. Few fundamental maintainability risks are listed in the following table


Basic Maintainability Risks

Repercussions of Poor Maintainability


Effort required for fixing defects and implementing changes might be more than planned.

If the size of the maintenance team performing these tasks is fixed (a common situation), this will also translate into longer time scales.


Time taken for maintenance tasks exceeds the fixed-length maintenance windows.

1) Production could be negatively affected (e.g., staff arriving for work find that an application server is unavailable due to the scheduled nightly maintenance window slipping).

2) Maintainers may be forced to take shortcuts to keep within agreed-upon maintenance periods. They may need to make assumptions regarding the implementation of required changes (perhaps due to poor documentation).

3) Penalties may be imposed if Service Level Agreements apply.


Long-term buildup of poor maintainability resulting from the cumulative effects of bad software development practices.

1) Reliability levels slowly reduce.

2) The number of functional defects introduced by changes (regressions) increases.

3) Defects take longer to fix.

4) Maintenance staffs are put under steadily more pressure, which may even result in a further worsening of the situation.

If the maintenance costs of a project is substantially high like over 75%, we should certainly test it for maintainability.

Full Study Material for ISTQB Advanced Test Manager Exam

ISTQB Advanced CTAL Test Analysts Exam - Full Crash Course for Download

Consolidated Study Material - All ISTQB Certification Exams

What Successful Testers say about the Quality of this website

If you want to keep track of further articles on Software Testing,
I suggest you to subscribe my
RSS feed

You can also Subscribe by E-mail
and get All New articles delivered directly to your Inbox.

Quick Navigation of Software Testing Genius

Get your Absolutely Free Copy of Several MS PowerPoint Presentations & E-Books related to ISTQB, HP Load Runner, IBM RFT, HP QTP & QC Certification Exams, prepared by Popular Writers & Trainers, by writing to:

Study Material for Certification Exams on Other Automation Tools:

Download Full Study Material - HP QTP & QC Certification Exams

Practical Roadmap to QTP Certification

Rehearsal of QTP in 1 Hr. -  Interview Questions

Study Material - HP LoadRunner Certification Exams for All Modules

Rehearsal of LoadRunner in 1 Hr. -  Interview Questions

Study Material - IBM RFT Certification Exam

Study Material to prepare for Manual Testing & QA:

Practical Roadmap to CSTE Certification

Consolidated Study Material - Testing & QA


Comments :


# 1 Prachi on 2011-04-03 08:27:08
Thanks for the great information

# 2 Piyush on 2011-04-03 09:44:59
I like this website very much. I have passed my QTP certification exam simply by p[reparing from the study material available on this site. I shall refer this to all my friends & colleagues. Thanks once again for a great work for the testing community

# 3 Ameet on 2011-04-05 02:36:35
I always refer to softwaretestinggenius site as it has various testing articles, latest as per industry and very informative as well.

Leave Your Comments: (*) Marked Fields are Mandatory

You can apply basic formatting to the text

Name *
Email Address *
Speak your mind
sex hikayeleri