Upgrade Assistant is designed to run in a test environment. Application compatibility testing should never be performed on a production environment. When possible, application compatibility testing should be performed on systems that mimic the configuration of your production environment from both a hardware and software perspective. This is ideal if you are planning a side-by-side upgrade as the test server could then be promoted to production once testing is complete.
See Create a Single-Computer Test Environment if you have limited hardware resources to conduct your application compatibility testing. If you have multiple computers, you can perform various steps on different computers. For example, you can capture a test workload and replay it on one computer with your baseline environment (SQL Server 2005/2008), then replay the test workload on a different computer with your upgrade environment (SQL Server Code Name “Denali”). This is useful if you want to repeat portions of the application compatibility testing process multiple times. To configure a lab for multiple computers, see Create a Multiple-Computer Test Environment.
Note that regardless of which option you choose, you can do your testing on physical hardware or virtual machines. Performance of your testing may be impacted in a virtualized environment, but the application compatibility testing process is designed primarily to test functionality, not performance.
It may be safest to create your test environment on an isolated network. This will avoid any potential naming conflicts that may arise by introducing new computers into a production network.