Autonomous UAT: How to Restore Agility and Quality to DevOps Testing

User Acceptance Testing (UAT) typically involves multiple steps and manual tasks, taking testers and developers off-task. Using Business Analysts (BA’s) mitigates the UAT challenges slightly. Learn how advances in automation are boosting agility, speed, and software quality in UAT and DevOps.

At the end of the day, there is UAT, traditionally the final phase of the software testing process. During UAT, users (or user proxies) test the software to make sure it can handle the rigor and requirements of real-world scenarios.

Who Owns UAT?
Any confusion you have over UAT ownership potentially means you’re not moving at the speed needed by development to meet the demands of the business.

Some IT organizations assign UAT to developers. This is not ideal, in our view. Developers are expensive and don’t necessarily have business-user knowledge. It’s a similar story for testers. Testers may be less costly, but they typically don’t understand the needs of the business user. Furthermore, development slows down when you pull developers and testers away from their core functions.

UAT best practices include using business analysts (BA’s) as test auditors. The analysts are ideal user proxies because they understand business semantics, user roles, and user intent. One possible drawback: business analysts tend to cut corners when pushed to repeat the same set of tests time after time

In our experience these business subject matter experts are often already over-utilized and don’t have the time to test the application completely when requested. Testing is not their main job after all. Consequently, numerous bugs can be found in production, resulting in disappointed users.

Think of the business analyst as your car dealer’s service consultant, and the IT tester as your mechanic.

The service consultant, based at a service desk (near the free coffee and snacks), is customer-facing. He or she is an overseer who guides the service process all the way through, ensuring the car owner is satisfied, payment is made, and next visits are scheduled.

The mechanic is specialized and dives under the car’s hood for diagnostics, maintenance, and repairs. It’s a very effective partnership, as long as you don’t ask the service consultant to replace a timing belt, or ask the mechanic to write up the service ticket.

Automation to the Rescue
We can now design UAT so that the BAs express their test scenarios in English, which can then be automated using artificial intelligence, specifically neuro-linguistic programming algorithms. The autonomous scripts are immediately sent to specialized IT testers or the BA’s.

With Autonomous UAT, BA’s are no longer testing or overwhelmed with multiple tests. They’re analyzing the test reports (they become auditors) and they’re doing exploratory testing. This optimization of BA’s expands the breadth of testing and lowers the business risk.

Agile UAT
Another complication in traditional UAT is the way it slows down development, and limits agility. Typically you would run a series of feature development sprints and introduce UAT at the “hardening” phase. This process of gating UAT is hardly agile.

Using our autonomous model, you run UAT end-to-end and concurrently with every sprint, including the hardening phase. In this fashion, UAT is integrated with every iteration of the code. Software quality improves. And you don’t have to wait until the end to see if the product works for the user.  

Ram Shanmugam is a co-founder of AutonomIQ, a company focusing on bringing AI, machine learning, and deep learning innovations to enterprise IT organizations. Most recently, Ram was the co-founder, CEO, and President of appOrbit. Previously, he held product, technology, and operational management roles at companies such as Actifio, SunGard, Cisco etc.