User acceptance testing (UAT) is an absolute mandate for any software development project that you're involved with. The idea is simple: Get a business expert or two to drive the system you've created. Your goal is to make sure that your customers like what you've done.
Likely as not, your first round of UAT will poke holes in what you've done. That's fine—it's to be expected. So you place your first round of UAT up front, at a point when the UI and back-end databases are ready to go, but maybe long before all the bells and whistles are in place. Let the users poke holes in the product. Go back and fix. Provide a second round of UAT. Fixed the problem? Yes, but there are two new ones that were undiscovered the first time. Fix again, test again, etc.
Only you can figure out how much testing is too much —where you reach that declining economy of scale that says, "For all practical purposes, this code is very close to what the user requested—we're going with it." UAT and unit testing could be considered one and the same thing, especially in the arena of UI testing. Unit testing diverges when you consider testing components that users don't care about.
Users will sign off on a formal UAT approval document that officially decrees their satisfaction with the results of your project deliverable development efforts. In IT projects that result in a user-based deliverable, you cannot close the project without a user sign-off document.
Was this article helpful?