View
94
Download
0
Category
Preview:
DESCRIPTION
Apresentação do Seminário da disciplina de Qualidade de Software.
Citation preview
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 é 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
● 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 é 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).
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
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.
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.
Recommended