database crud testing through ui with sample test cases
O que são operações CRUD e como realizar testes CRUD por meio da IU:
Os seres humanos começaram a armazenar informações antes mesmo de várias décadas! E, naquela época, os bancos de dados de arquivo simples eram usados no histórico da computação, onde todos os dados eram armazenados em um arquivo.
Mais tarde, no início da década de 1970, a IBM desenvolveu o primeiro Modelo de Banco de Dados Relacional, que introduziu 'índices' para buscar facilmente os dados.
O que você aprenderá:
- Visão geral das operações CRUD
- Por que o teste de banco de dados é importante?
- As 4 funcionalidades básicas do banco de dados
- Definição de CRUD
- Teste CRUD
- Como testar a funcionalidade CRUD de um software?
- Conclusão
- Leitura recomendada
Visão geral das operações CRUD
Atualmente, o sistema de armazenamento de dados mais comum é o Base de dados onde o software cria, lê, atualiza e apaga os dados através de Consultas. O software de computador pode responder aos requisitos do usuário de uma maneira mais rápida e eficaz por meio de banco de dados e consultas adequadamente projetados.
Isso implica que o teste e a verificação do banco de dados é um fator muito importante.
Respostas da interface gráfica do usuário (GUI), como mensagens de erro, mensagens de sucesso, etc., são consideradas muito importantes por quase todos os gerentes de teste. Isso ocorre porque a GUI passa a ser a parte visível de um aplicativo, que os usuários podem ver. No entanto, o teste de banco de dados é igualmente importante.
Com base na minha experiência, tenho visto muitos testadores manuais que consideram isso um trabalho tedioso, mas na verdade não é.
Neste tutorial, discutiremos o teste de funcionalidade do banco de dados de caixa preta por meio da interface do usuário e consultas MySQL de uma maneira simples com exemplos fáceis.
Por que o teste de banco de dados é importante?
Os pontos fornecidos abaixo irão explicar a importância do teste de banco de dados de uma maneira muito breve.
- Os dados são um ativo importante e precisam ser salvos e protegidos.
- Os bancos de dados estão ficando complexos com novas tecnologias e plataformas. Portanto, as chances de erros aumentam.
- Pode haver funcionalidades críticas associadas aos valores armazenados no banco de dados.
- Problemas no banco de dados ou consultas podem levar a grandes problemas de funcionalidade.
- Para garantir que os dados sejam mapeados corretamente ou não.
O teste de banco de dados pode ser feito como um teste de unidade, teste de caixa preta , teste de caixa branca e caixa de texto cinza.
As 4 funcionalidades básicas do banco de dados
O software baseado em banco de dados geralmente tem quatro funcionalidades principais que ficarão claras nos exemplos abaixo.
Exemplo 1:
Facebook, o site de rede social mais famoso.
- Você pode criar uma nova conta
- Ver os detalhes da sua conta
- Editar detalhes da conta
- Exclua a conta
- Você pode criar comentários
- Vê-los
- Edite-os
- Exclua-os
Exemplo 2:
LinkedIn, o famoso site de pesquisa de empregos:
perguntas da entrevista sql com respostas pdf
- Você pode criar seu perfil
- Veja isto
- Edite-o
- Delete isso
- Você pode adicionar postagens
- Vê-los
- Edite-os
- Exclua-os
Você notou um conjunto de atividades comuns aqui?
Sim! Você está certo.
A maior parte do software suporta essas funcionalidades de criação, visualização, edição e exclusão de onde o termo CRUEL vem.
Definição de CRUD
Na programação de computadores, CRUEL significa Criar, Ler, Atualizar e Excluir. Essas são as quatro funções principais e básicas do armazenamento persistente. Isso geralmente é feito em aplicativos de software por meio de formulários.
- Crio - INSERIR uma entrada no banco de dados.
- Leitura ou Recuperar - SELECIONE a entrada do Banco de Dados e visualize-a.
- Atualizar - ATUALIZE a entrada total ou parcialmente.
- Excluir ou Destroy - DROP / DELETE a entrada.
Com base nos requisitos de software, os ciclos CRUD podem variar.
Por exemplo: às vezes, o vendedor cria uma conta e o usuário a visualiza. O usuário pode não ter o privilégio de editá-lo ou excluí-lo. Por outro lado, o requisito pode ser: o usuário cria sua conta e o vendedor verifica e aprova. Esses ciclos são muito importantes do ponto de vista de um testador.
Para as funcionalidades discutidas acima, há uma consulta correspondente em execução no banco de dados.
Abaixo estão os exemplos de consultas MYSQL para cada ação
Açao | Consulta de amostra |
---|---|
CRIAR | INSERT INTO nome_tabela (coluna1, coluna2, coluna3, ...) VALORES (valor1, valor2, valor3, ...); |
LEITURA | SELECT * da tabela; |
ATUALIZAR | ATUALIZAR nome_tabela SET coluna1 = valor11, coluna2 = valor22 Condição WHERE; |
EXCLUIR | DELETE FROM TABLE nome_tabela onde coluna1 = ‘valor11’; |
Três variações de CRUD são PÃO (Navegar, ler, editar, adicionar, excluir), DAVE (Excluir, Adicionar, Visualizar, Editar) e PORCARIA (Criar, Replicar, Anexar, Processar).
Teste CRUD
O teste CRUD é um teste de caixa preta da funcionalidade do banco de dados.
Como sabemos, o teste da caixa preta considera o sistema de software de teste como uma “caixa preta e os testes são conduzidos por meio da IU.
Entendemos que cada ação de front-end, como registro de conta, edição de detalhes pessoais, visualização de detalhes, exclusão de conta, etc. tem uma ação CRUD correspondente no banco de dados. O teste CRUD é feito para verificar se essas ações refletem no Banco de Dados de maneira adequada ou não.
O teste CRUD é diferente do teste de front-end de caixa preta comum, onde verificamos mensagens de sucesso como “Conta criada com sucesso” após o registro de um usuário, etc. Aqui temos que verificar se os detalhes da conta estão realmente sendo inseridos no banco de dados ou não.
Existem duas maneiras pelas quais um testador manual pode fazer isso:
# 1) Executar consultas por conta própria- Os testadores com um bom entendimento da linguagem SQL e dos requisitos de software podem fazer suas próprias consultas para testar o banco de dados. Desta forma, todos os casos possíveis podem ser verificados com boas consultas.
# 2) Execute consultas com a ajuda de um desenvolvedor- Os testadores podem começar verificando a interface do usuário do aplicativo e obter consultas do desenvolvedor.
As seguintes questões devem ser consideradas ao escrever casos de teste para operações CRUD:
- Que tipo de ação CRUD é válida e o que é inválido para um aplicativo de teste?
- Que tipo de relação as ações CRUD têm / devem ter entre si?
- Quando as ações CRUD são executadas?
- Quem está acessando a funcionalidade CRUD? O sistema define privilégios diferentes para usuários diferentes?
O processo de teste geral para Teste de banco de dados não é muito diferente do teste de GUI da caixa preta manual usual.
Gostar,
Passo 1: Prepare o ambiente de teste.
Passo 2: Execute as etapas de teste.
Etapa 3: Verifique o resultado do teste.
Passo 4: Valide os resultados reais de acordo com os resultados esperados.
Etapa 5: Relate bugs e outras descobertas.
Para verificar o resultado do teste, são usados a resposta da GUI e o resultado da consulta. Para o teste da caixa preta CRUD, precisamos apenas de uma consulta, que é SELECT.
Como todos sabemos, os bancos de dados armazenam dados. Quando precisamos recuperar os dados, a consulta SELECT é usada. No teste de caixa preta, só temos que usar esta consulta para ver se as ações por meio da IU mostram reflexos adequados no banco de dados ou não.
‘SELECT’ pode ser usado das seguintes maneiras:
# 1) Se um testador deseja verificar e verificar todos os dados, ele pode usar o símbolo de início (*) na consulta SELECT. Esta é a forma mais simples de consulta SELECT.
SELECT * FROM table_name;
A instrução acima seleciona todos os campos de todas as linhas da tabela table_name.
# 2) Em alguns casos, o primeiro resultado da consulta pode ser confuso. Se um testador estiver interessado apenas em alguns campos, o seguinte script pode ser usado.
melhor downloader de música mp3 para pc
SELECT ‘field_1’, ‘field_2’, ‘field_3’ FROM table_name;
A instrução acima seleciona os campos, ‘field_1’, ‘field_2’ e ‘field_3’ de todas as linhas da tabela table_name.
# 3) Se um testador deseja ver os resultados com base em qualquer critério, a cláusula WHERE pode ser usada.
SELECT ‘field_1’ FROM table_name WHERE field_2 = ‘success’;
A instrução acima seleciona o campo ‘field_1’ de todas as linhas da tabela table_name, onde ‘field2’ é ‘sucesso’.
Como testar a funcionalidade CRUD de um software?
Considere o seguinte Exemplo de uma interface de usuário, que permite certos privilégios de usuário para usar o banco de dados MySQL para armazenar os dados.
EXEMPLO | DETALHES DA BASE DE DADOS |
---|---|
1. Pode CRIAR um produto com todos os detalhes, incluindo nome do produto, descrição do produto, preço do produto usando o formulário 'Adicionar produto' | Banco de dados: Shopping_DB Tabela: produto Campos: product_name, product_details, product_price Cria uma linha na tabela ‘produto’ com detalhes adicionados nos campos correspondentes |
2. Pode LER os detalhes do nome do produto, descrição do produto, preço do produto na 'página de detalhes do produto'. | Banco de dados: Shopping_DB Tabela: produto Campos: product_name, product_details, product_price Seleciona todos os dados ou selecione um dado específico da tabela 'produtos' |
3. Pode ATUALIZAR o nome do produto, a descrição do produto, o preço do produto usando o formulário 'Edição do Produto'. | Banco de dados: Shopping_DB Tabela: produto Campos: product_name, product_details, product_price Atualize todos os detalhes ou detalhes específicos em uma linha específica na tabela 'produtos' |
4. Pode EXCLUIR o produto | Banco de dados: Shopping_DB Tabela: produto Campos: product_name, product_details, product_price Exclua todos os detalhes da tabela de 'produtos' descartando a tabela ou exclua uma linha específica dela. |
Vamos verificar como a funcionalidade CRUD pode ser verificada para este caso.
Observação :Sempre conduza o teste CRUD nos dumps do banco de dados, pois esse teste pode causar alterações no banco de dados. O comando abaixo pode ser usado para fazer um dump de todo o banco de dados.
$ mysqldump -u (uname) -p (pass) Shopping_DB> Shopping_DB_backup.sql
# 1) CRIAR Funcionalidade
Adicionando um novo item de produto, as seguintes etapas podem ser seguidas:
- Carregue o formulário 'Adicionar produto'.
- Insira o nome do produto, diga 'nome do teste'.
- Insira a descrição do produto, diga 'este é um detalhe do produto de teste'.
- Insira o preço do produto, diga '100'.
- Envie o formulário.
Verificando o resultado:
- O testador verifica manualmente se o produto é exibido com todos os detalhes no front end do aplicativo de software.
- O testador executa a consulta no servidor de banco de dados MYSQL para verificar se a linha específica está presente
Consulta:
conversor do youtube para mp3 sem vírus
SELECT * FROM products WHERE product_name = ‘test name’;
Resultado da consulta do MySQL:
Uma linha com os detalhes correspondentes deve ser exibida como,
mysql> SELECT * FROM produtos WHERE product_name = ‘test name’; + ------------- + ----------------------------- + ----- ------------ + | product_name | product_details | product_price | + ------------- + ----------------------------- + ----- ------------ + | nome do teste | são detalhes do produto de teste | 100 |
Outros casos a considerar:
- Para alguns sistemas, diferentes usuários terão diferentes privilégios. Nesse caso, os testadores podem ter que verificar a resposta para cada função de usuário.
- Se produtos duplicados não forem permitidos, um testador pode verificar adicionando um produto com os mesmos detalhes novamente. Desta vez, o banco de dados não deve ter uma segunda entrada correspondente ao mesmo produto.
- Se o software permitir a criação de vários produtos de uma vez, o testador pode verificar se todos os detalhes de todos os produtos enviados foram inseridos no banco de dados corretamente ou não.
- Experimente diferentes combinações de entrada.
- Verifique o que acontece durante o tempo de inatividade do servidor.
# 2) Funcionalidade de LEITURA
Para verificar se a entrada criada é legível, as seguintes etapas podem ser seguidas:
- Crie alguns produtos com diferentes combinações de entrada por meio da funcionalidade CREATE, diga o nome do teste 1, o nome do teste 2, o nome do teste 3.
- Experimente pesquisar os produtos.
Verificando o resultado:
- O testador verifica manualmente se os detalhes do produto estão corretos.
- O testador compara os detalhes com aqueles salvos no banco de dados.
Consulta:
SELECT * FROM products WHERE product_name = ‘test name 1’ OR product_name = ‘test name 12’ OR product_name = ‘test name 3’; |
Resultado da consulta do MySQL:
Os detalhes dos produtos selecionados devem ser exibidos. O testador pode verificar e comparar isso com os resultados na IU.
mysql> SELECT * FROM produtos WHERE product_name = ‘test name 1’ OR product_name = ‘test name 12’ OR product_name = ‘test name 3’; + ------------- + ----------------------------- + ----- ------------ + | product_name | product_details | product_price | + ------------- + ----------------------------- + ----- ------------ + | nome do teste 1 | este é o detalhe do produto de teste1 | 100 | nome do teste 2 | este é o detalhe do produto de teste2 | 100 | nome do teste 3 | este é o detalhe do produto de teste3 | 100 |
Outros casos a considerar:
- Veja os itens um de cada vez.
- Veja vários itens de uma vez.
- Tentando visualizar um item que não existe.
- Tente pesquisar em diferentes condições.
- Tente verificar a funcionalidade para diferentes funções de usuário.
- Verifique o que acontece durante o tempo de inatividade do servidor.
# 3) Funcionalidade de ATUALIZAÇÃO
Para editar ou atualizar entradas existentes, as seguintes etapas podem ser seguidas:
- Crie um produto usando a funcionalidade CREATE.
- Edite campos diferentes do produto, diga 'nome do teste' para 'Top decote em V'.
- Enviar
Verificando o resultado:
- O testador verifica manualmente se os detalhes do produto foram alterados
- O testador executa a consulta MYSQL e vê os detalhes
Consulta:
SELECT * FROM products WHERE product_name = ‘V Neck Top’;
Resultado da consulta do MySQL:
Uma linha com os detalhes correspondentes deve ser exibida.
mysql> SELECT * FROM produtos WHERE product_name = ‘V Neck Top’; + ------------- + ----------------------------- + ----- ------------ + | product_name | product_details | product_price | + ------------- + ----------------------------- + ----- ------------ + | Top decote em V | são detalhes do produto de teste | 100 + ------------- + ----------------------------- + ----- ------------ + |
Se você pesquisar com um nome de produto antigo, o banco de dados não deve retornar os detalhes.
Outros casos a considerar:
- Atualize vários itens de uma vez.
- Atualize para um valor-chave que já existe.
- Atualize todos os detalhes ou detalhes parciais.
- Atualize os campos com diferentes combinações de entrada.
- Verifique o recurso atualizado para diferentes privilégios.
- Verifique o que acontece durante os períodos de inatividade do servidor.
# 4) Funcionalidade DELETE
Para verificar a funcionalidade de exclusão, as seguintes etapas podem ser seguidas:
- Crie um produto com a funcionalidade CREATE.
- Exclua o produto.
Verificando o resultado:
- O testador verifica manualmente se o produto foi removido da IU
- O testador verifica manualmente o banco de dados MySQL e confirma que a linha correspondente foi excluída.
Consulta :
SELECT * FROM products WHERE product_name = ‘test name’;
Resultado da consulta do MySQL:
Isso deve exibir o resultado da consulta conforme mostrado abaixo.
mysql>SELECT * FROM products WHERE product_name = ‘test name’; Empty set (0.00 sec)
Outros casos a considerar:
- Exclua vários itens em uma única solicitação.
- Exclua um item atualizado.
- Pegue duas guias e tente dar um pedido de exclusão para um produto de ambas as guias.
Conclusão
O teste de banco de dados é muito importante, pois confirma a segurança e a confiabilidade de um aplicativo de software. A maioria dos aplicativos de software lida com a criação, leitura, atualização e exclusão de dados de / para o banco de dados. De acordo com os requisitos do software, os ciclos CRUD podem variar. Um testador deve planejar os casos de teste com base no ciclo CRUD.
As funcionalidades do CRUD podem ser testadas manualmente e verificadas na interface do usuário e no banco de dados. A consulta SELECT pode ser usada para verificar as mudanças no banco de dados correspondentes a cada operação CRUD.
Você é um especialista em testes CRUD? Você tem algum fato interessante para compartilhar com nossos leitores que são novos no CRUD? Sinta-se à vontade para expressar suas idéias / sugestões na seção de comentários abaixo !!
Leitura recomendada
- Teste de banco de dados com JMeter
- Exemplos de exemplos de perguntas para a certificação do teste ISTQB com respostas
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Principais diferenças entre o teste de caixa preta e o teste de caixa branca
- Download do e-book do Testing Primer
- Uma abordagem simples para XML para teste de banco de dados
- Mais de 40 melhores ferramentas de teste de banco de dados - Soluções populares de teste de dados
- Tutorial de teste de GUI: um guia completo de teste de interface de usuário (IU)