A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Geração de casos de teste apoiados em banco de dados Projeto Final de Graduação Aluno: Alexandre L. Silva Orientador: Prof. Arndt von Staa.

Apresentações semelhantes


Apresentação em tema: "Geração de casos de teste apoiados em banco de dados Projeto Final de Graduação Aluno: Alexandre L. Silva Orientador: Prof. Arndt von Staa."— Transcrição da apresentação:

1 Geração de casos de teste apoiados em banco de dados Projeto Final de Graduação Aluno: Alexandre L. Silva Orientador: Prof. Arndt von Staa

2 17/2/20142 Alexandre L. Silva © LES/PUC - Rio Agenda Estado da arte Motivação Estudos conceituais e de tecnologia Dados usados nos casos de teste Proposta: grupo condicional extensível Considerações finais Trabalhos futuros Referências bibliográficas

3 17/2/20143 Alexandre L. Silva © LES/PUC - Rio Estado da arte Teste de software: Testes visam controlar a qualidade do software a partir da realização de experimentos controlados. Lachtemacher, 2010: Geração de scripts de casos de teste, baseado em tabelas de decisão. O usuário deve definir as regras que vão limitar os valores gerados para os casos de teste (dado aleatório ou gramática regular). Caldeira, 2010: extensão do trabalho de [Lachtermacher, 2010]. Nesse trabalho, durante a edição da tabela de decisão é possível definir explicitamente os valores dos casos de teste.

4 17/2/20144 Alexandre L. Silva © LES/PUC - Rio Motivação Aumentar a variedade de sistemas que utilizam tabelas de decisão para a geração de scripts de teste. Tornar possível a escolha aleatória em conjuntos de valores pré- estabelecidos

5 17/2/20145 Alexandre L. Silva © LES/PUC - Rio Objetivo Propor a geração de casos de teste envolvendo banco de dados e utilizando tabelas de decisão como técnica de projeto dos casos de teste

6 17/2/ Alexandre L. Silva © LES/PUC - Rio Estudos conceituais e de tecnologia Visão geral do processo de geração de casos de teste

7 17/2/20147 Alexandre L. Silva © LES/PUC - Rio Estudos conceituais e de tecnologia Uma tabela de decisão é uma ferramenta que tem como objetivo expressar as combinações de condições necessárias para a execução de um determinado conjunto de ações [MYERS, 2004]; Característica: Não ambígua e completa Como irá ao jogo? R1R2R3R4 C1 Estádio perto da residência? Sim Não C2 Dia chuvoso NãoSim Não A1 Ir de carro XXX A2 Ir à pé X Cada coluna da tabela de decisão define uma regra; Cada regra representa um caso de teste;

8 17/2/20148 Alexandre L. Silva © LES/PUC - Rio Estudos conceituais e de tecnologia Exemplo de condição (na ferramenta): Uma condição é definida por: –Tipo de campo Texto, clicável, marcador, seletor, seletor múltiplo ou nenhum; –Identificador Por exemplo: id (elemento de HTML); –Nome –Grupo condicional

9 Estudos conceituais e de tecnologia Grupo Condicional: –Permite que determinadas condições dividam restrições entre si; Exemplo: –Sem o uso de grupo condicional: –Com o uso de grupo condicional mutuamente exclusivo obrigatório: CondiçõesSituações Condição 1VVFF Condição 2VFVF CondiçõesSituações Condição 1VVFF Condição 2VFVF 17/2/ Alexandre L. Silva © LES/PUC - Rio

