Once software has been launched, it runs for years. But during the course of its natural life, this software needs to be upgraded or enhanced and sometimes even migrated to other hardware, in order to add more years to its successful run. The testing that is conducted during the enhancement stage or migration cycle of already deployed software is known as Maintenance Testing.
As the wishlist of the end-user increases in terms of new features that they would like to see in existing software, 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 platform or a newer version of hardware etc. Each of these end-user requirements can be met only through modifications to the current software. But, before these modifications can be actually made available they need to be tested in order to validate them. As such the need arises for Maintenance Testing.
While carrying out Maintenance Testing two very important points need to be kept in mind. These are:
There are two basic types of Maintenance Testing. These are:
When Confirmation Testing and Regression Testing are conducted strictly as per the guidelines laid down, together they form the complete Maintenance Testing ritual.
Changing needs and environments leads to changing demands in terms of software requirements. If these demands are not met in a timely and effective way, then the software will die its natural death soon after its release. In order to ensure as little as possible downtime along with highly efficient and upgraded software, it is necessary to closely stick to Maintenance Testing.