Teste de banco de dados - Visão geral

O teste de banco de dados inclui a execução de validação de dados, teste de integridade de dados, verificação de desempenho relacionado ao banco de dados e teste de procedimentos, gatilhos e funções no banco de dados.

Exemplo

Considere um aplicativo que captura os detalhes da transação do dia a dia para os usuários e armazena os detalhes no banco de dados. Do ponto de vista do teste de banco de dados, as seguintes verificações devem ser realizadas -

  • As informações transacionais da aplicação devem ser armazenadas no banco de dados e devem fornecer informações corretas ao usuário.

  • As informações não devem ser perdidas quando são carregadas no banco de dados.

  • Apenas as transações concluídas devem ser armazenadas e todas as operações incompletas devem ser abortadas pelo aplicativo.

  • A autorização de acesso ao banco de dados deve ser mantida. Nenhum acesso não aprovado ou não autorizado às informações do usuário deve ser fornecido.

Por que você precisa realizar testes de banco de dados?

Existem vários motivos pelos quais o teste de banco de dados é executado. É necessário realizar a verificação da integridade, validação e consistência dos dados no banco de dados, pois o sistema backend é responsável por armazenar os dados e é acessado para fins múltiplos.

A seguir estão alguns motivos comuns para testes de banco de dados -

  • Para facilitar a complexidade das chamadas para o back-end do banco de dados, os desenvolvedores aumentam o uso de View e Stored Procedimentos.

  • Estes Stored procedimentos e Viewscontêm tarefas críticas, como inserir detalhes do cliente (nome, informações de contato, etc.) e dados de vendas. Essas tarefas precisam ser testadas em vários níveis.

  • Black-box testingexecutado no front-end é importante, mas torna difícil isolar o problema. O teste no sistema de back-end aumenta a robustez dos dados. É por isso que o teste do banco de dados é executado no sistema back end.

  • Em um banco de dados, os dados vêm de vários aplicativos e existe a possibilidade de que dados prejudiciais ou incorretos sejam armazenados no banco de dados. Portanto, é necessário verificar os componentes do banco de dados regularmente. Além disso, a integridade e a consistência dos dados devem ser verificadas regularmente.

Teste de banco de dados versus teste de front-end

O teste de banco de dados é diferente do teste de interface do usuário front-end. A tabela a seguir destaca as principais diferenças -

Teste de banco de dados Teste de IU

O teste de banco de dados é conhecido como teste de validação e integridade de dados ou teste de back-end.

O teste de interface do usuário ou teste de front-end também é chamado de teste de aplicativo ou teste de GUI.

O teste de banco de dados envolve o teste de componentes de back-end, que não são visíveis aos usuários.

Isso inclui componentes de banco de dados e sistemas DBMS, como My SQL, Oracle.

O teste de IU envolve a verificação das funcionalidades de um aplicativo e seus componentes, como formulários, gráficos, menus, relatórios, etc.

Esses componentes são criados usando ferramentas de desenvolvimento front-end como VB.net, C #, Delphi, etc.

O teste de banco de dados envolve a verificação de procedimentos armazenados, visualizações, esquemas no banco de dados, tabelas, índices, chaves, gatilhos, validações de dados e verificação de consistência de dados.

O teste de IU envolve a verificação da funcionalidade do aplicativo, botões, formulários e campos, calendário e imagens, navegação de uma página para outra e a funcionalidade geral do aplicativo.

Para realizar o teste de banco de dados, um testador precisa de um conhecimento profundo do conceito de banco de dados - como procedimentos e funções, visualizações, índices, chaves e SQL prático.

Para realizar o teste de IU, um testador precisa de um bom entendimento dos requisitos de negócios, conhecimento funcional do aplicativo, codificação, etc.

Os dados vêm de várias fontes de dados heterogêneas em aplicativos da web, aplicativos de intranet e vários outros aplicativos.

Os dados são inseridos manualmente nos aplicativos. Envolve testes funcionais de aplicativos front-end.