Lights and Technology
13 February 2021

First Steps to approach test automation in organizations, in

Eduardo Amaral, Quality Manager Associate Director at Noesis, addressed the process of software testing automation methodologies as a way to increase productivity levels

Test automation is a top priority for today's companies. All, or almost, are betting on this aspect in order to reduce the effort of carrying out manual tests, avoiding the turnover of people in the projects, motivating employees, and saving time in the commercialization of products and services. But before jumping into the automation topic, there are a number of key aspects that must be considered to fulfill the goal we establish.

The first thing to do is to analyze that there are three important areas that need to be included in any test automation process: tools, test environment, and scope; although it is not necessary to do it in this order, because they are related.

In the field of tools, the first step is to consider which tool meets our needs. The important thing is to analyze our needs and observe the types of validation, architecture, and tools that allow us to build, manage and report the automation project. The process of selecting an automation tool for web or mobile is not the same if we are thinking in an SAP system. Therefore, in this case, it is necessary to take a more specific approach with regard to technical support and tools that suit the type of system chosen.

In the field of test environments, we need software, licenses, and infrastructure, in addition to a log of executions and parameterization. Therefore, it is necessary to define the test data management strategy and the requirements for continuous testing. In many cases, it is important to keep in mind that to get these sandboxes up and running, we need a lot of data. This is an aspect that cannot be ignored.

In terms of reach, what we have to evaluate is what we want to automate. The initial assessment should aim to define which business processes we are going to automate. To do this, we must identify what kind of applications we have, the repetitive tasks and what we want to automate. Likewise, we have to define at what level we will implement test automation.

With these three fundamentals well established, we can observe some additional steps, such as the identification of the pilot application, the identification of small validation steps, which must be carried out step by step to manage expectations properly, and the automation criteria, which are used to identify the stability of the application in a test state. In this sense, we have to be sure of what will be used and evaluate the application's life cycles; if it will be used for a long time, if it is obsolete or if the test time is acceptable.

Last but not least, we must look at ROI (Return On Investment), taking into account both automation costs, with the remaining costs that we will have. The important thing here is to estimate the break-even point for the development, support/maintenance effort, and the tasks that must be performed manually. We will find the balance when we reach approximately 80% profit (considering the use of automation) and 20% effort (than would be the total amount to automate 100% of the reach).

In this sense, each organization must define the levels of automation that it will implement, and its level of scales, starting from 0 that corresponds to having no automation, and gradually going through levels 1 to 4. The first level corresponds to a basic level; the second at a more productive level, where we already have a roadmap, defined objectives, and KPIs; the third with a more consolidated automation framework, in which we already work on processes and not just on applications; and a fourth, and last, more advanced, in which we have already introduced artificial intelligence. These levels give a priority reference to guide us and the ideal is to have a detailed scale of priorities. Thus, as we increase coverage by 60-80%, investment starts to decrease. This is an important aspect to consider before starting.

Ultimately, it is important to focus on the future uses of test automation, based on good market practices, as well as how to get the ROI we want to achieve and good ways to measure it.

Originally publish (in Portuguese) in

Eduardo Vila├ža