SQL Server 2008 - Worth the Wait
As you indicate in your question, it is very important that you test the upgrade process before you upgrade your production server. Here's what I recommend.
Note: The above example assumes that you are performing an in-place upgrade, but this is not your only option. You can also create a new test box that has SQL Server 2005 on it, and then detach the user databases from the production server (during a down time), copy them to the test server, and then reattach them. This will automatically upgrade the older databases to SQL Server 2005. At this point, you will of course want to test your applications to see if they work properly before you do this for your production server. In addition, you will need to run the Upgrade Advisor on the production box, as there may be no test box to run it on. Running Upgrade Advisor on a production SQL Server will not cause any problems.
To download the Upgrade Advisor as a separate component (it also comes on the SQL Server 2005 install DVD), visit:
http://www.microsoft.com/downloads/details.aspx?familyid=1470E86B-7E05-4322-A677-95AB44F12D75&displaylang=en
Additional information from Microsoft on peforming upgrades is available at:
http://www.microsoft.com/sql/solutions/upgrade/default.mspx
and
http://www.microsoft.com/technet/prodtechnol/sql/2005/sqlupgrd.mspx
Also, don't forget, Books Online has a very good section on how to upgrade to SQL Server 2005.