Coding Dojo Floripa

Desenvolvimento Ágil

Métrica simples e útil? Use RCT

Publicado por Ivan Sanchez em Sexta-feira, Maio 11, 2007

RCT, ou Relação Código-Teste (Code To Test Ratio) é uma métrica extremamente simples, que permite verificar como andam os testes durante o projeto:

RCT = Linhas de Teste / Linhas de Código

Normalmente o valor obtido varia entre 0, quando não existe nenhum teste, e 1,5, quando se escreve 50% de linhas de teste a mais do que linhas de código. Até hoje não vi muitos projetos passarem deste valor, mas já é bastante normal ver projetos nesta faixa. Veja alguns exemplos no Code to Test Ratio Showdown.

O interessante desta métrica é que ela pode servir para acompanhar a adoção de TDD e verificar se os testes não estão sendo deixados de lado. Por isso ela deve ser coletada periodicamente, e deve-se buscar um valor que varie muito pouco quando a utilização de testes estiver satisfatória.

Atualmente estou trabalhando num projeto onde a RCT é 1.3. Em projetos Ruby on Rails a RCT é facimente obtido via rake stats:

Code LOC: 549 Test LOC: 690 Code to Test Ratio: 1:1.3

O projeto ainda está no começo (pouco mais de 500 linhas de código), mas o meu objetivo é que minha RCT nunca baixe de 1.3, e se possível alcance 1.4 quando eu passar a fazer mais testes de integração :-)

E no seu projeto, quantas linhas de teste você gera para cada linha de código? Se você obter a RCT do seu projeto, divulgue-a nos comentários!

3 Respostas para “Métrica simples e útil? Use RCT”

  1. Marcos Silva Pereira disse

    Conhece alguma ferramenta Java para verificar, de maneira tão rapida, o RCT?

  2. Ivan Sanchez disse

    Cara, pra Java eu costumo usar o comando “wc -l” do Linux para contar as linhas dos meus arquivos .java. Não é muito amigável, mas funciona.

    Dentro de IDE só conheço o plugin Metrics do Eclipse. Ele permite verificar LOC (Lines of Code), mas desconheço se é possível distinguir LOC de LOT (Lines of Test).

    De qualquer forma a RCT é tão simples que escrever um programa para calculá-la deve levar pouquíssimo tempo.

    Quem sabe, se houver mais gente interessada em usar esta métrica, eu posso ajudar a criar um plugin do Eclipse para calculá-la….

  3. Rodrigo disse

    Definição de rct e caracteristicas do mesmo

Deixar uma Resposta

XHTML: Pode utilizar estas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>