Debian testing is the current development cycle of Debian.
A package is installed into the testing dist from DebianUnstable automatically when a list of requirements is fulfilled:
- The package is at least 10 days old.
- The package has been built for all the architectures which the present version in testing was built for.
- Installing the package into testing will not make the distribution more uninstallable.
- The package does not introduce new release critical bugs.
These requirements should assure that testing is in a pretty workable state but still developing. Especially when packages get restructured, packages that are not quite releasable get into testing, so not all the fun of using a developmental version is removed.
An example of testing's unstableness is the upgrade from perl-5.6.0 to perl-5.6.1 which made perl unable to find its modules if they were from a package built with perl-5.6.0. Setting the environment variable ["PERL5LIB"] to /usr/lib/perl/5.6.0 solved the problem.
It is more unstable than DebianStable (DebianWoody), but not as crazy as DebianUnstable (["DebianSid"]). See also DebianStability.
DebianSarge is the current testing distro.
If you wonder why a package (or a particular version thereof) is not yet in testing, see http://bjorn.haxx.se/debian.