10 17/2/ Alexandre L. Silva © LES/PUC - Rio Dados usados nos casos de teste Geração randômica: –Campo do tipo numérico; –Campo do tipo numérico, com limitadores: Por exemplo, o valor deve estar entre 1 e 50; Geração de dados através de uma expressão regular: Expressão RegularStrings a.a aba a{a aPa AB? A AB (PQR){1,2} PQR PQRPQR boa-(noite | tarde) boa-noite boa-tarde

11 Dados usados nos casos de teste Geração de dados de maneira explícita: Geração através da escolha randômica em um conjunto pré- definido 17/2/ Alexandre L. Silva © LES/PUC - Rio

12 Grupo Condicional Extensível (GCE) código da disciplina 1ª disciplina 2ª disciplina 3ª disciplina Requisitos: –Preparar o banco de dados - DBUnit; –Estender o grupo condicional; Objetivos: –Permitir a valoração dos casos de teste através de dados do banco de dados; –Permitir a valoração de casos corretos e incorretos; Exemplo: sistema de matrícula da PUC-Rio 17/2/ Alexandre L. Silva © LES/PUC - Rio

13 Grupo Condicional Extensível (GCE) Preparar o banco de dados: –Estrutura da tabela: CampoTipoNuloChave CodigoInteiroNãoSim ValorStringSimNão Tabela com dados corretos: Tabela com dados incorretos: 17/2/ Alexandre L. Silva © LES/PUC - Rio

14 Grupo Condicional Extensível (GCE) Preparar o banco de dados: –Definir a conexão com o banco de dados: protected IDatabaseConnection getConnection() throws Exception{ … } protected IDataSet getDataSet() throws Exception{... } –Recuperar os dados do banco: –Popular as estruturas de dados: Dados corretos; Dados incorretos; 17/2/ Alexandre L. Silva © LES/PUC - Rio

15 Grupo Condicional Extensível (GCE) Extensão do Grupo Condicional: –Oferecer o grupo condicional extensível: –Estender a validação da tabela; 17/2/ Alexandre L. Silva © LES/PUC - Rio

16 Grupo Condicional Extensível (GCE) Exemplo de tabela 17/2/ Alexandre L. Silva © LES/PUC - Rio

17 Grupo Condicional Extensível (GCE) Resumo do processo de geração de scripts de teste Fluxo de valoração dos casos de teste –Para cada condição da tabela de decisão: A condição pertence ao GCE? –Sim: »A condição é V? »Sim: usa um valor da estrutura de dados corretos; »Não: usar um valor da estrutura de dados incorretos; –Não: »Segue o fluxo das demais condições; 17/2/ Alexandre L. Silva © LES/PUC - Rio

18 17/2/ Alexandre L. Silva © LES/PUC - Rio Grupo Condicional Extensível (GCE) Outras formas de valoração: –Condições de condições de contorno [MYERS, 2004]: Por exemplo, se campo permite valores entre -1,0 e +1,0, devem ser gerados casos de teste com os seguintes valores: –-1,0; +1,0; -1,001 e +1,001; Por exemplo, se um campo permite entre 1 e 50 caracteres, devem ser gerados casos com: –Nenhum caractere, somente um caractere, 50 caracteres e 51 caracteres; –Gramática livre de contexto (V -> w): ::= ::= ( | _ ) ::= 0 – 31 [ ] ::= ( | | _ ) ::= ( | ) ::= $Numerais ::= $UpperCase_ASCII ::= $LowerCase_ASCII

19 17/2/ Alexandre L. Silva © LES/PUC - Rio Considerações finais Objetivos: –Reduzir o volume de trabalho de definir dados explícitos na geração de scripts de casos de teste; –Aumentar a diversidade de sistemas que podem ser apoiados pela geração de scripts de teste;

20 17/2/ Alexandre L. Silva © LES/PUC - Rio Trabalhos futuros Codificação da proposta; Permitir a atribuição de pesos entre os casos de teste com sucesso e sem sucesso: –Por exemplo: casos Aplicação de regras de negócio no momento da valoração dos dados

21 17/2/ Alexandre L. Silva © LES/PUC - Rio Referências bibliográficas Caldeira, Luiz Rodolfo N., Manual Editor de Tabelas de Decisão. Rio de Janeiro, Delamaro, Márcio; Maldonado, Jose Carlos; Jino, Mario. Introdução ao teste de software. Rio de Janeiro: Elsevier/ Campus, p. (Série Sociedade Brasileira de Computação ) ISBN Jargas, Aurélio Marinho. Expressões Regulares - Guia de Consulta Rápida. Editora Nocatev, Lachtermacher, Luana. O uso de tabelas de decisão para a automação da geração e da execução de casos de teste. Rio de Janeiro, p. Dissertação de Mestrado - Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. Myers, G. J.,The Art of Software of Testing. 2nd edition; Hoboken, New Jersey: John Wiley & Sons; Staa, Arndt v. Programação modular: desenvolvendo programas complexos de forma organizada e segura. Rio de Janeiro: Campus, p. ISBN Staa, Arndt v. Notas de aula de Teste de Software: Aula 24 Geração automática de casos de teste. Trabalho Acadêmico. DBUnit. Database Testing with DbUnit


Carregar ppt "Geração de casos de teste apoiados em banco de dados Projeto Final de Graduação Aluno: Alexandre L. Silva Orientador: Prof. Arndt von Staa."

Apresentações semelhantes


Anúncios Google