Debian Testing may have a nice "in-between" ring to it, but it is more likely to be broken and insecure for longer than either Unstable or Stable. All bug fixes have to go through unstable first (usually 10 days, but may often take longer). Because of this any breakage might take at least 10 days to be fixed.
from Debian Testing Wiki[0]:
> Compared to stable and unstable, next-stable testing has the worst security update speed. Don't prefer testing if security is a concern.
also, from Choosing a Distribution[1]
> testing could be broken for months [...]
>The bug fixes and improvements introduced in the unstable distribution trickle down to testing after a certain number of days. Let's say this threshold is 10 days. The packages in unstable go into testing only when there are no RC-bugs reported against them. If there is a RC-bug filed against a package in unstable, it will not go into testing after the 10 days.
>The idea is that, if the package has any problems, it would be discovered by people using unstable and will be fixed before it enters testing. This keeps the testing in an usable state for most period of the time. Overall a brilliant concept, if you ask me. But things are alwasy not so simple. Consider the following situation:
>Imagine you are interested in package XYZ.
>Let's assume that on June 10, the version in testing is XYZ-3.6 and in unstable it is XYZ-3.7
>After 10 days, XYZ-3.7 from unstable migrates into testing.
>So on June 20, both testing and unstable have XYZ-3.7 in their repositories.
>Let's say, The user of testing distribution sees that a new XYZ package is available and updates his XYZ-3.6 to XYZ-3.7
>Now on June 25, someone using testing or unstable discovers an RC bug in XYZ-3.7 and files it in the BTS.
>The maintainer of XYZ fixes this bug and uploads it to unstable say on June 30. Here it is assumed that it takes 5 days for the maintainer to fix the bug and upload the new version. The number 5 should not be taken literally. It could be less or more, depending upon the severity of the RC-bug at hand.
>This new version in unstable, XYZ-3.8 is scheduled to enter testing on July 10th.
>But on July 5th some other person, discovers another RC-bug in XYZ-3.8
>Let's say the maintainer of XYZ fixes this new RC-bug and uploads new version of XYZ after 5 days.
>So on July 10, testing has XYZ-3.7 while unstable has XYZ-3.9
>This new version XYZ-3.9 is now rescheduled to enter testing on July 20th.
>Now since you are running testing, and since XYZ-3.7 is buggy, you could probably use XYZ only after July 20th. That is you essentially ended up with a broken XYZ for about one month.
>The situation can get much more complicated, if say, XYZ depends on 4 other packages. This could in turn lead to unusable testing distribution for months
[0]:https://wiki.debian.org/DebianTesting
[1]:https://www.debian.org/doc/manuals/debian-faq/ch-choosing.en...