Teste de banco de dados - técnicas
Este capítulo explica as técnicas mais comuns usadas para realizar testes de banco de dados.
Teste de esquema de banco de dados
Conforme mencionado anteriormente, envolve testar cada objeto no Esquema.
Verificando bancos de dados e dispositivos
- Verificando o nome do banco de dados
- Verificando o dispositivo de dados, dispositivo de registro e dispositivo de despejo
- Verificar se espaço suficiente alocado para cada banco de dados
- Verificando a configuração da opção do banco de dados
Verificação de regras de tabelas, colunas e tipos de coluna
Verifique os itens fornecidos abaixo para descobrir as diferenças entre a configuração real e aplicada.
Nome de todas as tabelas no banco de dados
Nomes de colunas para cada tabela
Tipos de coluna para cada tabela
NULL valor verificado ou não
Se um padrão está vinculado às colunas corretas da tabela
Definições de regras para corrigir nomes de tabelas e privilégios de acesso
Chave e índices
Verifique a chave e os índices em cada tabela -
Chave primária para cada tabela
Chaves estrangeiras para cada tabela
Tipos de dados entre uma coluna de chave estrangeira e uma coluna em outros índices da tabela, agrupados ou não agrupados exclusivos ou não exclusivos
Testes de procedimento armazenado
Envolve verificar se um procedimento armazenado está definido e se os resultados de saída são comparados. Em um teste de procedimento armazenado, os seguintes pontos são verificados -
Nome do procedimento armazenado
Nomes de parâmetros, tipos de parâmetros, etc.
Output- Se a saída contém muitos registros. Zero linhas são afetadas ou apenas alguns registros são extraídos.
Qual é a função do procedimento armazenado e o que um procedimento armazenado não deve fazer?
Passar consultas de entrada de amostra para verificar se um procedimento armazenado extrai dados corretos.
Stored Procedure Parameters- Chame o procedimento armazenado com dados de limite e com dados válidos. Torne cada parâmetro inválido uma vez e execute um procedimento.
Return values- Verifique os valores que são retornados pelo procedimento armazenado. Em caso de falha, um valor diferente de zero deve ser retornado.
Error messages check- Faça alterações de forma que o procedimento armazenado falhe e gere todas as mensagens de erro pelo menos uma vez. Verifique todos os cenários de exceção quando não houver mensagem de erro predefinida.
Testes de gatilho
Em um teste de gatilho, o testador deve realizar as seguintes tarefas -
- Certifique-se de que o nome do gatilho está correto.
- Valide o gatilho se ele for gerado para uma coluna de tabela específica.
- Validação de atualização do acionador.
- Atualize um registro com dados válidos.
- Atualize um registro com dados inválidos e cubra todos os erros do acionador.
- Atualiza um registro quando ele ainda é referenciado por uma linha em outra tabela.
- Garanta a reversão das transações quando ocorrer uma falha.
- Descubra todos os casos em que um acionador não deva reverter as transações.
Scripts de configuração do servidor
Dois tipos de testes devem ser realizados -
- Configurando o banco de dados do zero e
- Para configurar um banco de dados existente.
Testes de Integração do SQL Server
Os testes de integração devem ser realizados depois de concluir os testes de componentes.
Os procedimentos armazenados devem ser chamados intensamente para selecionar, inserir, atualizar e excluir registros em tabelas diferentes para localizar quaisquer conflitos e incompatibilidades.
Quaisquer conflitos entre esquema e gatilhos.
Quaisquer conflitos entre procedimentos armazenados e esquema.
Quaisquer conflitos entre procedimentos armazenados e gatilhos.
Método de teste funcional
O teste funcional pode ser executado dividindo o banco de dados em módulos de acordo com a funcionalidade. As funcionalidades são dos seguintes dois tipos -
Type 1- No teste Tipo 1, descubra as características do projeto. Para cada recurso principal, descubra o esquema, os gatilhos e os procedimentos armazenados responsáveis por implementar essa função e colocá-los em um grupo funcional. Em seguida, teste cada grupo juntos.
Type 2- No teste de Tipo 2, a fronteira dos grupos funcionais em um back-end não é óbvia. Você pode verificar o fluxo de dados e ver onde pode verificar os dados. Comece pelo front-end.
O seguinte processo ocorre -
Quando um serviço tem uma solicitação ou salva dados, alguns procedimentos armazenados serão chamados.
Os procedimentos irão atualizar algumas tabelas.
Esses procedimentos armazenados serão o local para começar o teste e essas tabelas serão o local para verificar os resultados do teste.
Teste de Estresse
O teste de resistência envolve obter uma lista das principais funções do banco de dados e procedimentos armazenados correspondentes. Siga as etapas fornecidas abaixo para o teste de estresse -
Escreva scripts de teste para tentar essas funções e cada função deve ser verificada pelo menos uma vez em um ciclo completo.
Execute os scripts de teste repetidamente por um período de tempo específico.
Verificar os arquivos de log para verificar qualquer bloqueio, falha de memória, corrupção de dados, etc.
Teste de referência
Se seu banco de dados não tiver problemas de dados ou bugs, o desempenho do sistema pode ser verificado. Um fraco desempenho do sistema pode ser encontrado no teste de benchmark, verificando os parâmetros fornecidos abaixo -
- Desempenho de nível de sistema
- Identificar funções / recursos provavelmente usados
- Tempo - tempo máximo, tempo mínimo e tempo médio para executar funções
- Volume de acesso
Testando um banco de dados via front-end
Bugs de back-end também podem ser encontrados fazendo testes de front-end. Você pode seguir as etapas simples fornecidas abaixo para detectar bugs por meio de testes de front-end.
Escreva consultas do front-end e emita as pesquisas.
Pegue um registro existente, altere os valores em alguns campos e salve o registro. (Envolve a instrução UPDATE ou atualiza os procedimentos armazenados e atualiza os gatilhos.)
Insira um novo item de menu na janela do front-end. Preencha as informações e salve o registro. (Envolve as instruções INSERT ou procedimentos armazenados de inserção e gatilhos de exclusão.)
Pegue um registro existente, clique no botão EXCLUIR ou REMOVER e confirme a exclusão. (Envolve a instrução DELETE ou procedimentos armazenados de exclusão e gatilhos de exclusão.)
Repita esses casos de teste com dados inválidos e veja como o banco de dados responde.