testes de caixa branca e métricas de código

27
Instituto Federal do Norte de Minas Gerais - Campus Januária Curso: Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: Qualidade de Software Prof.: Petrônio C. L. S. Teste de Caixa Branca e Métricas de Código Dupla: Aricelio e Késia

Upload: aricelio-souza

Post on 04-Jul-2015

94 views

Category:

Technology


0 download

DESCRIPTION

Apresentação do Seminário da disciplina de Qualidade de Software.

TRANSCRIPT

Instituto Federal do Norte de Minas Gerais - Campus Januária

Curso: Tecnologia em Análise e Desenvolvimento de Sistemas

Disciplina: Qualidade de Software

Prof.: Petrônio C. L. S.

Teste de Caixa Branca e Métricas de Código

Dupla: Aricelio e Késia

Sumário

● Teste de Caixa Branca.

● Métricas de Código.

● DoctorJ - Java Analyzer.

● Ferramenta JDepend.

● Referências.

● Demonstração prática.

Testes de Software

● O teste do software é a investigação do software a fim

de fornecer informações sobre sua qualidade em

relação ao contexto em que ele deve operar.

● Isso inclui o processo de utilizar o produto para

encontrar seus defeitos.

Teste de Caixa Branca

Teste de Caixa Branca

● Teste de caixa-branca é uma técnica de teste que usa a

perspectiva interna do sistema para modelar os casos de

teste, [6].

● O analista tem acesso ao código fonte, conhece a

estrutura interna do produto sendo analisado e possibilita

que sejam escolhidas partes específicas de um

componente para serem avaliadas, [7].

Teste de Caixa Branca

● O Teste de caixa-branca é aplicável nas fases de

unidade, integração, regressão e sistema do processo

de teste, e geralmente usado na fase de unidade.

● Estratégias usadas no teste de caixa-branca incluem o

teste de fluxo de controle, fluxo de dados e ramificação

da execução, além da análise estática.

Teste de Caixa Branca

● Vantagem: Como a estrutura interna é usada como

referência, é fácil encontrar os valores de entrada mais

úteis para o teste, o que ajuda na otimização geral do

sistema.

● Custo maior devido aos testes serem baseados na

implementação e também exigir o conhecimento interno

do sistema.

Métricas de Código

Métricas de Código

● São ferramentas com as quais se é possível obter uma

visão de mais alto nível de todo o sistema, com

abstrações mais adequadas.

● E através dessas abstrações, gerar gráficos, relatórios,

matrizes, entre outros.

Métricas de Código

● As Métricas de Código não estão relacionadas apenas

com o software em si, mas também com os processos

de desenvolvimento e manutenção do mesmo.

● Consegue-se, a partir das métricas, dados quantitativos

que oferecem uma boa informação sobre o andamento

da construção.

Métricas de Código

A partir desses dados é possível:

● Estimar custos.

● Avaliar tendências.

● Melhorar o design.

● Até mesmo ter noção sobre a qualidade do sistema

produzido.

Métricas de Código

Através das métricas de código pode-se conhecer:

● A complexidade.

● Tamanho.

● Quantidade de métodos.

● Nível de coesão.

● Grau de acoplamento entre classes.

● E inúmeras outras possibilidades.

Métricas de Código

Em resumo as métricas são usadas para:

● Analisar qualidade e produtividade do processo de

desenvolvimento e manutenção bem como do produto

de software construído;

● Qualificar a performance técnica dos produtos do ponto

de vista do desenvolvedor.

● Embasar solicitações de novas ferramentas e

treinamentos

Métricas de Código

● Medidas funcionais são necessárias para qualificar a

performance dos produtos pela perspectiva do usuário.

● Utilizadas para comparar a produtividade de diferentes

técnicas e tecnologias.

● Entender e aperfeiçoar o processo de desenvolvimento.

● Reduzir frustrações e pressões de cronograma.

DoctorJ - Java Analyzer

DoctorJ - Java Analyzer

● DoctorJ é uma ferramenta que analisa o código Java e

sua documentação, a fim de encontrar descuidos e

erros comuns que a ferramenta javadoc não encontra.

● É um software de código aberto.

