Translation(s): English - Español - Français - Italiano - Svenska - Русский - 简体中文(Chinese)

DebianReleases > Debian Testing

How Debian Testing Works

Packages from Debian Unstable enter the next-stable testing distribution automatically, when a list of requirements is fulfilled:

For more in depth information see the official Debian Testing web page:

These requirements should assure that the next-stable packages in testing are both reasonably current and in a pretty workable state. Still, sometimes, especially when packages are being restructured, packages that are not quite releasable may get into the next-stable distribution. So, there may remain some of the fun of using a constantly evolving development distribution.

How to use Debian (next-stable) Testing

First thing is to assess the current state of testing. Have a look at the recent topics in the debian-testing mailing list archive and the Status/Testing Wiki-Page. Besides using these specific resources you can also use the general debian-user and debian-devel mailing lists, IRC channels #debian or #debian-next, and of course the debian bug tracker. You may also have a look at the DebianDesktopHowTo.

How to install Debian (next-stable) Testing

The reliable way to install testing from scratch is to do a minimal installation with the stable installer, then upgrade from stable to testing (see below).

There are also weekly builds and daily builds image available that allow you to install Debian Testing directly. Some of these are netinstall iso images that require internet connection during installation.

Alternatively, you could use the testing image of the debian-installer, but note that the testing installer is more for testing the installer than for installing testing. Bugs in the testing installer should be filed against the debian-installer pseudopackage.

How to upgrade to Debian (next-stable) Testing


Please always upgrade to Debian Testing from current stable. Upgrading from oldstable is not supported and might encounter unexpected errors.

To upgrade to testing from current stable, if you have already installed the stable release:

  1. Edit your /etc/apt/sources.list file, changing 'stable' (or the current codename for stable) to 'testing' (or the current code name for the next stable release).

  2. Remove or comment out your stable security updates line(s) (anything with in it).

  3. Remove or comment out any other stable-specific lines, like *-backports or *-updates.
  4. Verify that your installation is not fixed to a specific release in /etc/apt/apt.conf.d/00default-release

The code name for the next stable release, e.g. "trixie", will track "trixie" through its transition into "stable" and later oldstable, while "testing" will keep rolling on after a new stable release. If you would rather track the Trixie release as it becomes stable, update your /etc/apt/sources.list replacing "stable" or "testing" with "trixie".


If you are tracking testing or the next-stable code name, you should always have a corresponding deb <"testing" or codename>-security main line in your /etc/apt/sources.list . See this FAQ-Item.

After installing or adjusting the software sources, run apt update && apt upgrade regularly to get new versions and security updates. If you notice that some packages are not upgraded you should also try apt dist-upgrade, but beware that this command will also install or remove packages, so do check carefully all proposed actions before proceeding.

Best practices for Testing/Sid users

Please, have a look at the best practices for Testing/Unstable users, and consider implementing them.

Best practices for Testing users

It is a good idea to include unstable and experimental in your apt sources so that you have access to newer packages when needed. With the APT::Default-Release apt config setting or with apt pinning you can have packages from testing by default but if you manually upgrade some packages to unstable or experimental, then you will get upgrades within that suite until those packages migrate down to unstable or testing. The apt pinning needs priorities less than 990 and 500 or more for this to work nicely. You can also pin some packages to unstable/experimental that you always want the latest versions of.

It is a good idea to install security updates from unstable since they take extra time to reach testing and the security team only releases updates to unstable. If you have unstable in your apt sources but pinned lower than testing, you can automatically add temporary pinning for packages with security issues fixed in unstable using the output of debsecan.


An example of the kinds of temporary breakage that may happen in next-stable testing was 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. However, by setting the environment variable PERL5LIB to /usr/lib/perl/5.6.0 manually one could solve the problem even before the fixed package entered testing.

Testing changes more often than stable, but not as crazily as unstable, so expect that new stable versions of the programs you use will be installed as soon as they are ready for next-stable testing, except when testing gets "frozen" to prepare for an imminent stable release. See also DebianStability.

Compared to stable and unstable, next-stable testing has the worst security update speed. Don't prefer testing if security is a concern.

You can see what distribution an alias is tracking by looking at the Release file; e.g.:

If you wonder why a package (or a particular version thereof) is not yet in testing, see the testing migration excuses for the package. the testing migration excuses for the package.

How does ''Testing'' become the new ''Stable'' release ?

see DebianReleaseFAQ.

See also