What is the difference between testing and UAT in agile scrum process?

850 views Asked by At

I have been a QE for 4 years in a product company that follows waterfall methodology. I am trying to understand how and when UAT is performed in an agile methodology? I know, agile testers use the acceptance criterias of user stories to frame the test cases. But, isn't the acceptance criterias also help to frame the acceptance tests? Then what is the difference between SIT test cases and UAT test cases in agile? Can anyone please clarify my confusion. Thanks!

1

There are 1 answers

0
Barnaby Golden On BEST ANSWER

When following an agile approach, we want to work in an iterative fashion and have a capability for frequent releases.

This can make traditional UAT a challenge.

There are lots of techniques that can help, such as:

  • Ensuring there is a lot of quality in your build process, such as by using automated regression testing, continuous integration, etc. This helps to reduce the risk of defects reaching the UAT stage.
  • Using something like Behaviour Driven Development (BDD) which defines work by the expected behaviour. This helps to reduce the need for UAT and in some cases can eliminate it.
  • Carefully planning how and when UAT takes place, so that it can fit inside the iterative release process.

For example, one Scrum team I worked with used the following approach to UAT:

They had a dedicated UAT environment and made releases to it throughout the sprint. Whenever they did a release to the UAT environment they produced a release note detailing what functionality had been changed/added.

The UAT testers were from outside of IT. They had slots in their calendars dedicated to doing UAT testing. For example, some of the then had a two-hour slot on Tuesday and Friday each week.

The mechanism for providing feedback from UAT was automated as much as possible. The development teams would act on UAT feedback very quickly and would either:

  • Make changes to the code
  • Fix any defects
  • Roll back the feature change and schedule it for a later sprint