SlideShare una empresa de Scribd logo
1 de 27
Teste de Caixa Branca e Métricas de Código 
Dupla: Aricelio e Késia 
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.
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

Más contenido relacionado

La actualidad más candente

Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de softwareAlex Camargo
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareRonney Moreira de Castro
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101QA Hannah
 
Aula 3 técnicas de teste de software1
Aula 3   técnicas de teste de software1Aula 3   técnicas de teste de software1
Aula 3 técnicas de teste de software1Tiago Vizoto
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de softwarediha36
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Diego Pacheco
 
Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2Fernando Palma
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidaderzauza
 
Istqb 1-소프트웨어테스팅기초
Istqb 1-소프트웨어테스팅기초Istqb 1-소프트웨어테스팅기초
Istqb 1-소프트웨어테스팅기초Jongwon Lee
 
Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Mindfire Solutions
 
Planejamento de Testes
Planejamento de TestesPlanejamento de Testes
Planejamento de Testeselliando dias
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de SoftwareLeinylson Fontinele
 
Palestra - Heurísticas e Usabilidade
Palestra - Heurísticas e UsabilidadePalestra - Heurísticas e Usabilidade
Palestra - Heurísticas e UsabilidadeLuiz Agner
 

La actualidad más candente (20)

Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Fundamentos de Testes de Software
Fundamentos de Testes de SoftwareFundamentos de Testes de Software
Fundamentos de Testes de Software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e AplicandoTeste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e Aplicando
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de software
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101
 
Aula 3 técnicas de teste de software1
Aula 3   técnicas de teste de software1Aula 3   técnicas de teste de software1
Aula 3 técnicas de teste de software1
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1
 
Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2
 
engenharia-de-requisitos
engenharia-de-requisitosengenharia-de-requisitos
engenharia-de-requisitos
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 
Istqb 1-소프트웨어테스팅기초
Istqb 1-소프트웨어테스팅기초Istqb 1-소프트웨어테스팅기초
Istqb 1-소프트웨어테스팅기초
 
Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)
 
Planejamento de Testes
Planejamento de TestesPlanejamento de Testes
Planejamento de Testes
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 
Palestra - Heurísticas e Usabilidade
Palestra - Heurísticas e UsabilidadePalestra - Heurísticas e Usabilidade
Palestra - Heurísticas e Usabilidade
 

Similar a Teste Caixa Branca Métricas Código

Testes unitários x unit
Testes unitários   x unitTestes unitários   x unit
Testes unitários x unitLucas Marques
 
Aula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdfAula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdfHoctairBernardino
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IJoão Lourenço
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKMário Pravato Junior
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoJoeldson Costa Damasceno
 
Programação Diversitária
Programação DiversitáriaProgramação Diversitária
Programação DiversitáriaLaís Berlatto
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Claudinei Brito Junior
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentOtavio Augusto
 
Ferramentas Case de Teste
Ferramentas Case de TesteFerramentas Case de Teste
Ferramentas Case de TesteBeatriz Marques
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfMichaelArrais1
 
Engenharia de Software introdução
Engenharia de Software    introduçãoEngenharia de Software    introdução
Engenharia de Software introduçãomiroslayer
 
Testes Funcionais - Unidade IV
Testes Funcionais - Unidade IVTestes Funcionais - Unidade IV
Testes Funcionais - Unidade IVJoão Lourenço
 

Similar a Teste Caixa Branca Métricas Código (20)

Testes unitários x unit
Testes unitários   x unitTestes unitários   x unit
Testes unitários x unit
 
Aula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdfAula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdf
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOK
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
Instituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela S&T#001, Projeto de software com testes unitáriosInstituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela S&T#001, Projeto de software com testes unitários
 
Apresentação testes white box
Apresentação testes white boxApresentação testes white box
Apresentação testes white box
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e Validação
 
Programação Diversitária
Programação DiversitáriaProgramação Diversitária
Programação Diversitária
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Ferramentas Case de Teste
Ferramentas Case de TesteFerramentas Case de Teste
Ferramentas Case de Teste
 
