Geração de casos de teste apoiados em banco de dados

Slides:



Advertisements
Apresentações semelhantes
01/08/2011 Professor Leomir J. Borba- –
Advertisements

Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência
Tópicos Avançados em Banco de Dados
Introdução a Engenharia de Software de Sistemas Multi-Agentes
Lógica de Programação APRESENTAÇÃO DA DISCIPLINA Prof.° Paulo Tong Prof.° Paulo Universidade Estácio.
Trabalho de Administração Financeira – I PI do 2º semestre
Rational Unified Process
Laboratório de Informática Introdução à Linguagem CSS 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Universidade Federal de Santa Catarina
CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS Aula 11
BANCO DE DADOS EM APLICATIVOS WEB Aula 13
CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS Aula 10
BANCO DE DADOS EM APLICATIVOS WEB Aula 14
15/1/2014 Professor Leomir J. Borba- – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS.
CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS Aula 9
Ferramentas de Engenharia de Software
Software Básico Silvio Fernandes
Software Básico Silvio Fernandes
Ray Tracer Distribuído
Integração de Práticas a Ambientes de Desenvolvimento de Software
Engenharia de Software de Sistemas Multi-Agentes Seminários 2007 – 2º Semestre Agentes Inteligentes Inovações Tecnológicas.
Um Processo Baseado em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 7 de abril de.
Teste em Esquemas de Dados Maria Cláudia Figueiredo Pereira Emer Universidade Federal do Paraná Departamento de Informática Seminário.
Utilização de Ferramentas Livres em um Curso de Visão Computacional
Estatística Básica Utilizando o Excel
Professora: Aline Vasconcelos
April 05 Prof. Ismael H. F. Santos - 1 Módulo VI – J ava Standard Template Library (JSTL) Prof. Ismael H F Santos.
Faculdade Dom Bosco de Porto Alegre Sistemas de Informação
Adaptando um Processo de Desenvolvimento de Software para Análise de Cobertura de Código Prof. Alexandre Marcos Lins de Vasconcelos 06/out/2007.
Sistemas de Informação
PLANO DE AULAS TURMA GRPA02.
PROJETO INTEGRADO Paulo Roberto Bernardo
PROJETO INTEGRADO Paulo Roberto Bernardo
Trabalho de Conclusão de Curso Moisés Alves Carneiro Filho
Composição e Geração de Aplicações usando Aspectos
MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Apresentação da disciplina
Análise e Desenvolvimento de Sistemas
Gabriel Angelo Nazário Orientador: Elton José da Silva
Sistema de Unificação de Cadastros
Introdução aos conceitos de Teste de Software
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
Expansão dos Casos de Uso
testes de regressão e testes baseados em riscos
Recursos de Informática aplicados à formação acadêmica
Engenharia de Software de Sistemas Multi-Agentes Seminários 2009 – 1º Semestre Agentes Inteligentes Inovações Tecnológicas.
C&L: Um Ambiente para Edição e Visualização de Cenários e Léxicos
Engenharia de Software de Sistemas Multi-Agentes Seminários 2008 – 1º Semestre Agentes Inteligentes Inovações Tecnológicas.
Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher.
Ethos: Sistema Distribuído para Suporte ao Comitê de Ética em Pesquisa Autor: Rodrigo Stefani Domingues Orientador: Prof. Dr. Carlos M. T. Toledo Faculdade.
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
Aula 01.
UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO JOGO DE NAVE COMO FERRAMENTA PARA AUXÍLIO.
Sistemas de Gerenciamento de Educação a Distância Prof. Silvia Helena Cardoso Prof. Renato M. E. Sabbatini.
FORMATANDO O TRABALHO NO WORD 2007
Ferramenta Lanschool U Disciplina de Redes de Computadores
Analise Semântica aula-10-analise-semântica.pdf.
Aplicações Informáticas B 12º Ano
Apresentação da Disciplina Inteligência Artificial/Computacional
FTIN Formação Técnica em Informática Módulo de Automação de Escritório AULA 06 Prof. Fábio Diniz.
MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE
FATEC Faculdade de Tecnologia de São Paulo DTI Departamento de Tecnologia da Informação Disciplina : Estágio em Análise e Proj. de Sistemas (EST-APS)
Sistemas de Gerenciamento de Educação a Distância Prof. Silvia Helena Cardoso Prof. Renato M. E. Sabbatini.
Prof. Fábio Carneiro Mokarzel 2014
Fabrício Dias
Avaliação tecnológica e funcional de sistemas ERP do tipo SL/CA visando sua implantação em pequenas empresas. (PUIC) Participante do Trabalho: Lidiane.
Gerenciamento de Requisitos e Modelagem de sistemas
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 1 Tópicos  Introdução  Um exemplo  Características da abordagem de banco de dados  Vantagens.
Transcrição da apresentação:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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