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 |
|
|