Casos teste integração efetiva de algumas unidades

Preview:

Citation preview

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

Pós – Graduação Senac

Engenharia de Software com JEE

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.

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.

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.

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 .

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.

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;

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.

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

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

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.

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.

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.

Agradecimentos

Componentes:

Adriana Telles – Analista de Sistema

telles19@gmail.com

Vania Santos – Programadora Java

vniadefranca@gmail.com

Recommended