User Acceptance Testing (UAT) is the final stage before launching new functionality. What should be an exciting time can turn to frustration and exhaustion. Over the years, I have found tactics that can improve the UAT outcome.
UAT involves key business stakeholders validating the system prior to go-live. My background is primarily around website and portal rebuilds and this focuses on these types of launches. There are four areas that can improve UAT outcomes:
- Breaking the single concept of UAT into smaller UAT components
- Starting UAT early when the smaller components are available for testing
- Assigning a UAT Project Manager to handle UAT processes and communications
- Schedule a final UAT once the smaller UAT items are complete
Since UAT is a complex problem, breaking the problem into smaller problems makes the problems easier to solve. I typically break UAT up into QA testing categories. UAT is different from Quality Assurance (QA). QA focuses on quality and functionality of the code as development completes. QA activities are performed by QA resources focused on testing the acceptance criteria of the user stories, while UAT focuses on the entire solution and is performed by business stakeholders. Typical QA categories include:
- Functional
- Visual
- Browser/Compatibility
- Accessibility
- SEO
- Analytics
- Load/Performance
- Security
Business stakeholders may align with a particular area, or they may cover multiple areas. Assigning responsibility and coverage is handled by the UAT Project Manager.
There are two tactics for starting UAT earlier:
- Content migration happens after QA and before UAT. The content migration team provides another level of testing after QA and before UAT. We take advantage of the content migration process to identify defects/issues reported by the content migration team (typically visual and functional) before UAT.
- Once the content migration team has completed certain areas of the site, business stakeholders can validate the functionality and content. Business stakeholders can work with the development and content migration team to address issues early and make the appropriate corrections.
If issues are identified early, the development team can incorporate fixes as part of their standard development cycles with adequate time to test updates. It may also save the content migration team time from reworking pages requiring content updates to address UAT issues.
A critical part of a successful UAT is assigning a UAT Project Manager to handle the logistics. UAT is a complex process involving multiple stakeholders require constant communication and coordination. A UAT Project Manager is responsible for coordinating UAT activities between the development team, the content migration team, and business stakeholders. The UAT Project Manager performs the following tasks:
- Work with the development and QA teams on delivery/timing of features or bug fixe
- Work with the content migration team on delivery/timing for UAT
- Work with business stakeholders to define UAT testers
- Work with UAT testers to define test cases with criticality and frequency
- Work with business stakeholders and development teams to identify high risk areas (e.g., integrations). High risk test cases need to be tested early and often to reduce the possibility of major development changes identified during final UAT testing
- Develop a UAT timeline based on resources, availability, test case execution, and expected defect remediation
Finally, after performing the incremental UAT steps, we can schedule a final UAT and set a go-live date. Finding major defects or enhancements during final UAT is never good. Significant issues identified during final UAT results in long working hours for all teams and/or shifting the go-live date. Major enhancements requested during final UAT typically result in:
- Rushing an assessment to devise the easiest solution
- Developing under duress
- Increasing chances of introducing new defects
Proper UAT planning and execution enable teams to celebrate their hard work and avoid the stress of long hours with time critical development activities. Structure UAT execution reduces stress and workload during the final days of a project and enables teams to enjoy the culmination of their hard work.