Tabelas de decisão para a automação da geração e da execução de casos de teste Luana...
Transcript of Tabelas de decisão para a automação da geração e da execução de casos de teste Luana...
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
11/04/23 2Nome do Autor © LES/PUC-Rio
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.
11/04/23 3Nome do Autor © LES/PUC-Rio
Motivação
• Processo de geração de massa de teste
11/04/23 4Nome do Autor © LES/PUC-Rio
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
11/04/23 5Nome do Autor © LES/PUC-Rio
Tabela de Decisão
• Exemplo: Que tipo de triangulo é?
11/04/23 6Nome do Autor © LES/PUC-Rio
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 X
A3 Escaleno
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.
11/04/23 7Nome do Autor © LES/PUC-Rio
Tabelas de Decisão para Teste
• Vantagens
– Garante a completeza e não ambigüidade
– Forma mais simples de planejamento
– Visualização simplificada
11/04/23 8Nome do Autor © LES/PUC-Rio
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
11/04/23 9Nome do Autor © LES/PUC-Rio
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]
11/04/23 10Nome do Autor © LES/PUC-Rio
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.
11/04/23 11Nome do Autor © LES/PUC-Rio
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.
11/04/23 12Nome do Autor © LES/PUC-Rio
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.
11/04/23 13Nome do Autor © LES/PUC-Rio
Metodologia
11/04/23 14Nome do Autor © LES/PUC-Rio
Test toolspecification
Boundaryconditions
criterion
Test caseselectioncriterion
Test scriptgenerator
Test casegenerator
Autom atedtest scripts
XM L
Testcases
XM L
Interfacedesigner
Specifier
A rchitect A rchitect
Designer
Transfor-m ationStandard
use casesM arked upuse cases
Interfacesketch
Review er
Decisiontable
generator
Decisiontables
XM LDecisiontableeditor
Typed deci-sion tables
XM L
UserInterface
Statem achines
XM LStatem achine
editor
Boundaryconditions
adder
XM LPerform able
test cases
M anualtest cases
Form at & print
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
11/04/23 16Nome do Autor © LES/PUC-Rio
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
11/04/23 17Nome do Autor © LES/PUC-Rio
Exemplo
11/04/23 18Nome do Autor © LES/PUC-Rio
É construída
Exemplo – Dados Gerados
11/04/23 19Nome do Autor © LES/PUC-Rio
Exemplo – Script Gerado
11/04/23 20Nome do Autor © LES/PUC-Rio
Próximos Passos
• Flexibilizar a geração de dados e a geração dos scripts
• Fazer o estudo de caso
11/04/23 21Nome do Autor © LES/PUC-Rio
Dúvidas ?
11/04/23 22Nome do Autor © LES/PUC-Rio
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
11/04/23 23Nome do Autor © LES/PUC-Rio
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 PUC-Rio 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.
11/04/23 24Nome do Autor © LES/PUC-Rio