Teste contra múltiplas plataformas

Você escreve testes de unidade para seus módulos e testes de nível de sistema integrado para níveis mais altos de seu aplicativo ou serviço, certo? Bom Bom.

Agora, certifique-se de executá-los em várias instâncias de sua linguagem de programação, plataforma, versões de suas principais bibliotecas de suporte, versões de banco de dados, navegadores e versões de navegador, etc. Quais são as variáveis ​​ambientais que você pode testar? Teste contra eles

Esse “teste contra tudo, em todas as plataformas” costumava ser uma enorme carga de trabalho adicional. Para muitos, simplesmente trabalho adicional demais para ser prático. Mas o progresso feito nos últimos anos em executores de teste automatizados e em ambientes de teste virtualizados ou na nuvem, transforma o que costumava ser uma enorme carga de trabalho adicional em quase nenhum trabalho extra. Eu testo rotineiramente, por exemplo, quatro ou cinco versões do Python. Digitar o comando “executar testes” (no meu caso tox) não é mais difícil para cinco plataformas do que para uma. E dado o desempenho do sistema moderno, geralmente ainda está pronto quando eu volto com minha próxima xícara de café.

Embora não seja mais trabalho, ele me mostra muito sobre como a plataforma está evoluindo, quais suposições estão mudando em diferentes linguagens, bibliotecas e versões de middleware e em diferentes ambientes de tempo de execução. Isso me ajuda a preparar meus módulos para o futuro e me dá fortes insights sobre onde eu posso ter feito suposições arriscadas. Isso melhorou enormemente a qualidade geral do código e o conhecimento da plataforma . Altamente recomendado!