● É gratuito tanto para uso pessoal e comercial.

DoctorJ - Java Analyzer

● A última versão foi lançada em 2006 e é compatível

com todos os sistemas operacionais POSIX (Linux /

BSD / UNIX-like).

Ferramenta JDepend

JDepend

● O JDepend é uma ferramenta que analisa classes Java

e gera métricas sobre a qualidade do "Design" para

cada package Java, [8].

● O JDepend permite a equipe de Qualidade

automaticamente mensurar a qualidade do "Design" em

termos de suas extensibilidades, reusabilidade e

manutenibilidade para controle efetivo das

dependências dos packages Java.

JDepend

● Exemplo de Relatório:

JDepend

Esse relatório corresponde a um relatório resumido com as

métricas obtidas pelo JDepend. Os campos da tabela

podem ser interpretados da seguinte forma:

● TC: Número total de classes.

● CC: Número total de classes concretas.

● AC: Número total de classes abstratas.

● Ca: Acoplamento Aferente - número total de classes de

fora de um pacote que dependem de classes de dentro

do pacote.

JDepend

● Ce: Acoplamento Eferente - O número total de classes

de dentro de um pacote que dependem de classes de

fora do pacote.

● A: Nível de Abstração – Mede o quanto abstrato é um

pacote.

JDepend

● I: instabilidade - Mede a instabilidade de pacotes, onde a

estabilidade é medida calculando o esforço para mudar um

pacote sem gerar impacto em outros pacotes dentro da

aplicação.

● D: Distância da Seqüência Principal – Este valor relaciona a

Abstração e a Instabilidade.

Dúvidas?

Referências

[1] DANIEL, L. Code metrics (parte 1) – Métricas de código são aliadas do arquiteto. Fev 2012.

Disponível em: <http://leandrodaniel.com/index.php/code-metrics-parte-1-metricas-de-codigo-

sao-aliadas-do-arquiteto/>. Acesso em: 17 Set. 2014.

[2] DANTAS, Aldimar. Engenharia de Software - Tipos de Testes (Caixa Preta, Caixa Branca).

Jul 2013. Disponível em: <http://pt.slideshare.net/adilmar/engenharia-de-software-ii-testes>.

Acesso em: 17 Set. 2014.

[3] ANICHE, M. Métricas de código, pra que te quero?. Jun 2013. Disponível em:

<http://pt.slideshare.net/mauricioaniche/mtricas-de-cdigo-pra-que-te-quero>. Acesso em: 17 Set.

2014.

[4] Why Use JDepend?. Disponivel em: <http://clarkware.com/software/JDepend.html>. Acesso em

17 Set. 2014.

[5] LINS, Julio César. Métricas de Qualidade com JavaNCSS e JDepend. Disponível em:

<http://www.devmedia.com.br/metricas-de-qualidade-com-javancss-e-jdepend/8825>. Acesso

em: 17 Set. 2014.

Referências

[6] JUNIOR, Pasteur Ottoni de Miranda. Testes de Caixa Branca e Testes de Caixa Preta.

Disponível em:

<http://www.google.com.br/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CCQQFjAB&u

rl=http%3A%2F%2Fwww.tesestec.com.br%2Fpasteurjr%2FTCPB.pdf&ei=A0gpVOL9KJO-

ggSIoYL4CQ&usg=AFQjCNEkoQfLnw7nkgq6D7f6tLIjbWIOXQ&bvm=bv.76247554,d.eXY>.

Acesso em: 29 Set. 2014.

[7] Conceitos: Testes de Caixa Branca e Testes de Caixa Preta. Jul 2014. Disponível em:

<http://crowdtest.me/teste-caixa-branca-caixa-preta/>. Acesso em: 29 Set. 2014.

[8] HENRIQUES, Carine Gomes, COSTA, Maurício. JDepend. Disponível em:

<http://webserver2.tecgraf.puc-

rio.br/~ismael/Cursos/Senac_MTSW/aulas/Modulo2_TecnicasDesnvolvimentoAgeis/4-

Metricas/maven2/jdepend/JDepend.doc.>. Acesso em: 29 Set. 2014.

Demonstração Prática