Maintenance testing is performed to identify equipment problems. Also equipment problems or to confirm that repairs are effective. It can be performed at either the system level, the equipment level, or the component level.
End user might want to migrate the software to other latest hardware platform or change the environment like OS version, Database version, etc. which requires testing the whole application on new platforms and environment.
Its Definition
Maintenance testing maximizes system reliability. It also extends equipment life. In addition to this, it ensures safe operation. Furthermore, maintenance testing avoids costly repairs due to component failure.
Hence to avoid system breakdown. Most of the banking software systems needs to be operational 24/7/365. So it is very necessary to do maintenance testing of software applications.
The Need For Maintenance Testing
As the wish list of the end-user increases, it becomes a compulsion for the software development firm to deliver on the same. In the same manner, the end-user might wish to migrate on to a newer Operating System. Or likewise a platform or a newer version of hardware etc. As such the need arises for Maintenance Testing.
Types of Maintenance Testing
- Confirmation Maintenance Testing – during this part of Maintenance Testing the modifications.
- Regression Maintenance Testing – once it has been confirmed that no more errors occur in the modification, it is now time to test that unintended defects have not spread elsewhere in the software.
Points To Remember
- Test Every Modification Completely – no matter how big or small the proposed modification is, it still needs to be checked as thoroughly as possible. Thus to prevent any downtime and functionality issues.
- Functionality Of Existing Software Should Not Be Affected – no matter what the proposed modification, it should not hamper the functionality of the existing software. The aim is to ensure that the modification does not bring down the entire software.
Importance of Maintenance Testing
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.
Summing It Up
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 is 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.
One level of maintenance testing is the in-service inspection or inspection, which typically is a test or series of tests performed on a frequency established by the manufacturer based on prior experience with the system, equipment, or component or upon engineering analysis of the probable failure rate for the equipment.