Eng de testes
Eng de testesEng de testes
Eng de testes
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdf
 
Gt 2 – ferramentas
Gt 2 – ferramentasGt 2 – ferramentas
Gt 2 – ferramentas
 
Engenharia de Software introdução
Engenharia de Software    introduçãoEngenharia de Software    introdução
Engenharia de Software introdução
 
Testes Funcionais - Unidade IV
Testes Funcionais - Unidade IVTestes Funcionais - Unidade IV
Testes Funcionais - Unidade IV
 
Overview de QA
Overview de QA Overview de QA
Overview de QA
 

Más de Aricelio Souza

Metodologia Ágil Scrum
Metodologia Ágil ScrumMetodologia Ágil Scrum
Metodologia Ágil ScrumAricelio Souza
 
Padrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMPadrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMAricelio Souza
 
Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAAricelio Souza
 
Comparativo tecnico entre tecnologias de banco de dados: Relacional, NoSQL, N...
Comparativo tecnico entre tecnologias de banco de dados: Relacional, NoSQL, N...Comparativo tecnico entre tecnologias de banco de dados: Relacional, NoSQL, N...
Comparativo tecnico entre tecnologias de banco de dados: Relacional, NoSQL, N...Aricelio Souza
 
Sistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplosSistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplosAricelio Souza
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de SoftwareAricelio Souza
 
Ataques DOS, DDOS e Scamming
Ataques DOS, DDOS e ScammingAtaques DOS, DDOS e Scamming
Ataques DOS, DDOS e ScammingAricelio Souza
 
Documentação Ataques DOS, DDOS e Scamming
Documentação Ataques DOS, DDOS e ScammingDocumentação Ataques DOS, DDOS e Scamming
Documentação Ataques DOS, DDOS e ScammingAricelio Souza
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPAricelio Souza
 

Más de Aricelio Souza (10)

Metodologia Ágil Scrum
Metodologia Ágil ScrumMetodologia Ágil Scrum
Metodologia Ágil Scrum
 
Padrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMPadrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVM
 
Tipos de Servidores
Tipos de ServidoresTipos de Servidores
Tipos de Servidores
 
Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAA
 
Comparativo tecnico entre tecnologias de banco de dados: Relacional, NoSQL, N...
Comparativo tecnico entre tecnologias de banco de dados: Relacional, NoSQL, N...Comparativo tecnico entre tecnologias de banco de dados: Relacional, NoSQL, N...
Comparativo tecnico entre tecnologias de banco de dados: Relacional, NoSQL, N...
 
Sistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplosSistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplos
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Ataques DOS, DDOS e Scamming
Ataques DOS, DDOS e ScammingAtaques DOS, DDOS e Scamming
Ataques DOS, DDOS e Scamming
 
Documentação Ataques DOS, DDOS e Scamming
Documentação Ataques DOS, DDOS e ScammingDocumentação Ataques DOS, DDOS e Scamming
Documentação Ataques DOS, DDOS e Scamming
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAP
 

Teste Caixa Branca Métricas Código

  • 1. Teste de Caixa Branca e Métricas de Código Dupla: Aricelio e Késia 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.
  • 2. Sumário ● Teste de Caixa Branca. ● Métricas de Código. ● DoctorJ - Java Analyzer. ● Ferramenta JDepend. ● Referências. ● Demonstração prática.
  • 3. 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.
  • 4. Teste de Caixa Branca
  • 5. 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].
  • 6. 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.
  • 7. 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.
  • 9. 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.
  • 10. 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.
  • 11. 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.
  • 12. 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.
  • 13. 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
  • 14. 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.
  • 15. DoctorJ - Java Analyzer
  • 16. 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.
  • 17. 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).
  • 19. 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.
  • 20. JDepend ● Exemplo de Relatório:
  • 21. 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.
  • 22. 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.
  • 23. 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.
  • 25. 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.
  • 26. 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.

Notas del editor

  1. Custo maior devido aos testes serem baseados na implementação, porque se a implementação mudar todo o teste deverá ser refeito. Custo por exigir o conhecimento interno do sistema, porque requer um conhecimento maior por parte do testador.