It'll really be environment-dependent but essentially you want to do this:
1. Upgrade in test
2. Publish all your containers to ensure they are successful
3. Run through all your typical usage scenarios (if you really want to, run through ALL your scenarios, not just the typical ones)
We follow the same 1.2.3. as Nicolas. with one more:
4. A good rollback plan
We've had issues pop their head way later than expected.