In het testen van software is een canary een push van veranderingen in de programmeercode naar een kleine groep eindgebruikers die niet weten dat ze nieuwe code ontvangen. Omdat de canary slechts aan een klein aantal gebruikers wordt gedistribueerd, is de impact ervan relatief klein en kunnen veranderingen snel worden teruggedraaid als de nieuwe code buggy blijkt te zijn.
Bij incrementele codewijzigingen stelt een canary-aanpak voor het leveren van functionaliteit het ontwikkelteam in staat om snel te evalueren of de vrijgave van de code al dan niet het gewenste resultaat oplevert. Canary tests, die vaak geautomatiseerd zijn, worden uitgevoerd nadat het testen in een sandbox-omgeving is voltooid.
Het woord canary is gekozen om de code-push naar een subset van gebruikers te beschrijven, omdat kanaries ooit werden gebruikt in de kolenmijnbouw om mijnwerkers te waarschuwen wanneer giftige gassen gevaarlijke niveaus bereikten. Net als de kanarie in een kolenmijn, is de eindgebruiker die wordt geselecteerd om nieuwe code te ontvangen in een kanarie test zich niet bewust dat hij of zij wordt gebruikt om een vroegtijdige waarschuwing af te geven.
Bij canary testing dient een kleine subset van eindgebruikers als testgroep voor codewijzigingen. Als een wijziging problemen veroorzaakt, waarschuwt de monitoringsoftware het IT-team zodat de code kan worden gerepareerd voordat deze wordt vrijgegeven aan een grotere groep gebruikers.