Métricas de teste e qualidade
Atualizado em 17/03/2017
Índice
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