“Estou pronto para escrever alguns testes de unidade. Qual cobertura de código devo visar?"
Esta prosa de Alberto Savoia responde precisamente a essa pergunta (de uma maneira bem divertida!):
Testivus na cobertura de teste
Certa manhã, um programador perguntou ao grande mestre:
“Estou pronto para escrever alguns testes de unidade. Qual cobertura de código devo visar?
O grande mestre respondeu: "Não se preocupe com cobertura, apenas escreva alguns bons testes."
O programador sorriu, curvou-se e saiu. ...
Mais tarde naquele dia, um segundo programador fez a mesma pergunta.
O grande mestre apontou para uma panela de água fervente e disse:
"Quantos grãos de arroz devo colocar na panela?"
O programador, parecendo intrigado, respondeu:
“Como posso te contar? Depende de quantas pessoas você precisa alimentar, como está com fome, que outros alimentos você está servindo, quanto arroz você tem disponível, e assim por diante. ”
"Exatamente", disse o grande mestre.
O segundo programador sorriu, curvou-se e saiu.
...
No final do dia, um terceiro programador veio e fez a mesma pergunta sobre a cobertura de código.
"Oitenta por cento e não menos!" Respondeu o mestre em uma voz severa, batendo com o punho na mesa.
O terceiro programador sorriu, curvou-se e saiu.
...
Após esta última resposta, um jovem aprendiz se aproximou do grande mestre:
“Grande mestre, hoje ouvi você responder a mesma pergunta sobre a cobertura de código com três respostas diferentes. Por quê?"
O grande mestre levantou-se da cadeira:
"Venha tomar um chá fresco comigo e vamos conversar sobre isso."
Depois de encherem as xícaras de chá verde quente, o grande mestre começou a responder:
“O primeiro programador é novo e está apenas começando a testar. Agora ele tem muito código e nenhum teste. Ele tem um longo caminho a percorrer; concentrar-se na cobertura de código neste momento seria deprimente e inútil. Ele é melhor apenas se acostumar a escrever e executar alguns testes. Ele pode se preocupar com a cobertura depois.
“O segundo programador, por outro lado, é bastante experiente tanto em programação quanto em testes. Quando eu respondi perguntando a ela quantos grãos de arroz eu deveria colocar em uma panela, eu a ajudei a perceber que a quantidade de testes necessários depende de vários fatores, e ela conhece esses fatores melhor do que eu - é o código dela afinal . Não há uma resposta simples e simples, e ela é inteligente o suficiente para lidar com a verdade e trabalhar com isso. ”
“Entendo”, disse o jovem aprendiz, “mas se não houver uma resposta simples, então por que você respondeu ao terceiro programador: 'Oitenta por cento e não menos'?”
O grande mestre riu tão alto e alto que sua barriga, evidência de que ele bebeu mais do que apenas chá verde, pulou para cima e para baixo.
“O terceiro programador quer apenas respostas simples - mesmo quando não há respostas simples ... e depois não as segue de qualquer maneira.”
O jovem aprendiz e o grande mestre grisalho terminaram de beber o chá num silêncio contemplativo.
Pra mim a resposta é busque a sua resposta, até que fique satisfeito, é o mais simples, mas não o mais fácil a ser feito!
Traduzido de https://stackoverflow.com/questions/90002/what-is-a-reasonable-code-coverage-for-unit-tests-and-why
Comentários
Postar um comentário