1 / 18

Teste em Esquemas de Dados

Teste em Esquemas de Dados. Universidade Federal do Paraná Departamento de Informática Seminário. Maria Cláudia Figueiredo Pereira Emer. 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?

hisa
Download Presentation

Teste em Esquemas de Dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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. Fragmento do esquema pedido em XML Schema - pedidoID … <xsd:attribute name="pedidoID"> <xsd:simpleType> <xsd:restriction base="xsd:integer"> <xsd:minInclusive value="0"/> <xsd:maxInclusive value="999999"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> … 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), …} Abordagem de Teste – Contextos de XML – Exemplo

  16. Instância original … <ordem pedidoID = "000134"> ... Instância alternativa - C1-DI … <ordem pedidoID = "00013"> ... Abordagem de Teste – Contextos de Uso – Exemplo Classes de defeito identificadas em pedidoID: C1-TDI; C1-VMMI; C1-DI; C2-UI. 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

  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

More Related