Lotus - TCG : Uma ferramenta para geração e seleção de casos de teste funcionais e estatísticos...
-
Upload
laryssa-muniz -
Category
Technology
-
view
182 -
download
1
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