sexta-feira, 7 de dezembro de 2007

100% de Cobertura - Até quanto isso é importante?

Existe um embate violento sobre este assunto, outro dia participei de uma discussão na xp-rio (ótima lista de discussão sobre XP), com alguns feras do XP no brasil sobre isso. Bem, é certo que fazer testes é importante, mas devo usar a métrica de 100% de cobertura?

Vi várias opiniões, a minha começou com: "Só devo cobrir os métodos mais complicados", depois ouvi uma boa argumentação que me fez pensar assim: "Só devo cobrir o que pode quebrar". Desta forma, um método que apenas chama outro, não terá nenhum teste. Mas ele precisa?

Prefiro dizer que ele "não precisa", pois se algo fizer este método quebrar, o compilador me avisa.

Então, conversando com o Tales (meu gerente e figura conhecida no meio ágil), percebi a necessidade de garantir a qualidade para o cliente, como nos métodos tradicionais é usado um CMMI ou MPS-Br ou ISO, as metodologias ágeis são carentes nessa área e vez por outra precisam de alguma métrica para mostrar a qualidade, e na minha opinião, ter 100% de linhas de código cobertas por testes, me garante MAIOR qualidade num produto do que CMMIs ou ISOs da vida.

Por fim, este argumento não pôde ser rebatido, sabemos que testes são bons, e que se iremos perder 10 minutos, ou menos, fazendo um teste que nunca irá quebrar, e que será, no mínimo, parte de uma métrica de qualidade, por que não fazê-lo?

Que fique claro que não concordo que um "teste ruim" seja melhor que não ter teste. Mas isso fica pra outra blogada.