14
Geração de Casos de Teste de Integração Efetiva de algumas unidades Pós – Graduação Senac Engenharia de Software com JEE

Casos teste integração efetiva de algumas unidades

Embed Size (px)

Citation preview

Page 1: Casos teste integração efetiva de algumas unidades

Geração de Casos de Teste de Integração Efetiva de algumas unidades

Pós – Graduação Senac

Engenharia de Software com JEE

Page 2: Casos teste integração efetiva de algumas unidades

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.

Page 3: Casos teste integração efetiva de algumas unidades

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.

Page 4: Casos teste integração efetiva de algumas unidades

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.

Page 5: Casos teste integração efetiva de algumas unidades

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 .

Page 6: Casos teste integração efetiva de algumas unidades

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.

Page 7: Casos teste integração efetiva de algumas unidades

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;

Page 8: Casos teste integração efetiva de algumas unidades

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.

Page 9: Casos teste integração efetiva de algumas unidades

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.

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

Tabela IICasos de teste gerado com a fusão e tempo de execução da configuração do ambiente de trabalho

Page 10: Casos teste integração efetiva de algumas unidades

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 IIIDEFEITOS 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

Page 11: Casos teste integração efetiva de algumas unidades

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.

Page 12: Casos teste integração efetiva de algumas unidades

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.

Page 13: Casos teste integração efetiva de algumas unidades

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.

Page 14: Casos teste integração efetiva de algumas unidades

Agradecimentos

Componentes:

Adriana Telles – Analista de Sistema

[email protected]

Vania Santos – Programadora Java

[email protected]