Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos...

Post on 18-Jul-2015

182 views 1 download

Transcript of Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos...

UECE | FUNCEME

LoTuS - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos

Laryssa Muniz (UECE/FUNCEME) Ubiratan Netto (FUNCEME) Paulo Henrique Maia (UECE)

UECE | FUNCEME TCG

Agenda● Introdução● Trabalhos relacionados● LoTus - TCG● Exemplo de Uso● Conclusão

UECE | FUNCEME TCG

Introdução● Teste baseado em modelos

○ Técnica para geração automática de um conjunto de casos de testes utilizando modelos extraídos a partir de artefatos de software

○ Visa melhorar a qualidade do software e reduzir os custos inerentes de um processo de teste

○ MBT depende de 3 elementos principais:⇢ Modelo para descrever o comportamento do sistema;⇢ Algoritmo de geração dos casos de teste;⇢ Ferramenta para gerar os casos de teste;

UECE | FUNCEME TCG

Introdução● Testes funcionais (black box)

○ Enxergam o sistema como uma caixa fechada onde não se tem conhecimento sobre sua implementação ou seu comportamento interno

○ Principais modelos⇢ Diagramas da UML (Estados, Sequencia, Atividades)⇢ Máquina de Estados Finitos⇢ Labeled Transition System – LTS

UECE | FUNCEME TCG

Introdução●Testes estatísticos

○ Geração estatística de casos de teste baseados na probabilidade de execução do sistema ⇢ Modelo de comportamento + modelo de uso

○ Excelente complemento para as técnicas de teste existentes

○ Principais Modelos⇢ Cadeias de Markov;⇢ LTS Probabilístico - PLTS;

UECE | FUNCEME TCG

Problema● Poucas ferramentas que permitam geração de ambos

tipos de casos de teste● Ferramentas com poucos algoritmos de geração e

seleção

UECE | FUNCEME TCG

Proposta● LoTuS – TCG, uma ferramenta para geração e seleção

de casos de testes funcionais e estatísticos● Permite modelagem de comportamento probabilístico e

não probabilístico● À época da submissão

○ 1 critério de geração e 3 critérios de seleção● Atualmente

○ 8 técnicas de geração e 5 técnicas de seleção○ Possibilidade de integrar técnicas de seleção

UECE | FUNCEME TCG

Trabalhos relacionadosFerramenta Modelo Licença

MaTeLo Cadeias de MarkovMEFRedes de Autômatos Estocásticos

Comercial

JUMBL Cadeias de MarkovMEF

Acadêmico

fMBT MEF Open source

Conformiq Designer Diagrama de estados UML Comercial

Spec Explorer Spec# e Asml Comercial

UECE | FUNCEME TCG

Trabalhos relacionadosFerramenta Randon

Probabilistic Path

Random Path All Transitions

All Free-loop paths

All one-loop paths

All Paths All States Shortest

MaTeLo X X X

JUMBL X X X

fMBT X X X

Conformiq Designer

X

Spec Explorer

X X X

UECE | FUNCEME TCG

Trabalhos relacionados

Ferramenta Propósito de teste Caminho mais provável

Probabilidade de caminho

mínimo

Similaridade de caminhos

Similaridade com pesos

MaTeLo X

JUMBL X

fMBT X

Conformiq Designer

x

Spec Explorer

UECE | FUNCEME TCG

LoTuS

● Ferramenta para modelagem gráfica do comportamento de sistemas utilizando LTS

● Fornece uma interface gráfica simples e interativa para a criação e manipulação de LTSs

● Possibilita também a adição de propriedades na transição, como condições de guarda e probabilidade

● Permite a criação de plugins

L o T u S

UECE | FUNCEME TCG

LoTuS● Labeled Transition System - LTS

○ Provê uma descrição integral do conjunto de todos os possíveis comportamentos do sistema

○ É uma 4-tupla L = (S, A, T, q0), onde:⇢ S : é o conjunto finito, não vazio de estados;⇢ A : é um conjunto finito, não vazio de rótulos;⇢ T : define o conjunto de transições rotuladas entre os estados;⇢ q0 : representa o estado inicial;

UECE | FUNCEME TCG

LoTuS● LTS Probabilístico - PLTS

Um PLTS estende um LTS acrescentando, para cada transição, uma probabilidade de ocorrência entre 0 e 1 tal que a soma das probabilidades das transições de saídas de um mesmo estado seja sempre 1.

UECE | FUNCEME TCG

LoTuS

UECE | FUNCEME TCG

LoTus - TCG

Criação do Modelo

(LTS / PLTS)

