SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Mais procurados

Test case design
Test case designTest case design
Test case design99pillar
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projetoejdn1
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareCamilo Almendra
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Softwareeros.viggiano
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de softwareRondinelli Mesquita
 
X-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareAlexandreBartie
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCamilo Ribeiro
 
Ch20-Software Engineering 9
Ch20-Software Engineering 9Ch20-Software Engineering 9
Ch20-Software Engineering 9Ian Sommerville
 
02 software test plan template
02 software test plan template02 software test plan template
02 software test plan templateAndrei Hortúa
 
Testing strategies part -1
Testing strategies part -1Testing strategies part -1
Testing strategies part -1Divya Tiwari
 
Aula 01-Tutorial ETL com PDI
Aula 01-Tutorial ETL com PDIAula 01-Tutorial ETL com PDI
Aula 01-Tutorial ETL com PDIJarley Nóbrega
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de softwareAlex Camargo
 

Mais procurados (20)

5. Métodos de Prueba de Software
5. Métodos de Prueba de Software5. Métodos de Prueba de Software
5. Métodos de Prueba de Software
 
Exemplo de Plano de testes
Exemplo de Plano de testes Exemplo de Plano de testes
Exemplo de Plano de testes
 
Test case design
Test case designTest case design
Test case design
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projeto
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
 
Software test life cycle
Software test life cycleSoftware test life cycle
Software test life cycle
 
X-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de Software
 
Test Levels & Techniques
Test Levels & TechniquesTest Levels & Techniques
Test Levels & Techniques
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de Software
 
Ch20-Software Engineering 9
Ch20-Software Engineering 9Ch20-Software Engineering 9
Ch20-Software Engineering 9
 
02 software test plan template
02 software test plan template02 software test plan template
02 software test plan template
 
Testing strategies part -1
Testing strategies part -1Testing strategies part -1
Testing strategies part -1
 
Aula 01-Tutorial ETL com PDI
Aula 01-Tutorial ETL com PDIAula 01-Tutorial ETL com PDI
Aula 01-Tutorial ETL com PDI
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 
Prueba de Caja Blanca
Prueba de Caja BlancaPrueba de Caja Blanca
Prueba de Caja Blanca
 
Pruebas funcionales
Pruebas funcionalesPruebas funcionales
Pruebas funcionales
 

Semelhante a Testes de Caixa Branca e Métricas de 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
 

Semelhante a Testes de Caixa Branca e Métricas de 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
 

Mais 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
 

Mais 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
 

Testes de Caixa Branca e Métricas de 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 do 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.