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

34
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)

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

Page 1: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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)

Page 2: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

UECE | FUNCEME TCG

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

Page 3: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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;

Page 4: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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

Page 5: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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;

Page 6: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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

Page 7: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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

Page 8: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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

Page 9: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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

Page 10: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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

Page 11: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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

Page 12: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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;

Page 13: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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.

Page 14: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

UECE | FUNCEME TCG

LoTuS

Page 15: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

UECE | FUNCEME TCG

LoTus - TCG

Criação do Modelo

(LTS / PLTS)

Geração dos Casos de

Teste

Seleção dos Casos de

Teste

Page 16: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

UECE | FUNCEME TCG

Criação do modelo ● LTS

Page 17: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

UECE | FUNCEME TCG

Criação do modelo● PLTS

Page 18: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

UECE | FUNCEME TCG

LoTuS - TCG

Criação do Modelo

(LTS / PLTS)

Geração dos Casos de

Teste

Seleção dos Casos de

Teste

Page 19: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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

Page 20: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

UECE | FUNCEME TCG

Geração de casos de teste

Page 21: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

UECE | FUNCEME TCG

Geração de casos de teste

Page 22: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

UECE | FUNCEME TCG

LoTuS - TCG

Criação do Modelo

(LTS / PLTS)

Geração dos Casos de

Teste

Seleção dos Casos de

Teste

Page 23: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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

Page 24: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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.

Page 25: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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’.

Page 26: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

UECE | FUNCEME TCG

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

Page 27: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

UECE | FUNCEME TCG

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

Page 28: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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.

Page 29: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

UECE | FUNCEME TCG

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

Page 30: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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.

Page 31: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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

Page 32: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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

Page 33: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

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

Page 34: Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]

UECE | FUNCEME TCG

Obrigado!

http://jeri.larces.uece.br/[email protected]