When testers used to talk about Automation, people knew we were talking about functional test automation. That is now very different. Indeed, Agile and DevOps have changed things a lot by having virtually demanded test automation, alongside Robotic Process Automation (RPA). Besides, tools in both streams are now marketing their Artificial Intelligence (AI) capabilities as well.
So, as we start a new year, it might be nice to think about what the future holds for Automation.
Test Automation and RPA
In the future, the different streams will become one. The test tools won’t necessarily be used in production for automating tasks, but the test automation engineer’s role will quickly expand into RPA. There are different skills involved, but there is a lot more overlap. Test automation tools and RPA tools are, in essence, the same, although they are used in different environments. Indeed, test tools have functionality that can be used in RPA settings, but you can also use RPA in test activities. Hence, there is some cross-pollination.
Agile/DevOps have pushed test automation to the next level over the past few years. There are no Agile/DevOps without Automation, but this isn’t stopping there. Agile and DevOps might go as far as single-use Automation. That sounds counter-intuitive, but if Automation becomes a lot easier to build, the cost and effort to use Automation will go down.
AI and ML
It is very important to talk about AI/ML in automation. Many test tools profess that they have AI or ML in place, but for now, those are rule-based intelligence. Having AI/ML capabilities are great to have, but currently, it doesn’t feel like proper AI or ML. Some tools can scan screens and tell you all the objects are available on the screen, but this is only a small step from understanding what button to press to move to the next screen or submit an order.
Hence, there is still a need to define and coach the tools on the right path through the application. If those paths are already predefined, tools can pick those up too and combine them with the objects, and then, suddenly, you are halfway there in creating automatically automated test scripts. One example of this is SAP with its defined workflows.
If AI grows in this area to allow tools to built those test paths automatically, then this can lead to great success. For instance, you can create single-use tests very quickly, and once completed, only keep the regression test. That will help cut down on maintenance.
AI & ML is also creeping into RPA but we are faced with the same problem. It is currently often based on rule-based intelligence. If RPA tools can “think-on-their-feet” when applications change (especially with hosted solutions that can change without you realizing), they can change the RPA script to adjust to the new functionality. That would be a great thing to have.
Although for now, this is not a fully automatic process. There is still a need for quality control before those newly “morphed” scripts automatically are used in production. Ultimately, some applications might develop their RPA capabilities. SAP is certainly heading that way. With Microsoft taking over Automation Anywhere and incorporating that into the Power Platform, many automation tasks can be performed in the back office.
Moreover, Automation can also be used in the projects that we run ourselves. Test tools produce their own test reports, but unfortunately, those reports are often not exactly what test management wants.
So, how about automatically creating test reports through Automation (or even using PowerBI)? Of course, some of us have to produce other reports every day, e.g. new defect reports. RPA or test tools can help with that too. I think that replacing these reports with up-to-date (configurable) dashboards could be helpful. Besides, for the occasions requiring periodic reports for record-keeping, a button click could produce a PDF version of it for posterity.
How far can this go? The test automation role will morph and become the technology enabler for the test team. I can see the tester’s position even change further into a more Quality Assurance related role, beyond testing. There is a very long road to go before this happens, and even then, not all organizations will be able to get there. Still, eventually, more Automation will be introduced everywhere.
Another area of development in Automation that will become more widespread is creating models, which, in itself, is nothing new as it was around the pre-millennium. With technology catching up, the testers can use workflow information, path analysis, and architecture diagrams to start building comprehensive models. These models are sometimes referred to as “Digital Twins”. This is some kind of next-generation model-based testing. This is where your testing paths are defined in a model, and you let the tool analyze the model as if it were code paths.
Ultimately, if you have defined the path, a test tool might be able to automatically follow that path by looking for fields, links, or buttons to use and feel its way to the end of a test scenario. Running the same path over the new version of the applications can detect the differences and allow the scripts to truly self-heal. Tools are already able to adapt to different running environments, between desktop and mobile, or between different mobile resolutions.
With all this Automation do you think that the tester will become obsolete? I don’t think so, but I do see the role of tester evolve. We build test cases and code tests for Automation, but tools will eventually do those activities. However, the output of those tools will still need to be validated, and this is where quality assurance will grow.
Just looking back over 25 years ago when I started with test automation, there has been some significant evolution in the work we do. Therefore, this evolution will not stop, so keeping up to date with the current tools, approaches, and developments remains crucial.
Article written by Marco Venzelaar, Lead Technologist at Sogeti UK