Most software testing right now is done by manual testers, while automation represents no more than 30% of testing.
Also notice that of the automated testing done, the vast majority of it is UI testing.
By definition, automation engineers design test frameworks and are skilled developers. They automate, maintain and run test cases. Manual testers also define test cases but execute them manually. They identify the required test data objects and also do a fair amount of exploratory testing.
Enterprise companies are continuing to increase the amount of automated testing done to keep up with market demand for quality software delivered quickly. As this evolution takes place, manual testers will run out of tests to execute. These manual testers will learn to automate. As they encroach into the space of their senior automation cohorts, automation engineers will evolve as well.
What do you think about this illustration of the future allocation of manual, automated UI and API testing. Do you agree that this is the direction we're going? The direction we must go?
In terms of job roles and responsibility, should developers divide their attention between production code and building an automation framework? I agree with Tricentis' statement:Testing will not become a developer's discipline because it simply can't. You may be aware of how hard it is to find suitable software developer talent these days. The sheer number of developers that would be required for Continuous Testing simply does not exist on the market. Not to mention that software developers themselves are not usually too fond of testing. If we were to ask software developers to do 85% of the testing, the testing would either never happen, or distract developers of their primary job - which is to innovate.
In this last illustration presented by Tricentis, you can see that the future testing team will still be comprised of manual testers. Former manual testers will have an opportunity to become Automation Specialists, while Automation Engineers will be the necessary developers that focus on Service Virtualization, writing the underlying complex code necessary for Automation Specialists to ramp up quickly.
One of the most popular test automation design patterns, the page object model, is a great example of one of the disciplines I think will be necessary for the model defined above to work. With it, the complex logic is abstracted away from the tests to make them easier to read, understand, write and debug by eager Automation Specialists.
Thank you for reading. And thank you Tricentis for this whitepaper. If you'd like a copy, you can get request one here (I am not affiliated with Tricentis).