tabelas de decisão para a automação da geração e da execução de casos de teste luana...

24
Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

Upload: internet

Post on 18-Apr-2015

108 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

Tabelas de decisão para a automação da geração e da execução de casos de teste

Luana Lachtermacher

Page 2: 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

Page 3: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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

Page 4: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

Motivação

• Processo de geração de massa de teste

11/04/23 4Nome do Autor © LES/PUC-Rio

Page 5: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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

Page 6: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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

Page 7: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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

Page 8: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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

Page 9: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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

Page 10: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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

Page 11: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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

Page 12: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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

Page 13: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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

Page 14: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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

Page 15: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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

Page 16: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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

Page 17: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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

Page 18: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

Exemplo

11/04/23 18Nome do Autor © LES/PUC-Rio

É construída

Page 19: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

Exemplo – Dados Gerados

11/04/23 19Nome do Autor © LES/PUC-Rio

Page 20: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

Exemplo – Script Gerado

11/04/23 20Nome do Autor © LES/PUC-Rio

Page 21: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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

Page 22: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

Dúvidas ?

11/04/23 22Nome do Autor © LES/PUC-Rio

Page 23: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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

Page 24: Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher

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