Métricas de teste e qualidade

De MSTECH wiki
Ir para: navegação, pesquisa
Atualizado em 17/03/2017

Sobre as métricas de teste de software

O processo de testes pode gerar muitas métricas, as quais podem ser analisadas e utilizadas como indicadores para melhorar o processo de desenvolvimento.

Métrica pode ser definida como:

"Escala de medição e o método utilizado para a medição." [ISO 14598].

Indicador pode ser definido como:

"Indicador é uma representação de forma simples ou intuitiva de uma métrica ou medida para facilitar sua interpretação quando comparada a uma referência ou alvo." [BPM CBOK]

Definindo métricas

Elaborando um plano de métricas

  • Por que as métricas satisfazem meu objetivo?
  • Que métricas serão coletadas? Como serão definidas? Como serão analisadas?
  • Quem fará a coleta? Quem fará a análise? Quem verá os resultados?
  • Como será feito? Quais ferramentas, técnicas e práticas que serão usadas para apoiar a coleta e a análise das métricas?
  • Quando e com que frequência as métricas serão coletadas e analisadas?
  • Onde os dados serão armazenados?

Métricas definidas

Métricas de produto

As métricas de produto servem para auxiliar no controle da qualidade do produto que está sendo testado.

Objetivos da medição Questão Métrica Como determinar Situação
Analisar a qualidade do produto Quantos bugs foram abertos na sprint? Total de bugs Relatório do Youtrack Implementado
Analisar a qualidade do produto Qual a porcentagem de bugs com severidade superior a Moderado foram abertos durante o desenvolvimento? Bugs por severidade Implementado
Analisar a qualidade do produto Qual o nível de qualidade do produto na entrega atual? Índice de severidade de defeitos Atribuir um número a cada nível de severidade. Multiplicar cada bug por sua severidade, somando todos os resultados. Dividir o total pelo número de defeitos. Implementado
Analisar a qualidade do produto Qual a evolução da qualidade em relação às sprints anteriores? Bugs por categoria

Bugs por severidade

Relatório do Youtrack. Dados tabulados em planilha. Implementado
Analisar a qualidade do produto Qual a quantidade de bugs vindos do cliente foram corrigidos na sprint atual? Bugs por origem Relatório do Youtrack Indeferido (Não há como coletar no momento)
Verificar se as definições dos requisitos estão satisfatórias ao desenvolvimento Qual a porcentagem de bugs da subcategoria Definição foram abertos durante o desenvolvimento? Bugs de definição por sprint Relatório do Youtrack Implementado
Fornecer uma indicação de mantenabilidade do produto ou custo de manutenção As equipes estão gastando muito tempo na correção de defeitos?

Qual o tempo médio de correção dos bugs?

Índice de correção dos defeitos Dividir o número de horas gastas na correção pelo total de defeitos corrigidos no período Implementado
Verificar quais as providências adotadas para os bugs Quantos bugs foram corrigidos, ignorados, correção adiada ou não eram bugs?

Quantos bugs foram passados para sprints posteriores ou backlog?

Quantos bugs de sprints passadas foram corrigidos na versão atual?

Quantidade de bugs com a Reason "Adiado"

Quantidade de bugs com a flaf "Já foi adiado"

Relatório do Youtrack Implementado
Certificar-se que o critério de pronto está sendo seguido pelas células 100% dos bugs críticos e graves abertos na versão estão com o status fechado? Bugs por status e severidade Relatório do Youtrack Implementado
Verificar a confiabilidade do produto Quantas falhas são encontradas por tempo de execução? Índice de confiabilidade - A confiabilidade de software é geralmente definida como a probabilidade do software operar sem ocorrência de falhas durante um período especificado de tempo em um determinado ambiente. Quantidade de bugs / Tempo de teste Implementado

Métricas de projeto

Objetivos da medição Questão Métrica Como determinar Situação
Verificar se as estimativas de tempo de teste estão corretas Estamos subestimando ou superestimando o tempo de teste? Tempo estimado e tempo gasto Relatório do Youtrack Em definição
Fornecer uma estimativa de tempo para conclusão dos testes Os testes serão concluídos dentro do prazo previsto? Em definição
Identificar quando os esforços de teste devem terminar para um produto ou requisito Quando parar de testar? Em definição

Métricas do processo de teste

As métricas de processo servem para auxiliar no controle da qualidade do processo de testes.

Objetivos da medição Questão Métrica Como determinar Situação
Padronizar a rotina de testes nos projetos Todos os bugs estão sendo classificados? Bugs sem classificação de tipo

Bugs sem classificação de severidade

Relatório do Youtrack Em definição
Avaliar a produtividade do processo de testes Quantos bugs são encontrados por um tempo específico de teste? Bugs por tempo de teste Dividir a quantidade de bugs encontrados pelo tempo de teste. Em definição
Avaliar a produtividade do processo de testes Qual o tempo médio para encontrar um defeito? Tempo de teste por bug encontrado Em definição
Avaliar o custo do teste Qual o custo de não testar? Em definição
Verificar a efetividade dos testes Quantos bugs de funcionalidades que passaram por teste foram encontrados em produção? Em definição

Outras métricas

Abaixo, listamos algumas métricas de teste de software encontradas na literatura. Essas métricas podem ser analisadas e implementadas quando for conveniente.

Métricas de produto

Número de ocorrências
Status das ocorrências
Índice de densidade de defeitos
Índice de severidade de defeitos
Tempo para arrumar um defeito
Tempo médio para encontrar um defeito
Quantidades e falhas encontradas no produto
Tipos de defeitos encontrados
Cobertura dos testes
Cobertura dos testes baseada em requisitos
Cobertura dos testes baseada em códigos
Medida e Uso da cobertura de teste
Efetividade de caso de teste
Efetividade e eficiência dos testes
Defeitos por quantidade de linhas de código
Situação ou tendência dos defeitos em função do tempo
Providências adotadas em relação aos defeitos
Defeitos por módulo
Defeitos por tecnologia utilizada
Defeitos por unidade organizacional
Defeitos por funcionário
Defeitos por hora de introdução

Métricas de processo

Numero de casos de teste
Taxa de falhas na primeira execução dos casos de teste
Custo dos testes
Custo de testar/não testar
Custo/Esforço total de testes X Custo/Esforço total de desenvolvimento
Outras análises de custo: Curva S e Curva Zero Bug Bounce
Densidade dos defeitos residuais
Relação entre defeitos e ocorrências
Taxa de ocorrências válidas
Taxa de problemas encontrados na correção dos defeitos
Defeitos encontrados X Defeitos corrigidos
Ocorrências pendentes de correção
Defeitos encontrados X Defeitos estimados
Probabilidade de defeitos
Ocorrências resolvidas que ainda não foram retestadas
Mudanças no escopo
Fase em que o defeito foi encontrado
Densidade de defeitos por unidade
Defeitos por fase em que foram injetados

Métricas de projeto

Fator de segurança
Tempo necessário para executar um teste
Tempo disponível para o esforço de teste
Taxa de esforço de teste
Categoria dos defeitos

Referências

http://www.lume.ufrgs.br/bitstream/handle/10183/18574/000730980.pdf?...1