I just completed updating http://bydfault.com/ from WordPress 3.5 and WooCommerce 1.6.6. Of course, with such a big update going to WordPress 4.0 and WooCommerce 2.2, I was not going to just run the automatic updates. The basic process I followed was

  1. Create a staging site (copy of the site) using https://wpstagecoach.com/
  2. Update the non-WooCommerce plugins on the staging site
  3. Deactivate WooCommerce and any WooCommerce-related plugins on the staging site
  4. Update the WordPress version on the staging site
  5. Update WooCommerce and related plugins and re-activate them.
  6. Fix templates
  7. Repeat steps 2-6 on the live site. Of course, the template fixes were now just an upload of the new files.

By far, the most time consuming was fixing templates. The site uses a custom theme which included many WooCommerce custom templates. In the different versions, template names as well as WooCommerce filters and actions changed.