Teste em Esquemas de Dados Maria Cláudia Figueiredo Pereira Emer Universidade Federal do Paraná Departamento de Informática Seminário.

Slides:



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

Análise e Projeto Orientado a Objetos
Organização e Projeto de
Requisitos de Software
Engenharia de Software
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Rational Unified Process
O Modelo E-R Definição: Características
Fluxograma de Atividades Informática na Administração prof. Amauri Marques da Cunha Período 2007/1.
Definição de Casos de Teste Funcionais a partir de Casos de Uso
> Fases de Engenharia de SW > Gestão de Projectos de SW
Orientação por Objectos > Modelo de Processo OO > Identificação de Classe e Objectos Aula 12.
Software Básico Silvio Fernandes
Contratos de Operação.
Metodologia de Desenvolvimento de Software
Mutação Orientada a Objeto para Assegurar a Qualidade de Testes Baseado no Artigo: Object-Oriented Mutation to Asses the Quality of Tests Anna Derezinska.
Vânia Maria Ponte Vidal
Gerenciamento de Configuração
Análise de Requisitos Use Case Renata Araujo Ricardo Storino
UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE
Professora: Aline Vasconcelos
Profa. Aline Vasconcelos
Introdução a Teoria da Classificação
Hashing (Espalhamento)
Material III-Bimestre Wagner Santos C. de Jesus
Revisões de Software Parte 1
01(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
Prof. Alexander Roberto Valdameri
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB 9. Modelo conceitual (diagrama.
Roteiro Para o Trabalho do Módulo
Projeto Final - APGS Adriana P. de Medeiros
Grupo 5: Fernando Lourenço Pinho Costa Rafael de Souza Santos
Grupo 5: Fernando Lourenço Pinho Costa Rafael de Souza Santos
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Gerenciamento de Requisitos com Casos de Uso
Classes e objetos Modelagem
Conceitos Básicos.
Modelagem para Web Aula de 11/04/2011.
Modelo Relacional Uma base de dados é Uma relação é
Objetivo: compreender e aplicar um modelo conceitual
Prof. Alfredo Parteli Gomes
Microsoft Access Carlos Sebastião.
SQL Server 2012 Introdução a Modelagem de Dados
BANCO DE DADOS APLICADO AO DESENVOLVIMENTO DE SOFTWARE
Validação experimental de uma abordagem baseada em busca para projeto de arquitetura de linha de produto de software Thelma Elita Colanzi Adaptação do.
XML Schema Renata Pontin de Mattos Fortes SCE-225 Hipermídia 2°Semestre 2003 Material elaborado por Lisandra Cazassa Fumagalli.
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
Document Type Definition - DTD
PETER ANTONY RAUSCH JOYCE MARTINS
Fase de Elaboração: Fluxo de Análise Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
1.
Projeto de Banco de Dados
Vânia Maria P. Vidal, José Maria Monteiro, Luís Eufrasio T. Neto
Processo de Aquisição Adilson de Almeida Cezar Meriguetti
Avaliação de Desempenho Simulação
A abordagem de banco de dados para gerenciamento de dados
Banco de Dados Aplicado ao Desenvolvimento de Software
Engenharia de Software
Linguagem XML Criando um documento XML válido
Gestão de defeitos.
Introdução a Banco de Dados Aula 04
Casos de Uso Tarciane Andrade
Desenvolvimento Global de Software Mestrado de Informática / UFPB Francilene Procópio Garcia, D.Sc. Configuração do Processo - Parte.
XML Prof. Dr. Fernando Gauthier INE/UFSC. XML XML (Extensible Markup Language) é uma linguagem para marcar documentos que contêm informações estruturadas.
Engenharia de Software e Sistemas
Engenharia de Software
Projeto de Banco de Dados
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
Diagrama de Classes Herança Dependências.
Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro
Transcrição da apresentação:

Teste em Esquemas de Dados Maria Cláudia Figueiredo Pereira Emer Universidade Federal do Paraná Departamento de Informática Seminário

2 Introdução - Contexto Importância da atividade de teste Produtos confiáveis Avaliação do nível de qualidade Por que testar esquemas de dados? Assegurar a integridade dos dados Evitar falhas na aplicação que utiliza os dados

3 Introdução - Contexto Esquemas XML Operadores de mutação – Li e Miller (2005) Teste aplicando o Critério Análise de Mutantes – Franzotte e Vergilio (2006) Esquemas de base de dados Uso de informações do esquema – Robbert e Maryanski (1991), Chan et al. (2005) Teste aplicando Critério de Teste Baseado na Definição e Uso de atributos - Aranha et al. (2000)

4 Introdução – Motivação Auxiliar na garantia de qualidade de software Importância do esquema de documentos XML e de Base de dados Necessidade de identificar defeitos em esquemas de dados Exigência por abordagens e ferramentas específicas Existência de poucos trabalhos que exploram esse assunto

5 Introdução – Objetivos Investigar abordagens de teste envolvendo esquemas de dados Propor classes de defeito para esquemas Introduzir uma abordagem de teste baseada em defeitos Estudar aspectos de implementação Avaliar o custo e a eficácia da abordagem

6 XML Linguagem de marcação para conteúdo Bem-formado regras de XML Válido Esquema Esquema Vocabulário com definição de elementos, atributos e restrições aos dados Exemplos: DTD e XML Schema

7 Base de Dados Conjunto de informações inter- relacionadas Modelo de dados relacional, orientado a objetos, objeto-relacional Instância conteúdo específico que varia com o tempo Esquema definição da estrutura lógica da base de dados

8 Abordagem de Teste – Definição Deriva casos de teste para mostrar a presença ou ausência de defeitos em esquemas de dados Genérica, pode ser aplicada em qualquer esquema de dados Baseada em defeitos, define Classes de Defeito que descrevem erros comuns e são usadas para obter os casos de teste

9 Abordagem de Teste - Definição Gera instâncias de dados alternativas que representam possíveis defeitos Produz consultas que são capazes de revelar os defeitos Os casos de teste são formados por uma instância de dados alternativa associada a uma consulta e a especificação do resultado esperado Defeito revelado resultados obtidos (consultas) diferentes dos esperados (especificação de dados)

10 Abordagem de Teste - Classes de Defeito Classe 1 (C1) – Restrições de Domínio: defeitos relacionados a definição de domínio dos conteúdos de elementos ou atributos. Tipo de Dado Incorreto (TDI): definição incorreta de tipo de dado; Valor Incorreto (VI): definição incorreta de valor padrão ou fixo; Valor Enumerado Incorreto (VEI): definição incorreta de lista de valores aceitáveis; Valor Máximo e Mínimo Incorreto (VMMI): definição incorreta de valores limites; Tamanho Incorreto (TI): definição incorreta do número de caracteres permitidos; Dígito Incorreto (DI): definição incorreta do total de dígitos ou dígitos decimais permitidos; Padrão Incorreto (PI): definição incorreta da seqüência de caracteres ou números permitidos; Caracteres de Espaço em Branco Incorretos (CEBI): definição incorreta de como devem ser tratados caracteres de espaço em branco.

11 Abordagem de Teste - Classes de Defeito Classe 2 (C2) – Restrições de Definição: defeitos relacionados a definição de atributos, relativos a integridade dos dados. Uso Incorreto (UI): o atributo está incorretamente definido como opcional ou obrigatório; Unicidade Incorreta (NI): o atributo está incorretamente definido como único; Chave Incorreta (CI): o atributo está incorretamente definido como chave. Classe 3 (C3) – Restrições de Relacionamento: defeitos relacionados a definição de relacionamento entre elementos. Ocorrência Incorreta (OI): definição incorreta do número de vezes que um mesmo elemento pode ocorrer; Ordem Incorreta (RI): definição incorreta da ordem em que os elementos podem ocorrer; Cardinalidade Incorreta (AI): definição incorreta do número de ocorrências de um elemento em relação a outro elemento de acordo com um relacionamento;

12 Abordagem de Teste - Classes de Defeito Classe 3 (C3) – Restrições de Relacionamento (continuação) Generalização/Especialização Incorreta (GSI): definição incorreta de uma generalização/especialização; Agregação Incorreta (GI): definição incorreta de uma agregação; Elemento Associativo Incorreto (EAI): definição incorreta de um elemento associativo. Classe 4 (C4) – Restrições Semânticas: defeitos relacionados a definição de restrições em relação ao conteúdo dos dados, escritas por regras de negócio. Condição Incorreta (COI): definição incorreta de um predicado que expressa uma condição que deve ser satisfeita pelo conteúdo de determinado atributo.

13 Abordagem de Teste – Processo de Teste

14 Abordagem de Teste – Contextos de Uso XML Documentos XML que armazenam dados; Mensagens XML que trocam informações entre aplicações Web; Resultados de consultas à base de dados em XML; Documentos XML atualizados; Serviços Web. Base de Dados Relacional; Orientada a objetos; Objeto-relacional.

15 Abordagem de Teste – Contextos de XML – Exemplo Fragmento do esquema pedido em XML Schema - pedidoID … … S = (E,A,R,P) E = {pedido, cliente, itens, item, codigo, descricao, quantidade, preco} A = {pedidoID} R = {ordem, tipo de dado, ocorrência, máximo/mínimo} P = {pedido(pedidoID cliente itens, ordem: cliente itens), pedidoID(tipo de dado, máximo/mínimo), …}

16 Abordagem de Teste – Contextos de Uso – Exemplo Instância original …... Instância alternativa - C1-DI …... Segundo a especificação dos dados: pedidoID: Uso é requerido e código com exatamente seis dígitos Dois defeitos revelados em pedidoID: C2-UI e C1-DI Classes de defeito identificadas em pedidoID: C1-TDI; C1-VMMI; C1-DI; C2-UI.

17 Estágio Atual do Trabalho Abordagem de teste genérica para esquemas de dados Baseada em defeitos Classes de defeito Instâncias de dados alternativas Consultas Ferramenta XTool Experimentos: XML Schema e esquema de base de dados relacional Aplicabilidade, custo e eficácia em revelar defeitos

18 Estágio Atual do Trabalho Experimento I: XML Schemas Experimento II: Abordagem X Teste de mutação – XML Schemas Experimento III: Base de dados relacional (em andamento) Considerações Custo: análise dos resultados Eficácia: capaz de revelar defeitos Teste de mutação: defeitos revelados Vantagem da abordagem em relação ao teste de mutação – geração automática de dados de teste