Canary test (Canary deployment)

No teste de software, um canário é um empurrão de mudanças de código de programação para um pequeno grupo de usuários finais que não sabem que estão recebendo novo código. Como o canário é distribuído apenas para um pequeno número de usuários, seu impacto é relativamente pequeno e as alterações podem ser revertidas rapidamente caso o novo código se revele um buggy.

Para mudanças incrementais de código, uma abordagem canária de entrega de funcionalidades permite à equipe de desenvolvimento avaliar rapidamente se o lançamento do código fornece ou não o resultado desejado. Os testes canários, que são frequentemente automatizados, são executados após a conclusão dos testes em um ambiente sandbox.

A palavra canário foi selecionada para descrever o código empurrado para um subconjunto de usuários porque canários eram usados uma vez na mineração de carvão para alertar os mineiros quando gases tóxicos atingiam níveis perigosos. Como o canário em uma mina de carvão, o usuário final que é selecionado para receber um novo código em um teste de canário não sabe que ele ou ela está sendo usado para fornecer um aviso prévio.

No teste de canário, um pequeno subconjunto de tráfego serve como teste para atualizações. Se alguma coisa na atualização causar problemas, ela alerta a equipe de TI antes que um grande grupo de usuários sinta os efeitos No teste canário, um pequeno subconjunto de usuários finais serve como um grupo de teste para alterações de código. Se uma alteração causar problemas, o software de monitoramento alerta a equipe de TI para que o código possa ser corrigido antes de ser liberado para um grupo maior de usuários.