We did this for 3.7 to 5.3, and 5.3 to 5.5. My process went something like this…
-Upgrade test server with new code.
-use a modified form of siteTar (found on this site) to grab production site(s) from prod server, move it to the test server into a special directory.
-hcirootcopy that special directory
-ensure all threads are set to autostart 0
-Save 24 hours worth of data on each inbound production thread, COPY those save files to the test server.
-On the production server (during NON-peak times), run hciroutetest on each inbound save files, producing a uniquely named outbound file. Move those outbound files to a “prod” folder in special directory on the test server
-On the test server, run hciroutetest on each of the inbound save files producing a similarly named (to the production file) outbound set of files. MOVE those to the special directory structure.
-Ensure all outbound files are CRLF instead of LEN10.
-Compare (diff) oldProd/.crlf files to newProd/.crlf files for differences. If a differences exists, use the appropriate recordFormat test tool to run a report on oldProd files and newProd files, output the report to a file. compare the files to determine which fields are different (Usually, it will be a date/time stamp field, like date of birth using current time for the time portion of the field).
Doing this took me 3-5 days of half day sessions to complete all of our 100+ routes, all done manually, but using complex command line structures, and in some cases, for-loops entered on the command line. Having done it manually twice, I might try to develop a script, or series of scripts for the 5.5 to 5.6 upgrade to ensure my oldProd and newProd files are similarly named.
When done, I deleted the newProd site from the test server, performed an hcirootcopy on the real test sites, and started using the new version in test (ensuring everyone knew there could be no production changes from that point until prod was completely upgraded).
Oh, it goes much better if your Cloverleaf is running on a real OS, something that ends in ..IX.