Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

Preview:

Citation preview

Cobertura

Daniella de Oliveira CostaJonathan Silva Pereira

Rhaissa Nogueira Arantes

O que é o Cobertura?

• Cobertura é uma ferramenta free em Java que calcula a porcentagem de código coberta com testes.

• Ele pode ser usado para identificar quais as partes do programa falta para ser coberta com testes.

• Baseia-se no jcoverage.

As versões em formato MAVEN se encontram no seguinte diretório:

http://cobertura.sourceforge.net/index.html

Repositório

Versão 1.0 http://subversion.assembla.com/svn/verificacao-e-validacao/cobertura-1.0/

Versão 1.5 http://subversion.assembla.com/svn/verificacao-e-validacao/cobertura-1.5/

Versão 1.9.4.1 http://subversion.assembla.com/svn/verificacao-e-validacao/cobertura-1.9.4.1/

Versão 1.0

Versão 1.5

Versão 1.9.4.1

Análise Estática

Versão 1.1

Versão 1.5

Versão 1.9.4.1

Linhas de código e classes

Versão 1.0

Versão 1.5

Versão 1.9.4.1

Violações

Versão 1.0

Versão 1.5

Versão 1.9.4.1

Comentários e duplicações

Versão 1.0

Versão 1.5

Versão 1.9.4.1

Package tange index

Versão 1.0

Versão 1.5

Versão 1.9.4.1

Complexidade

Versão 1.0

Versão 1.5

Versão 1.9.4.1

LCOM4

Análise Dinâmica

Versão 1.0

Versão 1.5

Versão 1.9.4.1

Testes de Unidade e Cobertura

Do ponto de vista das métricas de análise estática, quais apresentaram valores que indicam melhoria do código?

Documentação da API, Acoplamento e Coesão (LCOM4).

Análise Estática

Do ponto de vista das métricas de análise estática, quais apresentaram valores que indicam piora do código?

Comentários, Duplicação, Complexidade, Cumprimento de Regras, Violações.

Análise Estática

Do ponto de vista das métricas de análise dinâmica, quais apresentaram valores que indicam melhoria do código?

Aumento da quantidade de testes

Análise Dinâmica

Do ponto de vista das métricas de análise dinâmica, quais apresentaram valores que indicam piora do código?

Cobertura de código, Testes de unidade, Testes com erro

Análise Dinâmica

Considerando os resultados obtidos com o cálculo das diferentes métricas, o grupo considera que o programa em questão está evoluindo ou regredindo?

Tendo em vista as métricas levantadas foi visto que o programa está em uma fase de evolução, já que aumentou consideravelmente seu tamanho, e a quantidade de casos de testes, porém devido a evolução tão rápida do programa a cobertura de testes não está conseguindo progredir na mesma proporção.

Status do projeto

Qual ou quais métricas fortalecem a argumentação da primeira questão?

Outras métricas que também indicam a melhoria do código são o aumento no número de testes e o relativo aumento na cobertura das linhas do código.

Análise do Projeto

Compare o resultado da Análise de Risco realizada pelo grupo e as classes e pacotes cobertas pelas casos de teste. Na opinião do grupo, os testes atuais contemplam as partes mais importantes do código segundo a Análise de Risco?

Tendo em vista que o grupo não teve tempo suficiente de fazer uma análise mais precisa do código, foi visto que existe um grande risco na parte funcional do código, já que existem poucos casos de teste, uma pequena cobertura de código.

Nas primeiras versões o projeto possuía pequenas quantidades de linhas de código, sua cobertura é baixa e poucos testes foram feitos. A ultima versão analisada já cresceu bastante, um avanço para o projeto por um lado. Mas a

parte de cobertura e testes foi esquecida, gerando baixos resultados nas métricas usadas pelo sonar.

Análise de Risco

Recommended