For our current software product some of our enterprise clients want to run User Acceptance Testing on their own acceptance environment. To help them get started we have setup an UAT testing suite which we deliver as a base set of tests for our products.

My questions is, what are the best practises for setting up UAT tests for larger software products? Of-course this depends on what the end-client wants, but sure there are some good guidelines to get started.

Some challenges that come to mind are:

  1. What level of detail do you describe in the steps. Full detail or short-hand?

    "Left click on the [Refresh] button" versus just "Click [Refresh]"

  2. Every feature versus high level work-flow walk-through only: Our current suite feels more as a system regression test as it tests every combination possible. Personally I think end-users should just test their main work-flow and see if the product still fits their needs. Thus I would want to supply them with end-to-end test cases which represents a realistic way working instead.

  3. How much effort can you expect from clients: Test coverage versus time investment

  4. Prior knowledge: Should anyone (even without knowledge of the application) be able to run the suite or should we expect a basic training first

  5. Random data or exact steps: We have a basic testing data set, often we describe to pick a random item to test the steps. This sometimes leads to extra thinking and extra time investment, its easier to just follow clear steps, but more effort to setup the suite.

2 Answers 2


As you say - 'it depends' but a few comments from my experiences:

If you supply exact steps and data then what is the point of UAT? You might as well get your testers to run the scripts. I'd rather give the users some training on the system and give them scenarios to follow - which will have been developed with their input.

Should anyone be able to run the suite without knowledge? Again, depends on the app - if it requires domain knowledge then why would you expect anyone to run it? It won't happen when the system goes live.

You'll likely run into problems getting hold of people to run the tests - the ones with full deep domain knowledge are also the people likely to be in demand for their 'normal' jobs.

Talk with your users and see what their expectations and requirements are - usually, they will be OK with just running the main workflows especially if you've explained what another testing has been happening and how much time and effort would be involved with them running all cases. Adding in some exception cases so they can see how the system handles it can sometimes help.


As a professional software tester, I understand the challenges that come with setting up UAT tests for larger software products. While it depends on the specific needs of the end-client, there are some general guidelines that can be helpful.

  1. Level of detail: It's important to strike a balance between providing enough detail for the users to follow, but not so much that it becomes too prescriptive. I recommend providing enough detail for users to understand the overall goal of the test and what actions are required, without detailing every single step. For example, "Click Refresh" is sufficient.

  2. Every feature vs high-level workflow: While it's tempting to test every possible combination, it's more practical to focus on the main workflows that the end-users will be using. This will give them a better sense of how the product will work in their environment. However, it's important to include some exception cases to test how the system handles unexpected scenarios.

  3. Test coverage vs time investment: It's important to consider how much effort the client is willing to invest in testing. I recommend focusing on the most critical workflows and ensuring they are thoroughly tested, rather than trying to achieve full test coverage.

  4. Prior knowledge: Depending on the complexity of the application, it may be necessary to provide some basic training to users before running the UAT suite. It's important to ensure that users have a basic understanding of the system and the workflows they will be testing.

  5. Random data vs exact steps: Providing exact steps and data may not be necessary for UAT, as it's important for users to be able to explore and test the system as they would in a real-world scenario. However, providing some basic testing data and scenarios can be helpful in guiding users and ensuring consistency in testing.

Ultimately, the best approach to setting up UAT tests for larger software products will depend on the specific needs and expectations of the end-client. I recommend having open communication with the users to understand their requirements and working together to develop a UAT testing suite that meets their needs.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.