Developing and sustaining a robust Test Automation Solution (TAS) is a multifaceted endeavor. The complexity lies in creating solutions that are modular, scalable, reliable, secure, and inherently testable. These solutions also need to be flexible enough to accommodate varying system requirements and evolving technologies in the market. Proper maintenance is the key to preserving the operational excellence and essential qualities of a test automation solution.

In this post, let’s dive into the different types of maintenance for a TAS.

Acronyms:

  • TAS – Test Automation Solution (e.g. Selenium + TestNG, Selenium + Cucumber, Robot Framework, Playwright JS, etc.)
  • SUT – System Under Test (e.g. accounting management system, education management system, HR information system, etc.)

Types of Test Automation Maintenance (CAPP⛑️)

🔧 Corrective Maintenance

Conducted to rectify TAS failures, including:

  • Test script defects (e.g. false-failures, false-passes)
  • Framework defects (e.g. WebDriverManager, Hooks, DataManager, etc)

🌐 Adaptive Maintenance

Executed to enable TAS support for:

  • New laws, regulations, industry-specific requirements (e.g. Data Privacy Act), 
  • New integration endpoint updates (e.g. REST API v1.0 to v2.0), 
  • New software systems (e.g. OS, DBMS, Web Browsers)

🛡️ Preventive Maintenance

Implemented to prepare the TAS for:

  • Additional test types (e.g. expanding from functional tests to smoke tests or end-to-end tests), 
  • More test interfaces (e.g. transitioning test environment from local machine to remote desktops), and 
  • Multiple versions of the SUT (e.g. application v1.0 to v2.0, minor and major releases)

Perfective Maintenance

Also known as “hardening,” this is carried out to make the TAS:

  • More optimized and efficient 
  • More usable, robust, and reliable

The frequency of these maintenance activities varies across projects and organizations. In my several years of experience, corrective maintenance is the most frequent and is usually done every sprint or every other sprint. Adaptive and preventive maintenance are conducted as needed and are generally planned in advance. Perfective maintenance, on the other hand, is either not performed or done only when there are no more requirements or test cases to automate, which is a rare occurrence. An additional article might be necessary to explore the often-overlooked need for QA Team Leads and managers to prioritize perfective maintenance and allocate resources accordingly.

Implementing these maintenance strategies not only ensures the longevity of your TAS but also contributes to a more agile and responsive testing environment.

Reference: ISTQB Certified Tester Advanced Level Syllabus – Test Automation Engineer

#softwaretesting #qa #testautomation #automation #software #testing #automatedtesting #qualityassurance #qaautomation

Leave a Reply

Your email address will not be published. Required fields are marked *