Cultura e fluxo
Ambientes e paridade
Fazer o teste significar alguma coisa — e separar código de configuração.
O que é?
Ambientes são cópias do sistema com propósitos diferentes: desenvolvimento na sua máquina, teste para validar antes de publicar, produção para os usuários. Paridade é o quanto eles se parecem — e ela determina se passar no teste significa alguma coisa.
Por que existe?
Se o ambiente de teste usa um banco diferente, uma versão diferente da linguagem e dados minúsculos, passar nele não diz quase nada sobre produção. O teste vira ritual: consome tempo, dá sensação de segurança e não previne os problemas reais.
O oposto também custa: reproduzir produção fielmente pode ser caro demais. A decisão prática é sobre quais diferenças importam — versão de dependência e comportamento do banco importam muito; a quantidade exata de servidores, geralmente não.
No mundo real
É a diferença entre ensaiar uma peça no palco de verdade, com a iluminação e o som que serão usados, ou ensaiar na sala de casa. O segundo é mais barato e não revela que o ator some no escuro no terceiro ato.
Mas ensaiar com o teatro cheio de público também não é viável. O critério é ensaiar com as condições que afetam a apresentação — e ignorar as que não afetam.
Onde isso é usado
"Funciona em homologação e quebra em produção" é quase sempre uma diferença de ambiente não mapeada. E a separação entre artefato e configuração é o que permite promover o mesmo pacote entre ambientes, princípio da lição anterior — as duas ideias se sustentam mutuamente.
O que aprender depois
Manter ambientes parecidos configurando cada um à mão não escala. O próximo módulo trata de descrever a infraestrutura em código — versionada, revisável e reproduzível.
Agora pratique
5 itens. Ler não fixa; responder fixa.