The latest issue with the LSNG changes needing to be backed out (bug 1549362) and nightly respun points out that we don't have good (any?) coverage of profile-upgrade in the tree.
When something like this changes, there should be smoketests in automation that verify that profiles last touched in Release/Beta/Nightly/ESR/previous-ESR/last-N-releases don't fail in some basic manner.
This would not include any downgrade testing (users are no longer supposed to do that, and if they force it that's on them).
We can't run the full suite of tests for this, and may not want to run it on every checking, but some basic test of "the upgrade succeeded with no unexpected errors thrown, and the browser can still browse and the DBs are all still sane with no lost data" would be good.
Doing this at least once before merge-to-m-c (and perhaps a fuller test before merge-m-c-to-beta) would be good.
It might be nice-to-have to be able to run (most of?) the automation suite with a provided profile instead of an effectively new profile, which would allow extensive tests to be run before a merge-to-beta or release. This should be a follow-on bug if we think it's useful.
(it's also possible there might be perf issues that only exist with a previous profile with real data in it)