Maintenance includes error corrections, enhancement of capabilities, deletion of obsolete capabilities, and optimization. It is a process of evaluating, controlling, and making modifications that lead to changes in the code, GUI and flows of the application, and automation scripts. In a typical software project life cycle, maintenance leads to enhancement. A common perception of maintenance is that it merely involves fixing defects. All maintenance activities can be categorized into four classes as follows:
Adaptive: This modifies the system to cope with changes in the environment or AUT.
Perfective: This implements new or changed user requirements, which concern functional enhancements.
Corrective: This involves diagnosing and fixing errors, possibly the ones found by users.
Preventive: This increases software maintainability or reliability to prevent problems in the future.
One or more of the following are kept up-to-date as the AUT is updated over time:
Test objects: When a...