Geração dos Casos de

Teste

Seleção dos Casos de

Teste

UECE | FUNCEME TCG

Criação do modelo ● LTS

UECE | FUNCEME TCG

Criação do modelo● PLTS

UECE | FUNCEME TCG

LoTuS - TCG

Criação do Modelo

(LTS / PLTS)

Geração dos Casos de

Teste

Seleção dos Casos de

Teste

UECE | FUNCEME TCG

Geração de casos de teste● All transitions● All states● All paths● All loop-free paths● All one-loop paths● Shortest path● Random Path● Probabilistic Random Path

UECE | FUNCEME TCG

Geração de casos de teste

UECE | FUNCEME TCG

Geração de casos de teste

UECE | FUNCEME TCG

LoTuS - TCG

Criação do Modelo

(LTS / PLTS)

Geração dos Casos de

Teste

Seleção dos Casos de

Teste

UECE | FUNCEME TCG

Seleção de casos de teste● Caminho mais provável● Probabilidade mínima de caminho● Propósito de teste● Similaridade● Similaridade com peso

UECE | FUNCEME TCG

Seleção de casos de teste● Propósito de teste

○ Segue a mesma abordagem usada em [Cartaxo et al. 2008];

○ Serve para limitar os casos de teste de acordo com um padrão especificado;

○ É composto de duas partes separadas por &: <expressão>&<flag>

⇢ A expressão é um conjunto de rótulos que também pode conter o wildcard * (asterisco);

⇢ A flag pode ser ACEITAR ou REJEITAR. ACEITAR faz com que os caminhos que satisfaçam o padrão especificados sejam aceitos, REJEITAR recusa os caminhos que satisfaçam o padrão especificado.

UECE | FUNCEME TCG

Seleção de casos de teste● Propósito de teste

○ Exemplos:

⇢ a*b&ACEITAR

● Retorna os caminhos do LTS que começam por uma transição de rótulo ‘a’, e terminam por uma transição de rótulo ‘b’;

⇢ *a,b*&ACEITAR

● Retorna os caminhos do LTS que passam por uma transição de rótulo ‘a’ seguida de uma transição ‘b’.

UECE | FUNCEME TCG

Seleção de casos de teste● Propósito de teste - &ACEITAR

UECE | FUNCEME TCG

Seleção de casos de teste● Probabilidade de caminho mínimo

UECE | FUNCEME TCG

Seleção de casos de teste●Similaridade de caminhos

○ Consiste em remover caminhos semelhantes, que possuem relativamente um alto grau de similaridade, do conjunto de testes gerados.

○ O grau de similaridade entre dois caminhos é dado pelo número de transições iguais que os dois caminhos possuem.

○ Dado dois caminhos semelhantes, o caminho removido será o que possuir menos transições. Caso os dois caminhos possuam o mesmo tamanho, então a escolha é feita de maneira aleatória.

UECE | FUNCEME TCG

Seleção de casos de teste● Similaridade de caminhos

UECE | FUNCEME TCG

Seleção de casos de teste●Similaridade com peso

○ Semelhante ao critério Similaridade de Caminhos, porém a probabilidade do caminho é levada em consideração no momento da seleção

○ A diferença se encontra no cálculo do grau da similaridade entre dois caminhos.

UECE | FUNCEME TCG

Revisitando...Ferramenta Randon

Probabilistic Path

Random Path All Transitions

All Free-loop paths

All one-loop paths

All Paths All States Shortest

TCG X X X X X X X X

MaTeLo X X X

JUMBL X X X

fMBT X X X

Conformiq Designer

X

Spec Explorer

X X X

UECE | FUNCEME TCG

Revisitando...

Ferramenta Propósito de teste Caminho mais provável

Probabilidade mínima de caminho

Similaridade de caminhos

Similaridade com pesos

TCG X X X X X

MaTeLo X

JUMBL X

fMBT X

Conformiq Designer

X

Spec Explorer

UECE | FUNCEME TCG

Conclusão● Ferramenta TCG permite a geração e seleção de casos de teste

funcionais e estatísticos ○ 8 técnicas de geração e 5 técnicas de seleção

○ Possibilidade de integrar técnicas de seleção

● Como trabalhos futuros○ Aplicar a ferramenta a diversos contextos para avaliar sua usabilidade e

aplicabilidade;

○ Implementar técnicas de priorização

○ Implementar interface de modelagem a partir de diagramas da UML

○ Implementar testes concretos

UECE | FUNCEME TCG

Obrigado!

http://jeri.larces.uece.br/lotuspauloh.maia@uece.br