O documento descreve a ferramenta LoTuS-TCG, que fornece modelos e técnicas para geração e seleção de casos de teste funcionais e estatísticos. A ferramenta permite a modelagem de sistemas usando Labeled Transition Systems (LTS) e LTS Probabilísticos (PLTS), e fornece oito técnicas de geração e cinco técnicas de seleção de casos de teste. Os autores comparam a LoTuS-TCG com outras ferramentas e discutem trabalhos futuros para
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos [CBSoft - Workshop SAST 2014]
1. 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
3. 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
4. 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
5. 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
6. 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
7. 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
8. Trabalhos relacionados
Ferramenta Modelo Licença
MaTeLo Cadeias de Markov
MEF
Redes de Autômatos Estocásticos
Comercial
JUMBL Cadeias de Markov
MEF
Acadêmico
fMBT MEF Open source
Conformiq Designer Diagrama de estados UML Comercial
Spec Explorer Spec# e Asml Comercial
UECE | FUNCEME TCG
9. Trabalhos relacionados
Ferramenta 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
10. 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
11. LoTuS
● Ferramenta para modelagem gráfica do comportamento
de sistemas utilizando LTS
L o T u S
● 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
UECE | FUNCEME TCG
12. 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
13. 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
18. LoTuS - TCG
Criação do
Modelo
(LTS / PLTS)
Geração dos
Casos de
Teste
Seleção dos
Casos de
Teste
UECE | FUNCEME TCG
19. 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
22. LoTuS - TCG
Criação do
Modelo
(LTS / PLTS)
Geração dos
Casos de
Teste
Seleção dos
Casos de
Teste
UECE | FUNCEME TCG
23. 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
24. 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
25. 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
26. Seleção de casos de teste
● Propósito de teste - &ACEITAR
UECE | FUNCEME TCG
27. Seleção de casos de teste
● Probabilidade de caminho mínimo
UECE | FUNCEME TCG
28. 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
29. Seleção de casos de teste
● Similaridade de caminhos
UECE | FUNCEME TCG
30. 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
31. 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
32. 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
33. 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