The User Acceptance Testing phase consists of the following tasks, which are very similar to the tasks described in Chapter 3, Developing and Testing Your Upgrade:
This document describes user acceptance testing as a separate upgrade phase for these reasons:
The QA environment must replicate the Production environment as closely as possible, which allows you to test the upgrade procedure against realistic data values and against a realistic volume of data. For more information, see Task 10: Reset Your QA Environment and Task 11: Upgrade Your QA Environment.
A skip-level upgrade greatly affects how you develop and test your upgrade, but does not affect user acceptance testing. For more information, see Chapter 6, Skip-Level Upgrade Considerations.
User acceptance testing verifies that your Waveset application meets the needs of the people who use or who are intended to use the application. For more information, see Task 12: Perform User Acceptance Testing.
Reset your QA environment to mimic your Production environment as closely as possible, being sure to use the same hardware and software versions used in the Production environment.
Specifically, you want to replicate the following in your Production environment:
Platform, including the following:
Application server
Database server
Gateway server
Web Server (optional component)
Common client machine with the corporate image and same browser
Waveset product version
Waveset application configurations and customizations
Database tables and actual data, including data values and the volume of data found in the Production environment
Resources and other integrated applications
Configure resources and other integrated applications in the QA environment to have the same general configuration as those used in the Production environment. For example, replicate Active Directory domains, organizations, groups, numbers, and the format of users from Production to the QA environment.
Also, be sure to configure integrated applications the same way in both the QA environment and the production environment, and make sure that these applications contain a copy of recent production data or very similar data.
The process for upgrading your QA environment is very similar to the process described in Task 6: Upgrade Your Development Environment.
Other than a few different parameter values, such as host names and connection information, your procedure for updating your QA environment must contain exactly the same steps as your procedure for upgrading the Test environment.
Because your QA environment is supposed to replicate the Production environment as closely as possible, you must monitor the upgrade closely for any errors caused by data values, data volumes, or platform considerations that were not fully tested in the Test environment.
To help you plan the final phase of your upgrade, upgrading your Production environment, carefully measure how long it takes you to execute various steps in your upgrade procedure.
Performing user acceptance testing is comparable to performing Task 9: Perform Functional Testing. In fact, you might choose to execute your test plan or a subset of the plan in this simulated Production environment.
The main difference between these two tasks is that for user acceptance testing, you must arrange for the people who actually use your Waveset application to test it with realistic data.
Though it might be difficult to schedule user participation with people distributed across your organization, user acceptance testing is usually quite valuable. Giving users an advanced look at the next version of your Waveset application generally helps maintain productivity and encourages adoption. Conducting user acceptance testing also demonstrates that the deploying organization is proactive and responsive to the needs of the people who are using the application.
User acceptance testing often uncovers problems and clarifies requirements for your Waveset application. The users might also find issues that are specific to aspects of your platform that were not tested in other environments. Although most developers prefer to find problems in earlier phases, finding problems during user acceptance testing is still much better than finding problems after you upgrade the Production environment.
Even if you ultimately decide to go into production with issues or limitations, you will know about these issues or limitations ahead of time. Key users are then prepared to communicate the problems and any workarounds to other users of the application.
As with Task 9, if you have to fix any problems, you must do the following: