Bug Box

Qualidade e Testes de software

Custo dos testes de Software x Custo do Defeito de Software

Com o intuito de demonstrar a relação entre os custos e benefícios no âmbito financeiro dos testes de software, foi utilizado com referência o artigo Investing in Software Testing: The Cost of Software Quality (Investir em Teste de Software: O Custo da Qualidade de Software), publicado por Rex Black em 2000.

A evolução dos custos dos testes de software, durante o processo de desenvolvimento foi definida de forma mais detalhada por Black (2000). Em seu artigo, ele propõe uma comparação entre o custo da qualidade de um software, em três situações diferentes:

• Quando não são realizados testes formais: Neste caso, os testes são feitos apenas testes pelos desenvolvedores no momento da codificação.

• Quando são realizados testes formais, mas de forma manual: Estes testes se referem aqueles que são realizados por profissionais capacitados, utilizando técnicas e processos bem definidos.

• Quando são realizados testes formais, porém de forma automatizada: Neste caso, além do profissional capacitado, os testes contam com ferramentas de automatização.

A TABELA 1 reproduz as informações obtidas por Black (2000) em seu estudo, onde pode ser observado com clareza, o investimento realizado em testes, bem como a estimativa de retornos obtidos:

 TABELA 1 – Retorno sobre investimento de Testes de Software

A TABELA 1 tem em seu contexto, o processo de desenvolvimento de um software, cujo custo de correção dos defeitos tem como base a Regra 10 de Myers, conforme foi descrita no post Custo dos defeitos de software. Considera-se também, que o software possui 1000 defeitos.

Ao analisar detalhadamente a tabela elaborada por Black(2000), podemos desmembrá-la, a fim de extrair as informações de forma individual. A seguir, temos a TABELA 2 que corresponde à primeira parte da tabela, onde é demonstrado o valor (em dólares) estimado para o investimento em estrutura de teste:

TABELA 2 – Custo da estrutura de teste

Na TABELA 2 é possível observar que existe um investimento necessário para se ter uma estrutura mínima de testes. Este investimento é sub-dividido em:

• Pessoal – A mão de obra especializada;

• Infra-estrutura – Diz respeito ao hardware envolvido, bem como toda a estrutura física necessária para a execução da tarefa de testes;

• Ferramentas – Neste caso, Black (2000) considerou apenas as ferramentas de automação de testes. Por este motivo este custo apenas é representado em Testes Automatizados.

Na próxima etapa, foi estimada a quantidade de defeitos encontrados durante a fase desenvolvimento do software. Neste caso, independente da presença de um processo de testes, esta quantidade se mantém. Isso se dá devido ao fato destes testes serem realizados pelos próprios desenvolvedores, que identificam os defeitos e os corrigem, antes mesmos de eles serem identificados pela equipe de testes. Esta estimativa pode ser observada na TABELA 3:

TABELA 3 – Custo dos defeitos encontrados por desenvolvedores

Ainda de acordo com a TABELA 3, é importante ressaltar que de acordo com a Regra 10 de Meyers, o custo do defeito na fase de desenvolvimento é de 100 unidades monetárias, no exemplo de Black (2000), seriam 100 dólares.

Na etapa seguinte, é descrita a quantidade e o custo dos defeitos encontrados pela equipe de testes. A partir daí, é possível se observar que os defeitos encontrados pelos testes automatizados superam o número de defeitos encontrados pelo processo convencional. Logo, a tendência é de que se o custo total dos defeitos seja maior para os testes automatizados, nesta fase em específico, conforme ilustrado através da TABELA 4:

TABELA 4 – Custo dos defeitos encontrados pela equipe de testes

Nesta fase da análise, temos um cenário onde:

 • Sem testes formais – Não houve nenhum gasto com estrutura, apenas na fase de desenvolvimento se teve um gasto de 1.600 dólares com a correção de defeitos encontrados por desenvolvedores;

 • Testes manuais – Houve um gasto de 107.500 dólares, somando-se o custo da infra-estrutura, mão de obra e correção de defeitos provenientes de um processo de testes manuais;

 • Testes automatizados – Se tem um gasto total de 135.000 dólares com testes, este valor assim como em testes manuais engloba infra-estrutura, mão de obra e correção defeitos. O diferencial neste caso é a quantidade de defeitos encontrada e o investimento em ferramentas, o que torna este valor alto com relação aos testes manuais e ausência de testes.

Pode-se posteriormente, observar que em produção, a quantidade de defeitos encontrados apresenta-se superior quando não são executados nenhum tipo de testes formais. Conforme descrito na TABELA 5:

TABELA 5 – Custo dos defeitos encontrados em produção

Conforme a TABELA 5 e se aplicando a regra 10 de Meyers, o custo dos defeitos nesta fase do processo de desenvolvimento do software é de 10.000 unidades monetárias.

Tratando-se dos defeitos encontrados em produção, no caso onde não foram efetuados testes formais em nenhuma etapa do processo de desenvolvimento, estes serão 750. Este número corresponde ao número de 1000 inicial, contidos no software subtraindo-se os 250 defeitos encontrados na fase de desenvolvimento (conforme foram descritos na TABELA 3). Estes 750 defeitos encontrados em produção, multiplicados por 10.000 dólares, seguindo-se a regra 10 de Myers, custam 750.000 dólares para que sejam efetuadas as devidas correções.

Com relação aos defeitos encontrados no cenário onde foram efetuados testes manuais, o número de defeitos encontrados em produção é 400. Este valor se dá após a subtração do número de defeitos encontrados na fase de desenvolvimento – 250 (conforme a TABELA 3) e os defeitos encontrados pela equipe de testes – 350 (conforme a TABELA 4) do valor total de defeitos que foi definido para este software no exemplo de Black(2000). Portanto, conforme a TABELA 5 o custo da correção dos defeitos em fase de produção, quando são efetuados testes formais, de forma manual em um projeto contendo 1000 defeitos, é de 400.000 dólares.

De acordo com a TABELA 5, quando são efetuados testes formais, de maneira automatizada, o custo dos defeitos encontrados na fase de produção é de 250.000 dólares. Este valor é obtido quando se subtrai o valor total dos defeitos encontrados nas fases anteriores (Desenvolvimento – 250 defeitos; Testes – 500 defeitos.) do valor de 1000 defeitos estabelecidos no exemplo de Black(2000) multiplicados por 10.000.

Com base nos dados anteriores, Black(2000) efetuou o cálculo que visa demonstrar o custo, em dólares da qualidade deste software. Entende-se por qualidade, o produto final sem a presença de nenhum defeito. Neste caso, se refere à correção de todos os 1000 defeitos presentes no software, conforme descrito na TABELA 6:

TABELA 6 – Custo da qualidade

Para se chegar aos valores, foi subtraído o valor do investimento (caracterizado como “Conformidade” na TABELA 6) em testes do total do custo da correção dos defeitos encontrados (que são indicados na TABELA 6 como “Não conformidade”).

Ainda de acordo com a TABELA 6, comparando-se o total do custo da qualidade, temos um gasto de 752.500 dólares no processo onde não foi empregado nenhum tipo de testes formais, 507.500 dólares quando executados testes manuais e o valor de 385.000 dólares quando os testes são efetuados de forma automatizada.

A TABELA 7 demonstra em percentual, a comparação do ROI (Return on investment) obtido em um processo onde houve a utilização de testes manuais e em um processo onde foram executados testes automatizados:

TABELA 7 – Retorno do investimento em percentual

De acordo com a TABELA 7 Black (2000) efetuou o cálculo do retorno sobre o investimento, quando são realizados testes manuais e testes automatizados durante o processo de desenvolvimento de um software.

Para obter o valor do ROI para testes manuais, Black (2000) subtraiu o valor do custo da qualidade referente aos Testes Manuais do custo da qualidade referente a Não Realização de Testes, onde temos:

 752.500 – 507.500 = 245.000

 Em seguida, o valor obtido foi dividido pelo valor do investimento inicial em testes manuais:

245.000 / 70.000 = 3,5

 Finalmente, o valor obtido foi multiplicado por 100, para obter-se o valor em percentual:

3,5 * 100 = 350

 Portanto, no caso da execução de testes manuais de acordo com o estudo de Black (2000), o retorno sobre investimento foi de 350%.

O mesmo calculo foi efetuado, para testes automatizados:

 752.500 – 385.000 = 367.000

367.000 / 82.500 = 4,45

4,45 * 100 = 445

 Nota-se no caso dos testes automatizados, obteve-se um retorno de 445% do investimento inicial realizado em estrutura, mão de obra e ferramentas para realização de testes de software ao longo do desenvolvimento do mesmo.

Através do estudo realizado pelo autor, é possível esclarecer que, o retorno financeiro obtido se dá através da economia, e não como aumento do montante investido.

REFERÊNCIA

BLACK, Rex. Investing in Software Testing: The Cost of Software Quality. 2000. Massachusetts: Computer Aid, Inc. Disponível em <http://www.compaid.com/caiinternet/ezine/cost_of_quality_1.pdf> . Acesso em: 31 de julho de 2011.

COMMENTS

1 Comentário(s)

  1. [...] Figura 1 – Retorno sobre investimento de Testes de Software – Fonte: Bugbox [...]

Deixe um comentário!


um + = 5