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

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

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

Apresentações semelhantes


Apresentação em tema: "Teste em Esquemas de Dados Maria Cláudia Figueiredo Pereira Emer Universidade Federal do Paraná Departamento de Informática Seminário."— Transcrição da apresentação:

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

2 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 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 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 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 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 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 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 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 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 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 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 13 Abordagem de Teste – Processo de Teste

14 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 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 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 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 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


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

Apresentações semelhantes


Anúncios Google