testing in production

expressão

cultura de operaçõesprogramação

A prática - imprudente ou disciplinada, dependendo inteiramente do ferramental - de validar mudanças no sistema vivo.

Como piada, zomba dos ambientes de teste ausentes; como disciplina (feature flags, canários, dark launches, engenharia do caos), reconhece que produção é o único ambiente que conta a verdade inteira. A piada e a estratégia estão separadas por observabilidade e um caminho de rollback.

Testar em produção começou como acusação e virou, com qualificações cuidadosas, prática defensável. A acusação é real: publicar código não testado e deixar os usuários encontrarem os defeitos é negligência. A versão defensável é que algumas propriedades não podem ser estabelecidas em nenhum outro lugar.

O raciocínio é que um ambiente de homologação difere da produção em todas as dimensões que importam em escala: padrões reais de tráfego, volumes e formatos reais de dados, comportamento real de terceiros, concorrência real e o estado acumulado de um sistema que roda há anos. Um sistema pode passar em todo teste pré-produção e falhar no contato com condições que ninguém conseguiria reproduzir, e é por isso que a indústria construiu mecanismos para observar a produção com segurança.

Esses mecanismos são o que separa a prática da acusação. Sinalizadores de funcionalidade para expor uma mudança a uma população pequena, implantações canário para direcionar uma fração do tráfego, tráfego sombra para exercitar um caminho novo sem impacto ao usuário, e observabilidade boa o bastante para enxergar a diferença. Com isso, testar em produção significa aprender com a realidade com raio de impacto limitado. Sem isso, a frase significa o que significava originalmente.

Também conhecido como: test in prod

Todos os verbetes do glossário