I curious about this as well. My process is that I have a live machine and a sandbox machine. When upgrading 3CX I take down the live machine, installed the new version on the sandbox machine and test, test, test. If there are any problems I simply delete the sandbox and switch the live back on, I repeat this process until I'm happy the upgrade is successful (not that I've had that many problems upgrading 3CX but telephones are critical so I don't take chances). Clearly if testing is successful, then I upgrade the live machine.
However, will something break? I'm currently running 14 and considering moving to 15.5.
Thanks in advance
Iain