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

Apresentações semelhantes


Apresentação em tema: "Geração de casos de teste apoiados em banco de dados"— 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 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 25/03/2017 Alexandre L. Silva © LES/PUC - Rio

3 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. 25/03/2017 Alexandre L. Silva © LES/PUC - Rio

4 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 25/03/2017 Alexandre L. Silva © LES/PUC - Rio

5 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 25/03/2017 Alexandre L. Silva © LES/PUC - Rio 5 5

6 Estudos conceituais e de tecnologia
Visão geral do processo de geração de casos de teste Test tool specification Boundary conditions criterion Test case selection Test log & findings Test script generator Automated test scripts Test cases XML Architect Designer Interface designer Developer Marked up use cases sketch Decision table Specifier & Reviewer Standard tables editor Typed deci- sion tables User State machines machine Design user interface Mark up adder Performable test cases Manual Format & print tool Data dictionary SWB Develop artifact Artifact 25/03/2017 Alexandre L. Silva © LES/PUC - Rio

7 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? R1 R2 R3 R4 C1 Estádio perto da residência? Sim Não C2 Dia chuvoso A1 Ir de carro X A2 Ir à pé Cada coluna da tabela de decisão define uma regra; Cada regra representa um caso de teste; 25/03/2017 Alexandre L. Silva © LES/PUC - Rio

8 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 25/03/2017 Alexandre L. Silva © LES/PUC - Rio

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ções Situações Condição 1 V F Condição 2 Condições Situações Condição 1 V F Condição 2 25/03/2017 Alexandre L. Silva © LES/PUC - Rio 9

10 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 Regular Strings a.a aba a{a aPa AB? A AB (PQR){1,2} PQR PQRPQR boa-(noite | tarde) boa-noite boa-tarde 25/03/2017 Alexandre L. Silva © LES/PUC - Rio

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 25/03/2017 Alexandre L. Silva © LES/PUC - Rio 11

12 Grupo Condicional Extensível (GCE)
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 código da disciplina 1ª disciplina 2ª disciplina 3ª disciplina Requisitos: Preparar o banco de dados - DBUnit; Estender o grupo condicional; 25/03/2017 Alexandre L. Silva © LES/PUC - Rio 12

13 Grupo Condicional Extensível (GCE)
Preparar o banco de dados: Estrutura da tabela: Campo Tipo Nulo Chave Codigo Inteiro Não Sim Valor String Sim Não Tabela com dados corretos: Tabela com dados corretos: Tabela com dados incorretos: <?xml version='1.0' encoding='UTF-8'?> <dataset> <corretos disciplina="INF1413" /> <corretos disciplina="INF1416" /> <corretos disciplina="INF2112" /> </dataset> <?xml version='1.0' encoding='UTF-8'?> <dataset> <corretos disciplina="INF1687" /> <corretos disciplina="INF1425" /> <corretos disciplina="INF3458" /> </dataset> 25/03/2017 Alexandre L. Silva © LES/PUC - Rio 13

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{ } Recuperar os dados do banco: protected IDataSet getDataSet() throws Exception{ ... } Popular as estruturas de dados: Dados corretos; Dados incorretos; 25/03/2017 Alexandre L. Silva © LES/PUC - Rio 14

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

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

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; 25/03/2017 Alexandre L. Silva © LES/PUC - Rio 17

18 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): <Nome> ::= <InicioNome> <RestoNome> <InicioNome> ::= ( <Letras> | ‘_’ ) <RestoNome> ::= 0 – 31 [ <CharCont> ] <CharCont> ::= ( <Letras> | <Digitos> | ‘_’ ) <Letras> ::= ( <Maiusculas> | <Minusculas> ) <Digitos> ::= $Numerais <Maiusculas> ::= $UpperCase_ASCII <Minusculas> ::= $LowerCase_ASCII 25/03/2017 Alexandre L. Silva © LES/PUC - Rio

19 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; 25/03/2017 Alexandre L. Silva © LES/PUC - Rio

20 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 25/03/2017 Alexandre L. Silva © LES/PUC - Rio

21 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, p. (Série Sociedade Brasileira de Computação ) ISBN 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, 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; 2004. 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 25/03/2017 Alexandre L. Silva © LES/PUC - Rio


Carregar ppt "Geração de casos de teste apoiados em banco de dados"

Apresentações semelhantes


Anúncios Google