22
Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

Embed Size (px)

Citation preview

Page 1: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

Cobertura

Daniella de Oliveira CostaJonathan Silva Pereira

Rhaissa Nogueira Arantes

Page 2: Cobertura Daniella de Oliveira Costa Jonathan 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.

Page 3: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

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/

Page 4: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

Versão 1.0

Page 5: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

Versão 1.5

Page 6: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

Versão 1.9.4.1

Page 7: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

Análise Estática

Page 8: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

Versão 1.1

Versão 1.5

Versão 1.9.4.1

Linhas de código e classes

Page 9: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

Versão 1.0

Versão 1.5

Versão 1.9.4.1

Violações

Page 10: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

Versão 1.0

Versão 1.5

Versão 1.9.4.1

Comentários e duplicações

Page 11: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

Versão 1.0

Versão 1.5

Versão 1.9.4.1

Package tange index

Page 12: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

Versão 1.0

Versão 1.5

Versão 1.9.4.1

Complexidade

Page 13: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

Versão 1.0

Versão 1.5

Versão 1.9.4.1

LCOM4

Page 14: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

Análise Dinâmica

Page 15: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

Versão 1.0

Versão 1.5

Versão 1.9.4.1

Testes de Unidade e Cobertura

Page 16: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

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

Page 17: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

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

Page 18: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

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

Page 19: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

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

Page 20: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

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

Page 21: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

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

Page 22: Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira Rhaissa Nogueira Arantes

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