Basically, you upgrade on a copy of your live database so as to leave live database untouched in case you mess up the upgrade.

eva2000's upgrade process

My vB 3.8.x to vB 4.1.x upgrade process which I personally use myself as well as for private paying clients is as follows and assumes:
  1. you have ssh2 telnet access
  2. your vB 3.x forums are only using MySQL default MyISAM/Memory tables with NO InnoDB tables
  3. you have enough free disk space to hold all the backups
...