Nei test del software, un canary è una spinta alle modifiche al codice di programmazione per un piccolo gruppo di utenti finali che non sono consapevoli di ricevere nuovo codice. Poiché il canary viene distribuito solo a un numero limitato di utenti, il suo impatto è relativamente piccolo e le modifiche possono essere annullate rapidamente qualora il nuovo codice si rivelasse difettoso.
Per le modifiche incrementali del codice, un approccio canarino alla fornitura di funzionalità consente al team di sviluppo di valutare rapidamente se il rilascio del codice fornisce o meno il risultato desiderato. I test Canary, che sono spesso automatizzati, vengono eseguiti dopo il completamento dei test in un ambiente sandbox.
La parola canarino è stata selezionata per descrivere il codice push a un sottoinsieme di utenti perché i canarini una volta venivano usati nell'estrazione del carbone per avvisare i minatori quando i gas tossici raggiungevano livelli pericolosi. Come il canarino in una miniera di carbone, l'utente finale selezionato per ricevere il nuovo codice in un canary test non è a conoscenza di essere utilizzato per fornire un avviso tempestivo.
Nei test canary, un piccolo sottoinsieme di utenti finali funge da gruppo di test per le modifiche al codice. Se una modifica causa problemi, il software di monitoraggio avvisa il team IT in modo che il codice possa essere corretto prima che venga rilasciato a un gruppo più ampio di utenti.