Autonomous UAT How to restore agility and quality to DevOps testing

User Acceptance Testing (UAT) typically involves multiple steps and manual tasks, and takes 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 real-world scenarios.

Who Owns UAT?
Any confusion you have over UAT ownership potentially means you’re not moving at the speed that development needs to in order 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 either. It also slows down development when you pull developers and testers away from their core function.

UAT best practice involves using business analysts (BA’s) as test auditors. The analysts are ideal user proxies because they understand business semantics and 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 at the time of request. This is not their main job after all. As a consequence, there can be numerous bugs caught in production and beyond that, disappointed users.

Think of the business analyst as the service consultant at your local car dealer, and the IT tester as the mechanic. The service consultant is based at a service desk (near the free coffee and snacks), is customer-facing. The consultant is an overseer who guides the service process all the way through to car owner satisfaction, payment and scheduling the next visits. The mechanic is specialized and dives under the hood of the car 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 is process of gating UAT is hardly agile.

Using our autonomous model above, 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.