SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
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
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 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
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
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 
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
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/lotus 
pauloh.maia@uece.br 
UECE | FUNCEME TCG

Weitere ähnliche Inhalte

Was ist angesagt?

IAsyncResult Pattern ou Asynchronous Programming Model (APM)
IAsyncResult Pattern ou Asynchronous Programming Model (APM)IAsyncResult Pattern ou Asynchronous Programming Model (APM)
IAsyncResult Pattern ou Asynchronous Programming Model (APM)Rogério Moraes de Carvalho
 
Tratamento de exceções java
Tratamento de exceções   javaTratamento de exceções   java
Tratamento de exceções javaAntonio Oliveira
 
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockApresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockWilliams Gomes da Silva
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)111111119
 
Comparativo bubble sort e quick sort
Comparativo bubble sort e quick sortComparativo bubble sort e quick sort
Comparativo bubble sort e quick sortDaiana de Ávila
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlex Camargo
 
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...Rogério Moraes de Carvalho
 
Regiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas OperacionaisRegiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas OperacionaisAbadia Cardoso
 
PHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControlePHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControleGeorge Mendonça
 
Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7Inael Rodrigues
 
Recursividade em linguagem C
Recursividade em linguagem CRecursividade em linguagem C
Recursividade em linguagem CLeonardo Lima
 

Was ist angesagt? (17)

IAsyncResult Pattern ou Asynchronous Programming Model (APM)
IAsyncResult Pattern ou Asynchronous Programming Model (APM)IAsyncResult Pattern ou Asynchronous Programming Model (APM)
IAsyncResult Pattern ou Asynchronous Programming Model (APM)
 
Tratamento de exceções java
Tratamento de exceções   javaTratamento de exceções   java
Tratamento de exceções java
 
If
IfIf
If
 
Mutex and monitores
Mutex and monitoresMutex and monitores
Mutex and monitores
 
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockApresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)
 
Comparativo bubble sort e quick sort
Comparativo bubble sort e quick sortComparativo bubble sort e quick sort
Comparativo bubble sort e quick sort
 
Java 13 Excecoes
Java 13 ExcecoesJava 13 Excecoes
Java 13 Excecoes
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetição
 
Tratamento de erros
Tratamento de errosTratamento de erros
Tratamento de erros
 
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
 
JAVA - Tratamento de Erros
JAVA - Tratamento de ErrosJAVA - Tratamento de Erros
JAVA - Tratamento de Erros
 
Regiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas OperacionaisRegiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas Operacionais
 
Cursor
CursorCursor
Cursor
 
PHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControlePHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de Controle
 
Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7
 
Recursividade em linguagem C
Recursividade em linguagem CRecursividade em linguagem C
Recursividade em linguagem C
 

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

Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Leonardo Melo Santos
 
Atualização Java 8 (2014)
Atualização Java 8 (2014)Atualização Java 8 (2014)
Atualização Java 8 (2014)Helder da Rocha
 
Aula rotulação automática - Automatic tagging
Aula rotulação automática - Automatic taggingAula rotulação automática - Automatic tagging
Aula rotulação automática - Automatic taggingFelipe
 
GOTEST-Aula4-Automacao-Parte1.pdf
GOTEST-Aula4-Automacao-Parte1.pdfGOTEST-Aula4-Automacao-Parte1.pdf
GOTEST-Aula4-Automacao-Parte1.pdfRodolphoCesar2
 
Introdução a Programação Orientada a testes
Introdução a Programação Orientada a testesIntrodução a Programação Orientada a testes
Introdução a Programação Orientada a testesAndré Luiz Forchesatto
 
Aula18 Teste Software
Aula18 Teste SoftwareAula18 Teste Software
Aula18 Teste SoftwareMarco Silva
 
Teste De Software Aula
Teste De Software AulaTeste De Software Aula
Teste De Software AulaMarco Silva
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2michellobo
 
Estratégias e Técnicas de Testes - Parte 2
Estratégias e Técnicas de Testes - Parte 2Estratégias e Técnicas de Testes - Parte 2
Estratégias e Técnicas de Testes - Parte 2Lorena Caldas
 
GOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfGOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfRodolphoCesar2
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturadodasko
 
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Os Fantasmas !
 

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

Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
 
Atualização Java 8 (2014)
Atualização Java 8 (2014)Atualização Java 8 (2014)
Atualização Java 8 (2014)
 
OpenMP
OpenMPOpenMP
OpenMP
 
Aula rotulação automática - Automatic tagging
Aula rotulação automática - Automatic taggingAula rotulação automática - Automatic tagging
Aula rotulação automática - Automatic tagging
 
GOTEST-Aula4-Automacao-Parte1.pdf
GOTEST-Aula4-Automacao-Parte1.pdfGOTEST-Aula4-Automacao-Parte1.pdf
GOTEST-Aula4-Automacao-Parte1.pdf
 
Introdução a Programação Orientada a testes
Introdução a Programação Orientada a testesIntrodução a Programação Orientada a testes
Introdução a Programação Orientada a testes
 
gcs_aula08.pdf
gcs_aula08.pdfgcs_aula08.pdf
gcs_aula08.pdf
 
Aula18 Teste Software
Aula18 Teste SoftwareAula18 Teste Software
Aula18 Teste Software
 
Teste De Software Aula
Teste De Software AulaTeste De Software Aula
Teste De Software Aula
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2
 
Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03
 
Teste baseado em modelos
Teste baseado em modelosTeste baseado em modelos
Teste baseado em modelos
 
Estratégias e Técnicas de Testes - Parte 2
Estratégias e Técnicas de Testes - Parte 2Estratégias e Técnicas de Testes - Parte 2
Estratégias e Técnicas de Testes - Parte 2
 
Aula3
Aula3Aula3
Aula3
 
Overview de QA
Overview de QA Overview de QA
Overview de QA
 
GOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfGOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdf
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Aula05 - Lógica de Programação
Aula05 - Lógica de ProgramaçãoAula05 - Lógica de Programação
Aula05 - Lógica de Programação
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
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
  • 2. Agenda ● Introdução ● Trabalhos relacionados ● LoTus - TCG ● Exemplo de Uso ● Conclusão UECE | FUNCEME TCG
  • 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
  • 14. LoTuS UECE | FUNCEME TCG
  • 15. LoTus - TCG Criação do Modelo (LTS / PLTS) Geração dos Casos de Teste Seleção dos Casos de Teste UECE | FUNCEME TCG
  • 16. Criação do modelo ● LTS UECE | FUNCEME TCG
  • 17. Criação do modelo ● PLTS 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
  • 20. Geração de casos de teste UECE | FUNCEME TCG
  • 21. Geração de casos de teste 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