6 ways Agile teams can streamline regression testing
Explore common regression testing challenges faced by Agile teams –...
Innovation never sleeps. Even the most groundbreaking technologies will continue to evolve substantially beyond their introduction. Once we see what an invention can accomplish, it ignites our imagination and inspires us to push technical boundaries even further—leading to advances that were previously unfathomable.
Consider air travel. The world changed in 1903 when the Wright brothers took flight. Suddenly, a whole new world of opportunity opened up and continued to evolve at an amazing pace. In just another 5 short years, the first passenger flight was achieved. 50 years later, jet passenger planes were introduced—fundamentally shrinking our world by enabling us to travel vast distances in hours. Still, innovation did not stop. In just another 16 short years, the Concorde supersonic jet took flight—not only breaking the sound barrier but also breaking through past notions of what was possible in terms of speed (flying from New York to London in just 3.5 hours). New supersonic and low orbit jets are being trialed now and future air travel will certainly be very different than what we can imagine today, even in our wildest dreams. Humanity had “slipped the surly bonds of the Earth and danced the skies on laughter-silvered wings…
“Oh! I have slipped the surly bonds of Earth
And danced the skies on laughter-silvered wings;
Sunward I’ve climbed, and joined the tumbling mirth
of sun-split clouds, — and done a hundred things
You have not dreamed of — wheeled and soared and swung
High in the sunlit silence. Hov’ring there,
I’ve chased the shouting wind along, and flung
My eager craft through footless halls of air…”‘
— John Gillespie Magee’s “High Flight”
The first era of software test automation was also extraordinary in its time, but it was just the first step in terms of what is possible today. In the 1970s, script-based testing tools allowed you to program the automation of the then state-of-the-art terminal systems running on mainframes. Then, with the shift to microcomputers and early desktop GUI interfaces, record and replay tools emerged—allowing tests to be created much more rapidly, without needing to code every line. The 1990s brought open-source tools and community driven frameworks—lowering the cost of entry to automation and giving users the ability to automate more than ever before.
Each of these iterative steps, building on the past, evolved the test automation process to relieve humans from a considerable amount of mind-numbing, repetitive clicking and checking that didn’t actually require human intelligence. But this relief came at a cost: it also opened the door to new types of drudgery. Automated tests became a chore to create and proved extremely brittle. They failed frequently, and each so-called “false positive” required someone to review the result, confirm that it was indeed the symptom of a faulty test, fix the test, then repeat that entire process until the test executed as expected.
Granted, it was less mind-numbing than the repetitive checking that these early test automation tools replaced, but doing it well required specialized skills including scripting/programming expertise. Testers started to reach a point where they spent all their time maintaining existing tests—not writing any new tests—and the testing efforts became parallel development efforts. Given all the extra work that it required, the automation did not ultimately free up much more time for software testers to dedicate to actual software testing (the creative, analytical work, not mechanical checking).
Moving towards automation was undeniably the right idea, but we had to address the frustration that this previous era of test automation tooling created in order for test automation to reach more of its full potential.
In 2002, Tricentis introduced Model-Based Test Automation (MBTA) to help testers devote more time to the essential elements of software testing: the creative, highly analytical work that automation can’t replace and risk-averse businesses can’t live without.
By providing a higher-level of abstraction, MBTA enables testers to work with Lego-like “building blocks” that can be combined and reused to create tests. If the application changes (e.g., a field is added or removed), just update the appropriate model, and the change is automatically propagated to all impacted tests. With a clear separation between automation details (e.g., “steering”), test logic, and test data, MBTA limits the impact of each change – drastically reducing the test maintenance required over the previous generation of test automation approaches. The test logic and test data are injected into the automation model at runtime—guaranteeing that tests never use old versions of test data or access outdated technical definitions.
Non-programmers can rapidly create and manage sophisticated end-to-end tests, without waiting on “technical” resources. The separation of test steering, test logic and test data allows each of these domains to focus on just that area, keeping the overall complexity as low as possible. As a result, tests are easier to understand are easier to maintain if/when needed. Moreover, false positives are substantially reduced because the MBTA approach allows the creation and management of test elements in a way that avoids the previous era’s pitfalls.
Model-based Test Automation has proven instrumental in helping leading organizations transform their testing processes. Continuous Testing has finally become a reality in organizations that have spent many years, and considerable resources, wrestling with the brittle tests that are all-too-prevalent with the previous era test automation tools.
While we are continuing to extend and optimize Model-Based Test Automation, we also recognize that there are use cases beyond the power of any test automation technology that ultimately operates at the technical level. For example:
Testing needs to shift left, but UI test automation requires a completed (and stable) UI
After several years of research and development dedicated to solving these challenges, we are excited to unveil a solution: Vision AI, which is now available in Tosca 14. Vision AI is a next-generation AI-driven test automation technology that allows teams to automate the application user interface independent of the underlying technology. Importantly, as Vision AI replaces the technical “engines” of MBTA, the other benefits of the separation of concerns that MBTA brings remain front-and-center: managing the test logic and test data in a model/object-oriented way is critical for success.
Vision AI is one part of the third era of test automation, which is also being driven by self-healing AI and risk AI (available in Tricentis LiveCompare).
Through machine learning, Vision AI sees and steers any UI just like a human user, making your automation future proof and as adaptable as the human brain. If you can see it, Vision AI can automate it. This includes anything from an app using now-deprecated technologies, to an app using emerging technologies, to apps you access remotely. You can even start building test automation from mockups or whiteboard drawings. This brings a new meaning to test-driven development.
The first reaction I often get when demoing Vision AI is “This is magical.” It can certainly work wonders. As Arthur C. Clarke famously wrote, “Any sufficiently advanced technology is indistinguishable from magic.”
Vision AI does not replace testers. It never intended to. It elevates the role of the tester by removing the need to consider the mechanics of the technical automation–enabling the tester to focus on the challenging analytical and investigative work that attracted them to the profession in the first place. It also helps the business reduce risks while accelerating application delivery. Ultimately, it’s all about bringing vital information to light so teams can rapidly release amazing products that grow the business.
I encourage you to start exploring Vision AI if your team would like to:
Explore common regression testing challenges faced by Agile teams –...
Ensure reliable, scalable application performance across on-prem,...
Ensure SAP data accuracy & reliability. Learn risks, key...
Watch this webinar to learn some advanced strategies for...
Learn how to tackle top data integrity challenges and ensure...