Test
The more testing that can be done before the upgrade takes place the better. Testing the upgrade path and discovering which method works best for your environment is critical for a smooth upgrade process.
If possible, it is ideal to test using real-world data – use a copy of the current farm’s production database to see how the actual data will behave before, during, and after upgrade. Ideally, you would want to test the upgrade process on similar or identical hardware if planning an in-place upgrade, or on the new production server (or a similar/identical hardware to the final). This will help you gauge the amount of time each sequence should run.
Once the upgrade method has been determined, it’s time to troubleshoot and validate the upgrade. Any errors that show up in the upgrade log during testing should be taken care of before the final upgrade is done to the production environment.
Search
After upgrade, it will be important to test that search is running. Crawls of the content will need to run. After the crawl is complete, look at the logs and take care of any errors that are showing up. Running queries will also validate that the content is crawled properly, at both the web application level and site collection level. Testing search requires some forethought, since reviewing query reports won’t be available until the following day once the farm has processed the queries. Searching people and profiles will also validate that people and profile search is working properly.
Things to Consider with Customizations
Large List Query Throttling – if a very large list gets upgraded and List Throttling is enabled in the new SharePoint 2010 farm, the list may be inaccessible.
Custom Toolbar Actions – any custom toolbar actions in the site do not automatically get moved to the Ribbon during upgrade. The custom action may need to be redeveloped as a Ribbon item
Site Templates – Generally the best approach for site templates will be to recreate the site template in SharePoint 2010 and save it as a Solution file (.WSP). The STP files used in SharePoint 2007 are depreciated in SharePoint 2010.
Workflows – Most workflows created in SharePoint Designer should continue working after an in-place upgrade. If the site is moved to a new server, the workflow will need to be upgraded and redeployed with SharePoint Designer 2010. The workflow model in 2010 is a declarative workflow model.
Custom Site Definitions – The upgrade path may be more complicated with custom site definitions. The recommended approach, if possible, is to migrate these sites to out-of-the-box site definitions, upgrade the sites, then apply any necessary customizations to the site through features using Solution deployment. Another approach is to create a SharePoint 2010 site definition and write an upgrade definition file
Un-ghosted pages – some pages may need to be reset to their site definitions (re-ghosted) before upgrade. If this is not an option, that particular page may be a candidate to not get the visual upgrade, or additional work may be needed prior to or after upgrade to re-create the functionality of the page a different way.
Custom Web Parts – generally these should continue working properly after upgrade, but it is advisable to test the web parts during the upgrade testing process to be sure they still behave as expected.
3rd party add-ons – Many vendors may be upgrading their products, however it is possible that some products or add-ons that work in SharePoint 2007 will not work in SharePoint 2010. Contact the vendor or software author to find out about their plans to support SharePoint 2010. In some instances, the functionality that was achieved through an add-on may now be available as an out-of-the-box option.
Event Handler – Most of the time these should continue working. It may be a good opportunity to rewrite and redeploy the event handler as a feature if it was not deployed as a feature.
Customization to Application pages (_layouts pages) – Customizations may need to be recreated in SharePoint 2010, or existing custom pages can be copied over and inherit from the new SDK.
Inclusions/Exclusions – Any inclusions will need to be recreated if using the database attach method, while exclusions are automatically assumed.
Next, Implement