by Viktoria Byk | August 19, 2015 10:51 am
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.
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:
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.
Test automation engineers divide automated testing into three levels:
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.
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:
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.
Source URL: https://blog.qatestlab.com/2015/08/19/test-automation-levels/
Copyright ©2023 QATestLab Blog unless otherwise noted.