Torne testável o que não puder testar

A frase acima foi inspirada em uma de Galileu Galilei: “Torne mensurável o que não puder medir”. Na Itália do século XVII, ele estava falando da necessidade de medidas precisas para o saber científico. O bom cientista deve sempre conseguir um meio de quantificar o que estava estudando, mesmo que a medida não seja ainda padronizada. A partir disto ele pode comparar resultados, tem mais embasamento para suas hipóteses e pode se comunicar melhor com seus pares. A medição é indispensável para um bom estudo científico.

Do mesmo modo, os testes são indispensáveis para uma boa peça de software. Código testável permite que testes sejam escritos facilmente, sem necessidade de grandes trechos de código de configuração de ambiente. Para alcançar isso é necessária uma boa dose de modularização e desacoplamento, que são sem dúvida boas coisas.

Uma ótima prática para escrever código testável é escrever os testes antes do código de produção. Com isso, o código de teste tende a ficar pequeno, o que significa que o código de produção tem uma interface enxuta e bem definida (o que, não preciso dizer, também é uma boa coisa). Os testes deixam de tentar se adaptar ao código e o código é que passa a se adaptar aos testes. De um certo modo, o código é modelado pelos testes.



%d blogueiros gostam disto: