User Acceptance Testing – OMFG

User Acceptance Testing.

Typically referred to as “UAT”, is the process of having test users verify that a software product works properly. It’s when you hand a piece of software to some “user” who is deemed by someone to be a “subject matter expert” or “SME”, to try it out and report back to you with some results. Did it work? Did it fail? Did it show any error messages? Did it pass your internal/subjective testing criteria? Do you even have internal/subjective testing criteria.

Is the user really an SME? Does the user have a written “test plan” to follow? Is there a test plan? Did the user capture details about issues or concerns, or just say “it’s broke”.

The list goes on and on.

More Than AppDev

You may think this only applies to software development efforts. You would be wrong. It applies to repackaging and deployment just as often as it does for developing new products.

Case in Point: Operating System Upgrades

When seeking to upgrade a large number of computers from one version of an operating system to another, there are often concerns about the relevant applications. Does Douchetek 2012 work on Windows 8.1 like it does on Windows 7? Will Gasface 2010 work on a 64-bit client? What about those pesky Office extensions that often break when changing from, say, Office 2010 to Office 2013? And I haven’t even gotten to the Microsoft Access database “application” aspects. Those alone are enough to make the Pope start shooting smack.

Then, there’s the wonderful world of “in-house” versus “vendor” produced applications. Who wrote it? Are they still alive? Are they still employed with the place that originally produced it? Does anyone know about the details of this product? Is the vendor still in business?

If you haven’t encountered those questions, you haven’t lived. Or at least, you haven’t lived a life of unbelievable pleasure and joy.

Management Disconnect

Quite often, the folks initiating the UAT effort are in one department or division, while the target audience (the test users) are in another. That means different management lines. Different chains of command. Different priorities. Therein lies some potential challenges when it comes to scheduling things and trying to forecast things from those schedules. It’s enough to make a Project Manager start drinking. If they already drink, they might want to switch to heroin or gasoline.

It’s also not uncommon to feel squeezed between two management chains, as one pressures you to stick to a timeline, while the other says their test user has more important things to work on. Trying to convey the difficulties in coercing a non-subordinate user into making *your* priority into *their* priority is like trying to say to the Israelis and Palestinians, “Hey guys, can’t we just hug and get past all this?” At least you don’t have to (usually) worry about getting bombed as a result.

Light at the End of the Tunnel

Some things you can do to help mitigate the challenges mentioned above might include some of the following general practices:

Meet with the target customers/users well in advance to discuss the goals and expectations of the UAT

Confirm the relative (e.g. subjective) importance and value of the application from the customer’s POV.

Develop a carrot and stick model to employ: If they comply within expectations and provide valuable feedback, offer them some incentives. If they fail to comply leverage some countermeasures. Regardless, this must be made aware to them during the very first meeting.

Insist on the customer having their own test plan to follow.

Make sure that the status tracking system, whatever it is, can be viewed by all involved parties. It has to be easily accessible to everyone, including upper management.

Meet with the customers/users during and after UAT as well. And be sure to state your appreciation for their efforts. Remember that in many cases, they (the users) are not required to comply, so it’s nice to be nice when it matters.

Anyhow, I hope this helps with your UAT efforts. If you have any helpful tips, please post some comments below so everyone else can benefit from your experiences as well. Thank you!