cobertura daniella de oliveira costa jonathan silva pereira rhaissa nogueira arantes
TRANSCRIPT
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