Casos teste integração efetiva de algumas unidades

309 visualizações

Publicada em

Trabalho feito para apresentação do curso de pos-graduação Senac, foi feito baseado no artigo.
2013 IEEE Sixth International Conference on Software Testing, Verification and Validation

Generating Effective Integration Test Cases from Unit Ones

Mauro Pezz`e
University of Lugano, Switzerland and
University of Milano Bicocca, Italy
mauro.pezze@usi.ch

Konstantin Rubinov
Faculty of Informatics
University of Lugano, Switzerland
konstantin.rubinov@usi.ch

Jochen Wuttke
Computer Science & Engineering
University of Washington, Seattle, USA
wuttke@cs.washington.edu

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
309
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
3
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Casos teste integração efetiva de algumas unidades

  1. 1. Geração de Casos de Teste de Integração Efetiva de algumas unidades Pós – Graduação Senac Engenharia de Software com JEE
  2. 2. Introdução  O teste de integração tem como objetivo descobrir defeitos que são devidos a interações incorretas entre diferentes módulos de software  Os casos de teste de integração são geralmente mais complicados de desenvolver, e mais difíceis de gerar e manter do que os casos de teste de unidade.
  3. 3. Continuação...  Propormos uma técnica automática para gerar casos de teste de integração que aproveita suítes de teste de unidade existentes para conduzir geração de teste para a interação de módulos complexos.
  4. 4. a. Qual é o problema sendo abordado no artigo e porque ele é importante.  O teste de unidade tem como objetivo garantir que os métodos implementados a pós- condição, pré-especificadas e implícita.  O teste de integração assegura que os métodos segui corretamente protocolos de interação.
  5. 5. Continuação...  É importante por que utiliza uma nova técnica para gerar casos de testes de integração que aproveita os casos de testes de unidade existente.  E mostra que o caso de teste gerado podem encontrar falhas interessantes, em comparação de testes gerados .
  6. 6. Exemplo:  Uma estrutura leve para a criação de aplicações baseadas no padrão Model View Controller (MVC). Mostra-se que a falha depende da interação entre dois módulos, e como tal podem ser dificilmente detectados com casos de teste simples que conferem o comportamento de unidades individuais.
  7. 7. b.Qual a solução ou abordagem que os autores tiveram para lidar com o problema.  Gerar casos de teste de integração complexos a partir de outras unidades simples que exige o código fonte do sistema e um conjunto de casos de teste como entrada e funciona em 3 fases:  1. identificar as dependências de classe dentro do sistema sob a forma de um diagrama de relação de objeto;
  8. 8. Continua...  2. Calcular as informações de fluxo de dados dentro dos casos de teste de entrada, e usar essa informação para segmentar os casos de teste em blocos(inicialização e execução);  3. Gerar casos de teste de novos e mais complexos dos blocos extraídos de casos de teste de unidade usando a dependência da classe e informação do fluxo de dados.
  9. 9. c. Quais os resultados eles encontraram  Detectar defeitos que não são detectados pelos processos de teste de entrada originais.  1. Gerar novos casos de teste a partir da informação disponível no código e os casos de teste existentes. Tabela II Casos de teste gerado com a fusão e tempo de execução da configuração do ambiente de trabalho Programas Nº de casos de teste gerados Tempo de execução (min.) Explorer 420 1 JGraphT 375 1 Apache Ant 540 6 JFreeChart 1350 24
  10. 10. Continua...  2. Os casos de teste gerados são uteis, podem revelar falhas que não são detectados pelos casos de teste originais. Tabela III DEFEITOS ENCONTRADOS COM FUSION, RANDOOP E PALUS rf: falhas de reais; f.p .: falsos positivos Programas Randoop Palus Fusion r.f. / f.p. r.f. / f.p. r.f. / f.p. Explorer 2 / 2 0 / 80 3 / 2 JGraphT 5 / 9 2 / 1 3 / 4 Apache Ant 9 / 128 0 / 94 1 / 7 JFreeChart 23 / 17 2 / 34 3 / 48 Total 39 / 156 4 / 209 10 / 61
  11. 11. Continua...  3. Uma abordagem mais eficaz do que as abordagens existentes para gerar automaticamente casos de teste, ou seja, os casos de teste gerados detecta falhas não reveladas pelos casos de teste gerados com outras técnicas.
  12. 12. d. Quais conclusões os autores chegaram.  Para gerar casos(integração) de teste complexos de (unidade) casos de teste simples, requer apenas código fonte, e utiliza técnicas clássica para extrair as informações, para construir casos de teste complexos.  A ideia de combinar sequencias de inicialização e execução de casos de teste simples para gerar novos.  Quatro estudos de casos podem encontrar falhas relevantes em aplicações bem testadas.
  13. 13. e. Quais as criticas dos alunos ao trabalho.  Difícil entendimento das tabelas e figuras.  Artigo todo em inglês, tivemos que traduzir para melhor entendimento.
  14. 14. Agradecimentos  Componentes: Adriana Telles – Analista de Sistema telles19@gmail.com Vania Santos – Programadora Java vniadefranca@gmail.com

×