Tabelas de decisão para a automação da
geração e da execução de casos de teste
Luana Lachtermacher
Agenda
• Motivação
• Tabelas de Decisão
• Trabalhos Relacionados
• Proposta
• Metodologia
– Editor de Tabela de Decisão
– Geração dos dados de teste
– Geração dos scripts de teste
• Exemplo
• Próximos Passos
05/11/2015
Nome do Autor © LES/PUC-Rio
2
Motivação
• Testes são importantes técnicas de controle da qualidade
software.
– Ainda são pouco eficazes
– Normalmente a maior parte do processo é manual
• Como o processo é manual:
– não é garantido a completude dos testes.
– não é garantido teste com diferentes dados.
05/11/2015
Nome do Autor © LES/PUC-Rio
3
Motivação
• Processo de geração de massa de teste
05/11/2015
Nome do Autor © LES/PUC-Rio
4
Tabela de Decisão
• O que é?
– Expressa as combinações de condições necessárias para a
execução de um determinado conjunto de ações.
•
Uma tabela de decisão é dividida em duas regiões:
– Condições
– Ações.
• Através da tabela de decisão é possível validação:
– Completude
– Não Ambigüidade
05/11/2015
Nome do Autor © LES/PUC-Rio
5
Tabela de Decisão
• Exemplo: Que tipo de triangulo é?
05/11/2015
CT1
CT2
CT3
CT4
C1
a=b
Sim
Sim
Sim
Não
C2
a=c
Sim
Não
Sim
Sim
C3
b=c
Sim
Sim
Não
Sim
A1
Isósceles
X
X
X
A2
Eqüilátero
A3
Escaleno
X
Nome do Autor © LES/PUC-Rio
6
Tabelas de Decisão para Teste
• Cada coluna representa um caso de teste semântico.
• As ações podem ser entendidas como sendo os oráculos.
– Com isso será que é possível automatizar a execução dos
testes?
• É possível gerar automaticamente casos de teste valorados
a partir das tabelas de decisão ?
– A geração dos dados pode ser realizada através de gramáticas
geradoras ou de uma seleção randômica de possíveis valores.
05/11/2015
Nome do Autor © LES/PUC-Rio
7
Tabelas de Decisão para Teste
• Vantagens
– Garante a completeza e não ambigüidade
– Forma mais simples de planejamento
– Visualização simplificada
05/11/2015
Nome do Autor © LES/PUC-Rio
8
Trabalhos Relacionados
• Utilizadas em diferentes áreas:
– Sistemas baseados em conhecimento [VANTHIENEN, 1993]
– Especificação de regras de negócio [REUSCH, 2007]
• Implementa tabela de decisão:
– Chamado de Tablewise e que gera código Ada para
implementação da tabela e geração de documentação texto
sobre a tabela. [HOOVER, 1995]
– LoginGem e Prologa – software proprietários
05/11/2015
Nome do Autor © LES/PUC-Rio
9
Trabalhos Relacionados
• Área de testes:
– Apresenta os casos de testes estruturado dentro dele.
[FERRIDAY, 2007]
– Existem ainda algumas considerações visando facilitar o uso de
tabelas de decisão [JORGENSEN, 1995]
05/11/2015
Nome do Autor © LES/PUC-Rio
10
Proposta
• Criar um processo de teste que:
– O planejamento será feito através da tabela de decisão
– A geração dos dados será realizada automaticamente
– A geração dos scripts de teste também é gerado
automaticamente.
• A verificação da coerência entre a combinação de condições
e os respectivos oráculos será realizada por inspeção ou
revisão realizada por uma pessoa ou equipe.
05/11/2015
Nome do Autor © LES/PUC-Rio
11
Proposta
• Serão tratados apenas os testes funcionais
• Fazer a validação dos processo através de um estudo de
caso de um sistema do Tecgraf. Comparando processo
manual e o apresentado.
05/11/2015
Nome do Autor © LES/PUC-Rio
12
Contribuições Esperadas
• Benefícios esperados:
– elevada confiabilidade dos testes.
– garantir a completeza nos testes.
– a redução do custo na geração dos casos de testes.
– garantir também maior cobertura nos teste ocasionado pela
geração de dados aleatórios.
– Reduzir o trabalho manual do processo de teste.
05/11/2015
Nome do Autor © LES/PUC-Rio
13
Metodologia
Architect
Specifier
Standard
use cases
Transformation
Interface
designer
User
Interface
Interface
sketch
Architect
Marked up
use cases
State
machine
editor
Reviewer
XML
State
machines
Designer
Decision
table
generator
Test case
generator
XML
Typed decision tables
Decision
table
editor
XML
Performable
test cases
Test script
generator
Test case
selection
criterion
XML
Decision
tables
XML
Test
cases
Boundary
conditions
adder
XML
Automated
test scripts
Format & print
05/11/2015
Boundary
conditions
criterion
Manual
test cases
Test tool
specification
Nome do Autor © LES/PUC-Rio
14
Editor de Tabelas de Decisão
• Foi desenvolvido uma ferramenta para auxiliar nessa tarefa
• As condições podem possuir relacionamentos uma com a
outra
• Garante a completeza e a não ambiguidade dos testes
Geração dos Dados dos Testes
• A geração dos dados depende do tipo de componente da
interface.
• Possíveis componentes:
• Campo Texto
– Tipo de valor assumido: string ou numérico
• Check box
• Radio Button
• Lista
• Combo
• É gerado um arquivo XML
05/11/2015
Nome do Autor © LES/PUC-Rio
16
Geração do Script de Teste
• O script de teste é gerado para framework FEST que é
baseado no JUnit.
• Para cada caso de teste gerado no XML dos dados é gerado
um método no script.
• É gerado um arquivo .java
05/11/2015
Nome do Autor © LES/PUC-Rio
17
Exemplo
É construída
05/11/2015
Nome do Autor © LES/PUC-Rio
18
Exemplo – Dados Gerados
05/11/2015
Nome do Autor © LES/PUC-Rio
19
Exemplo – Script Gerado
05/11/2015
Nome do Autor © LES/PUC-Rio
20
Próximos Passos
• Flexibilizar a geração de dados e a geração dos scripts
• Fazer o estudo de caso
05/11/2015
Nome do Autor © LES/PUC-Rio
21
Dúvidas ?
05/11/2015
Nome do Autor © LES/PUC-Rio
22
Referencias Bibliográficas
• [FERRIDAY, 2007] – Cai Ferriday, “A Review Paper on
Decision Table-Based Testing” 2007
• [JORGENSEN, 1995] – Paul C. Jorgensen, “Software Testing
– a Craftsman’s Approach” 1995, CRC Press.
• [VANTHIENEN, 1993] – J.Vanthienen,et al “Illustration of a
Decision Table Tool for Specifying and Implementing
Knowledge Based Systems”, 1993 IEEE Boston
Massachusetts.
• [REUSCH, 2007] – Peter J. A. Reusch – “New Perspectives
for Decision Tables in Project Management”, 2007 Germany
IEEE
05/11/2015
Nome do Autor © LES/PUC-Rio
23
Referencias Bibliográficas
• [PROLOGA] - http://www.econ.kuleuven.ac.be/prologa/
• [LOGICGEM] http://www.infopedia.com/products/logicgem/index.html
• [NOTASTESTE] – Notas de aula do curso de Testes da PUCRio ministrado pelo Prof. Arndt Von Staa acessado através
do site: http://www.inf.puc-rio.br/~inf2134/
• [STAA, 2000] – Arndt Von Staa, “Programação Modular”,
2000, editora: Campus.
05/11/2015
Nome do Autor © LES/PUC-Rio
24
Download

Tabela de Decisão - (LES) da PUC-Rio