Changing From One Release Version To Another
Understand that the job of Debian is, and always has been, to produce Stable. The other releases are means to that end. You may find the other releases perfectly usable for whatever use you have for them. Great. That wouldn't be much of a surprise to any longtime Debian user. Many users, including (of course) Debian Developers use them routinely.
Understand, however, that Experimental is experimental; things are expected to break from time to time. Testing is just what it says it is; it's for testing whether it works reliably prior to its release as a future Stable. You may well find Testing or Unstable reliable enough, and in fact others have remarked that Debian Unstable is more reliable than some other distributions' Stable releases.
Corollaries to this in the commercial world are Development, Testing, and Production. In theory, businesses don't let anyone anywhere near their Production servers until they've proven their latest release isn't going to break anything which currently works, and whose new features or functionality have been documented to the business's satisfaction. This is what Debian's Stable name means: that, once released, the operating system remains relatively unchanging over time.
YMMV. Caveat emptor. You get what you pay for. As the saying goes, "If it breaks, you get to keep both pieces."
Moving Forward (eg., Stable --> Testing)
On the machine in question, execute the following command:
dpkg --get-selections > packages.dpkg
Save the output file (packages.dpkg) to a USB stick (or remote location) for future use. This file is a list of your installed packages, which should make your task simpler if you find you need to go the reinstall route. Once you've got the new base install and apt sources set up, don't run any other package installation programs yet. You then pull up the packages.dpkg file and run the command:
dpkg --set-selections < packages.dpkg
This will tell the packaging system which packages to install/uninstall, en mass. Once that's done, run:
That will install your selections automagically, asking you the necessary config questions. You should then have a clone of your previous packages, but from whichever branch you preferred to move toward.
Moving Backward (eg. "Downgrading", Testing --> Stable)
Short answer: No, it isn't supported
For more information see: SystemDowngrade