Development / DevOps / Machine Learning / Sponsored / Contributed

How AI Is Driving a New Era of Test Automation

15 Mar 2021 12:00pm, by

Dr. Grigori Melnik
Dr. Melnik is Chief Product Officer at Tricentis. He is an internationally recognized expert and speaker on agile methods, software ecosystem development, operational and business intelligence, test-driven design, and software testing. He holds a Ph.D. in Computer Science from the University of Calgary, Canada.

Even the most groundbreaking technologies continue to evolve over time — often shifting and morphing into advancements that were previously unfathomable. Take for example the first era of software test automation: a script-based tool that allowed programmers to automate the then state-of-the-art terminal systems running on mainframes.

With the shift to microcomputers and early desktop GUI interfaces, tests were able to be created much more rapidly — without needing to code every line. Later, in the 1990s, we saw the emergence of open source tools that further lowered the cost of entry to automation and gave users the ability to automate more than ever before.

Each of these steps built upon the last and evolved the test automation process to relieve us from the hours of repetitive clicking and checking that didn’t require human intelligence. But this innovation also opened a door to new types of menial labor, because automated tests proved to be extremely fragile. They failed often and each time a “false positive” was flagged, someone had to review the result, confirm it was a symptom of the faulty test, fix it, and then repeat the process again until the test executed as expected.

While it was less mind-numbing than the manual repetitiveness of earlier test automation tools, testers began to reach a point where all of their time was spent maintaining existing tests and not writing anything new. Given all the extra work it required, automation did not free up much time for testers at all. Enter the next generation of test automation.

The Second Era of Test Automation: MBTA

In the early 2000s, a new type of testing emerged. Model-based test automation (MBTA) functions at a higher level of abstraction and enables testers to work with building blocks that can be combined and reused. With this, one update in one section of a model will automatically be applied to all impacted tests.

With a clear separation between automation details like test logic and data, MBTA limits the impact of changes and reduces the maintenance required. At runtime, test logic and test data are injected into the automation model — which guarantees the test never uses old data or accesses outdated technical definitions. As a result, tests are easier to understand, and easier to maintain when needed.

False positives are also substantially reduced, because the approach allows for the creation and management of individual test elements — which are much easier to assess in isolation. Once these elements have all proven to test “positive” or correctly, they can be used to quickly assemble new tests with a greater degree of efficiency and accuracy.

However, there are still drawbacks with this approach. These include the need to create new building blocks whenever a new or specialized technology is created; and if an application is updated frequently, these building blocks can become out-of-sync with the user interface, creating instability in the software.

The Third Era of Test Automation: AI

Using the same fundamentals of MBTA, the third generation of test automation builds upon this approach and utilizes Artificial Intelligence (AI) to further separate components — siloing the user interface and technical inner workings of an application, to provide much greater stability.

Through machine learning and AI, this new application of test automation can steer any user interface just like a human user — making automation future proof and as adaptable as the human brain. If you can see it, AI can help automate it. This “vision” captures anything from an application using legacy technologies, to apps you access remotely. It even covers emerging technologies.

It’s important to note, however, that the application of AI does and will not replace testers. Instead, it elevates the role of the tester to focus on analytical and investigative work, instead of having to maintain and update the mechanics of the technical automation. This approach also reduces business risk by limiting the destabilization and bugs of the application, while speeding up the delivery cycle.

For those looking for advanced test automation technology, this is it. But much like the generations that came before, AI within testing still has untapped potential. With AI in the driving seat, this approach could advance far beyond what the human brain can imagine.

Feature image via Pixabay.

A newsletter digest of the week’s most important stories & analyses.