in my opinion the better way is to reproduce the same identical environment and use this one for the
You should manage two identical installation (same version) in the same server and this can add some additional work (but this should not be a problem) but in this way if something goes wrong during the upgrade, you can fast go back online whit the original installation.
You can leave the production live db on line while working to upgrade the test db or you can stop it. Depending on the chosen scenario, you will be able to switch to new upgraded db in only one step (see bottom).
Of course you’ll use a backup copy of your original database to run the upgrade test.
Once this one is finished you can choose between switch here the production, or repeat the upgrade to the live database. This mainly depends on the state of the original db: if this one has been up & running during the test, you cannot move the production directly to the upgraded one (data will be different).
remember that the direct upgrade is possible only from 18.104.22.168. Otherwise you must patch the db before start the upgrade (see documentation for details).
The steps involved upgrading in this way are suggested by my experience: NEVER work in production without TEST TEST TEST everything before!
my 2 cents