UAT Phase Details

The article provides a detailed overview of the User Acceptance Testing (UAT) phase in a software development project, including prerequisites, tasks before UAT, tasks during UAT, and completion of the project. It also includes examples of project timelines and resource allocations for different project sizes.

For more complex projects, a 2-week UAT period may not suffice. Here's an example of what an extended UAT might entail and the necessary components. It's important to note that planning for a 6-week UAT should be done at the project's outset, and it serves as an illustration for larger projects. The fundamental expectations remain unchanged - the customer retains overall responsibility for UAT, although a QA analyst can provide assistance if needed.

Emphasizing the customer's crucial role, it's essential for them to understand their responsibilities and prepare for UAT before commencing testing. Otherwise, they may discover that even 6 weeks is insufficient for completing UAT tests on schedule.

Prerequisites before UAT

The UAT (User Acceptance Testing) is emphasized as an end-to-end test, distinct from unit testing. It is expected that customers should not encounter issues during UAT that should have been identified in unit testing. Additionally, the customer's acceptance of user stories within the scope confirms their development and testing during Feature Sprints. Furthermore, the preparation of end-to-end test scripts and the loading of production-level data into the UAT environment, including company parameter tables, are highlighted. The types of issues that may arise during UAT are categorized as data issues (master data or company parameter data), end-to-end issues (typically related to requirements), and regression issues.

The core steps are:

  • All unit testing during Feature Sprints has been properly done; the UAT is not a repetition of the unit tests. A UAT is an end-to-end test and customers should not find bugs that they should have uncovered during unit testing

  • Customer accepted all user stories in the scope - it means he confirmed they were developed and tested in Feature Sprints

  • All end-to-end tests scripts have been prepared

  • All production level data is loaded in the UAT environment, including all company parameter tables

Types of issues that can be found during UAT:

  • Data issues (master data or company parameter data)

  • End-to-end issues (typically these are requirements issues)

  • Regression issues

All configuration bugs should have been found during the unit testing!

 

Tasks before UAT

These main tasks should be done after the last Feature Sprint and before UAT phase:

  • Training and preparation - final preparation for UAT, training of UAT testers, checking that everything is ready

  • System Integration testing - testing integration between Pfx sw and customer’s internal systems

 

Tasks during UAT

These main tasks should be done during UAT phase:

  • End to End testing - based on business cases , should cover main functionality and integration, this should not be just repetition of testing during Feature Sprints

  • Bug fixing and retesting - checking that all founded bugs were properly fixed

  • Final regression testing - final check should be done during Code Freeze after bugs were fix and retested, most important tests should be repeated here

End of project in details

→ from Feature Sprints to Go-Live

 

The last Feature Sprint

  • finish development of all user stories - mandatory for continuing to UAT

 

Pre - UAT

  • 2 weeks

    • Preparation and UAT training week

      • testing of the latest user stories

      • accepting user stories in Jira - mandatory for continuing to UAT

      • finish preparation for UAT - mandatory for continuing to UAT

    • System Integration testing

      • final checking of all integrations

      • UAT testers are ready for testing

 

UAT (2 to 4 weeks)

  • E2E testing (up to 2 weeks)

    • functional testing based on prepared UAT test cases

    • logging bugs to JIRA

    • fixing reported bugs

    • all prepared test cases should be tested during this part

    • testing from top priority and the longest tests to less important and less complex tests

  • Bug retesting and bug fixing (up to 1 week)

  • Final regression testing (up to 1 week)

    • Code freeze in this time

    • for checking all critical test cases again

 

UAT phase should end by final acceptance and official Go-Live

 

 

 

The following tasks should be done during 6 weeks of UAT for a 5 sprints project (see the table at the bottom of the page for different project sizes):

  • Complete training for UAT (Kate’s team or project team?) - 1 w

    • finalize UAT test cases

    • show to UAT testers what is expected from them

    • demo for UAT testers on QA partition

    • show to UAT testers which test cases they will test

    • let UAT testers do first testing and help them with first questions or issues

    • choose test management tool and leader of UAT testing phase

    • make sure everything is ready for UAT - access to all tools and environments, login credentials for UAT testers

    • Pfx: finalize bug fixing from the last Feature Sprint

    • Complete initial data loads in QA & data verification

  • Complete Integration testing 1 w

    • check that all integration works correctly on QA partition

    • let UAT testers do first testing and help them with first questions or issues - they should feel comfortable about what is expected from them at the end of this week

    • make sure UAT testers have final version of E2E test cases and they are ready for testing

    • log bugs for integration issues to JIRA

    • Pfx: fix integration issues

    • retest bug fixes and confirm the integration is working at the end of this week

  • Complete E2E script testing 2 w

    • 1st w:

      • start testing based on E2E test cases

      • top priority and long test cases first

      • log bugs to JIRA every day

      • report progress to UAT test leader every day

      • Pfx: bug fixing if possible - deployment should not be done during UAT testing

    • 2nd w and all other weeks:

      • continue testing based on E2E test cases

      • all test cases should be finished this week

      • log bugs to JIRA every day

      • report progress to UAT test leader every day

      • Pfx: bug fixing if possible - deployment should not be done during UAT testing

  • Complete Bug fixing (requirements or regression issues) - 1w

    • Pfx: finish bug fixing, deploy all changes to QA partition

    • prepare scope of final week - bugs for retests, test cases to be tested again

  • Complete Bug testing - 1 w

    • final part of UAT

    • prepare scope for final regression

    • retest all reported bugs to verify they were fixed

    • retest selected UAT test cases to verify the application is working correctly on QA partition

    • log bugs to JIRA every day - there should not be any new issues this week, so just in case

    • report progress to UAT test leader every day

    • final regression testing after bugs were retested

Examples of project timelines and allocations

 

Pre-UAT

Pre-UAT

UAT

UAT

 

# of sprints

Training and prep

SIT

E2E testing

Bug fixing & testing

Total UAT weeks

3

1

1

1

1

2

4

1

1

2

1

5

4 or 5

1

1

2

2

4

6

1

1

3

2

7

6 or 7

1

1

3

3

6

Role

Allocation

 

 

 

 

PM

same as FS allocation

 

 

 

SA

50 % of FS allocation

 

 

CE

50-75 % of FS allocation

 

 

IE

25% of FS allocation

 

 

QA

50-75 % of FS allocation

 

 

 

You can learn about UAT on the project here.