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/2014 6 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/2014 9 Alexandre L. Silva © LES/PUC - Rio

10 17/2/201410 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/2014 11 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/2014 12 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/2014 13 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/2014 14 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/2014 15 Alexandre L. Silva © LES/PUC - Rio

16 Grupo Condicional Extensível (GCE) Exemplo de tabela 17/2/2014 16 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/2014 17 Alexandre L. Silva © LES/PUC - Rio

18 17/2/201418 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/201419 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/201420 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/201421 Alexandre L. Silva © LES/PUC - Rio Referências bibliográficas Caldeira, Luiz Rodolfo N., Manual Editor de Tabelas de Decisão. Rio de Janeiro, 2010. Delamaro, Márcio; Maldonado, Jose Carlos; Jino, Mario. Introdução ao teste de software. Rio de Janeiro: Elsevier/ Campus, 2007. 394 p. (Série Sociedade Brasileira de Computação ) ISBN 9788535226348. Jargas, Aurélio Marinho. Expressões Regulares - Guia de Consulta Rápida. Editora Nocatev, 2001. 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, 2010. 110p. 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; 2004. Staa, Arndt v. Programação modular: desenvolvendo programas complexos de forma organizada e segura. Rio de Janeiro: Campus, 2000. 690p. ISBN 8535206086. Staa, Arndt v. Notas de aula de Teste de Software: Aula 24 Geração automática de casos de teste. http://www.inf.pucrio.br/~inf1413/docs/INF1413_Aula24_GeracaoAutomaticaCasosTeste.pdf Trabalho Acadêmico. http://pt.wikipedia.org/wiki/Trabalho_acadêmico DBUnit. http://www.dbunit.org/ Database Testing with DbUnit http://www.roseindia.net/testingtools/DbUnit/index.shtml


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