Levels of Automation in Software Testing

Levels of Automation in Software Testing
August 19 10:51 2015  

Note: this article was updated in September 2020.

Since automation has become the hottest trend in the tech world, the question ‘why to automate’ has given way to the question ‘how’.

This article discusses layers of test automation that compose a structure often referred to as the three-level model or test automation pyramid.

What is Software Test Automation?

First of all, testing and test automation are different things. Testing is a skill of designing effective and exemplary test cases able to find a high proportion of defects. On the other hand, the status of being ‘automated’ does not affect the effectiveness of a test at all. Test automation is about cutting costs and increasing evolvability. Moreover, it gets possible only due to a careful selection of the tests to be automated.

The benefits of automation involve the following:

  • running more tests in less time
  • executing tests on different hardware configurations, using different operating systems, or different databases
  • testing attributes which are not easy to verify manually
  • ability to reuse tests
  • running existing tests on new program versions
  • optimizing the use of resources
  • ensuring earlier time-to-market

Overall, test automation, if done correctly, guarantees increases in both quality and productivity via thorough testing performed with less effort.

The list of major issues that may be encountered in trying to automate testing includes poor testing practice, technical problems brought about by third-party test execution tools, test maintenance effort, and organizational issues that can be solved only by the full support of the management and thoughtful approach to implementation into the organizational culture.

4 (1)

Three-level model of Test Automation strategy

Test automation engineers divide automated testing into three levels:

Three Levels of Automated Testing

1. Unit Tests / Component Tests

At this level, automated tests are the component of unit tests designed by developers. Testers can also write such tests if they have the necessary skills. Tests in the early stages of the project, as well as their constant actualization and the addition of new tests, checking the “bug fixes”, can help to protect the project from the many serious problems.

2. Acceptance Tests

Unfortunately, not all the application’s business logic can be tested using the GUI layer. This could be a feature of the implementation, which hides the business logic from the user. Access directly to the functional layer, which gives the opportunity to test the business logic of the application directly bypassing the user interface, is provided for the testing team only in agreement with the developers.

3. GUI Tests

At this level, it is possible to test not only the user interface but also the functionality by performing the operation that causes the business logic of the application. This kind of cross-cutting test provides greater effect than just testing the functional layer, as it is necessary to perform functional testing by emulating the end-user operations through a graphical interface.

Possible models for test automation according to its degree

To have a complete picture of the organization of the automation process on a project, let’s look at its model capabilities in terms of the degree of automation.

Possible levels of test automation can be divided and described as follows:

Testing Automation Levels

Level 1 Assistance. The expert writes a test that should be supported. It’s useful to make all changes visible. So, we are doing here simple checking phases and a visual check of the front-end.

Level 2 Partial Automation. It’s a phase of still test writing. Yes, we still check and analyze everything, but AI is helping us here.

Level 3 Conditional Automation. Here AI checks every change in tests and deploys the necessary upgrades.

Level 4 High Automation. It’s time for AI to write tests under QA engineer’s control and decide what functionality autotests must cover and where they should be applied.

Level 5 Full Automation. Complete AI responsibility for writing and supporting tests without human interaction at all.

Learn more from QATestLab

Related Posts:

About Article Author

view more articles
Viktoria Byk
Viktoria Byk

View More Articles

Related Articles