simple approach xml database testing
Este artigo ajudará a entender o XML para Conceito de teste de banco de dados , o que é um desafio tipo de teste .
A comparação de dados é uma tarefa crítica para ser realizada com qualidade. Qualquer falha resultará em uma ou mais falhas em um aplicativo.
XML é um formato de mensagem de comunicação eletrônica que contém dados e Banco de Dados é um armazenamento físico com tabelas / colunas contendo dados.
A maioria dos aplicativos troca dados entre si. Essas comunicações podem ser na forma de mensagens XML que contêm dados. Além disso, esses dados estão sendo armazenados em um sistema de banco de dados e, quando necessário, os dados são buscados pelos aplicativos.
Leia também => Uma excelente maneira de testar dados usando tecnologias XML
A maioria dos domínios, como finanças, marketing, vendas, comércio eletrônico, automóvel, logística e manufatura, usa essa técnica para comunicação de dados com aplicativos.
Para fazer o teste de XML para banco de dados bem-sucedido, a entrada mais importante é o documento de mapeamento que define cada elemento no XML versus as colunas no banco de dados.
O documento de mapeamento fornecerá uma representação completa dos elementos (XML) para a associação das colunas (DB). Os valores do elemento XML podem ser uma entrada para tabelas de banco de dados ou vice-versa.
declarar variáveis estáticas em c ++
Com este artigo, você terá um bom entendimento de como testar os dados da mensagem XML para os dados do banco de dados quanto à precisão dos dados.
O que você aprenderá:
- Vamos falar sobre XML e banco de dados:
- Arquitetura do aplicativo:
- Exemplo:
- Como testar:
- Exemplo da vida real:
- Cenários de falha:
- Conclusão:
- Leitura recomendada
Vamos falar sobre XML e banco de dados:
Os aplicativos usam técnicas diferentes para se comunicarem uns com os outros. A comunicação de mensagens usando XML é uma delas. XML é uma técnica confiável para comunicar mensagens (dados) entre dois aplicativos. XML contém um conjunto de elementos que possuem valores específicos. Às vezes, os valores podem ser NULL ou em branco.
O banco de dados armazena dados na forma de tabelas. Um banco de dados contém várias tabelas. Um aplicativo pode alimentar dados na tabela em um banco de dados e também os dados da tabela podem ser buscados por aplicativos quando necessário.
Agora, os aplicativos podem armazenar / buscar dados de tabelas de banco de dados na forma de XML, e é uma técnica bastante confiável / flexível para fazer isso.
Arquitetura do aplicativo:
Como testador, é importante:
- Vá até a Arquitetura do Produto para entender como os aplicativos estão comunicando mensagens entre módulos / bancos de dados / Depois de passar por essas informações e descobrir que existem inconsistências / dúvidas, BA / SA pode ser contatado para esclarecimentos.
- Compreenda os fluxos de dados do aplicativo upstream e downstream.
- O fluxo de dados de entrada e saída para um aplicativo.
Em alguns casos, os aplicativos upstream e downstream podem ser bancos de dados de diferentes aplicativos e estão se comunicando / transmitindo dados em formato XML usando procedimentos armazenados, serviços da Web, APIs, etc. Em outros, pode haver uma combinação de bancos de dados e aplicativos que estão comunicando dados um com o outro.
Exemplo:
Para este artigo de teste de XML para banco de dados, vamos considerar um aplicativo que se comunica com um banco de dados para armazenar dados.
Temos um aplicativo downstream IBAPX , que transmite mensagens em formato XML para um aplicativo de banco de dados MYDBX . Temos um aplicativo upstream OBAPX , que busca dados de MYDBX para um aplicativo de relatório RPTX e é um aplicativo upstream para OBAPX .
Observação: Antes de começar, conheça a tecnologia utilizada para comunicação de middleware (Stored Procedure, Webservice, API, etc) e conheça a arquitetura com clareza. Essas informações geralmente estão no documento de design ou com as equipes SA / BA / Dev.
Agora o aplicativo IBAPX está armazenando dados no aplicativo de banco de dados MYDBX. Para saber qual elemento de xml está mapeado para a coluna da tabela, precisamos nos referir documento de mapeamento . Às vezes, os elementos XML e os nomes das colunas podem ser iguais ou não. A diferença se deve a uma necessidade do negócio.
Por exemplo . digamos que o IBAPX está enviando um elemento com o nome de número da ordem de vendas , mas quando MYDBX está armazenando o mesmo valor de elemento em uma tabela, ele se refere a ele como p_orderid nome da coluna. Isso pode ser devido ao fato de que o elemento XML é referido como entidade relacionada a vendas, quando o mesmo valor é armazenado na tabela, o nome da coluna pode ter sido alterado para se referir ao uso de produção. Isso pode mudar em outros aplicativos de acordo com a necessidade do negócio.
Como testar:
Agora, como exatamente um testador pode testar todos os cenários de forma eficaz e eficiente? Vamos discutir.
Primeiramente, você pega o arquivo XML de entrada e validar a estrutura XML ou seja, elementos. Isso pode ser feito com a ajuda do XSD que define a estrutura do respectivo XML.
O arquivo XSD se parece com XML e define a estrutura do XML, como nome do elemento, tipo de elemento, minOccurs, maxOccurs, etc. Uma vez que a validação XML é feita, exporte-o para o excel. Basta arrastar o arquivo xml para uma nova planilha do Excel. Ele lhe dará um pop-up perguntando como você deseja abrir o arquivo, basta selecionar ‘Como uma tabela XML’. Os dados serão salvos no arquivo excel como tabela.
Você pode ver os dados preenchidos na tabela, consultar a tabela com os dados específicos e buscar o registro. Copie os dados para o mesmo arquivo do Excel em outra planilha. Agora, usando a função EXACT no Excel, você pode comparar facilmente os dados XML com os dados do banco de dados. Certifique-se de comparar apenas os dados, não os nomes das colunas.
Desta forma, você pode comparar vários dados de registro e pode economizar muito esforço manual para comparar os valores de dados do elemento XML com os valores de dados da coluna DB.
Encontre o snap abaixo para referência:
Observação: Na imagem acima, você pode ver que os nomes das colunas não correspondem conforme discutimos antes.
Dica: Às vezes, você pode enfrentar um problema ao comparar XML de tamanho grande com o banco de dados. Nesse caso, a única coisa que você precisa gerenciar é organizar os valores das colunas na planilha do Excel. Lembre-se de uma coisa: A comparação de arquivos do Excel deve ser limitado a 100 MB de tamanho de arquivo . Você encontrará problemas de desempenho se for além.
Como discutimos antes, os valores do elemento XML podem ser uma entrada para tabelas de banco de dados ou vice-versa. Portanto, quando você receber a mensagem XML como arquivo de entrada para um aplicativo a partir de um aplicativo de banco de dados, será necessário executar a técnica de teste acima para comparar os valores de dados de XML e banco de dados. Às vezes, precisamos realizar o teste E2E onde vários aplicativos estão processando os dados.
Exemplo da vida real:
Um usuário encomendou um livro do Flipkart, um site de comércio eletrônico. O ponto de partida é o usuário que faz o pedido de um item e o ponto de chegada é o recebimento da cópia da fatura no centro de comércio eletrônico. Posteriormente, podem ocorrer alguns cenários, como devolução de pedido ou troca de pedido, devolução de pagamento e assim por diante.
Aqui, vários módulos como vendas, estoque, processamento de itens, logística, pagamento, devoluções, ofertas, etc, estão envolvidos para processar um pedido até que o item chegue ao cliente. O fluxo E2E está comunicando mensagens para atender o pedido.
Como um testador, quando você se envolver no teste E2E, pode ser necessário encontrar os cenários em que validará os dados de aplicativo vs banco de dados ou banco de dados para banco de dados ou aplicativo para aplicativo. Aqui, você deve ter uma clareza completa sobre o fluxo de dados E2E, ou seja, quais devem ser os dados recebidos por um aplicativo ou enviados pelo aplicativo e quais são os dados sendo armazenados no banco de dados ou buscados no banco de dados.
Cenários de falha:
Vamos discutir sobre alguns cenários de falha possíveis.
- Um cenário de falha simples é mapeamento incorreto . O mapeamento entre os elementos XML e as colunas do banco de dados deve ser analisado durante a fase de análise ou planejamento por um testador. Discuta todas as questões de mapeamento com a BA / SA para esclarecer dúvidas. Depois que o mapeamento estiver congelado, você pode garantir que os elementos XML e os valores das colunas do banco de dados sejam correspondentes.
- Compare os valores e, se não corresponderem, registre um defeito para resolver o problema. Existem várias possibilidades para o defeito levantado, como defeito de dados - pode ser o problema de dados de teste ; Defeito de código - pode ser o bug no código que analisa os valores dos dados para não mapear; Defeito do artefato - pode ser mapeamento incorreto fornecido pela BA / SA.
- Problema de formato XML - Cabeçalho XML ou metadados ou algumas tags xml incorretas. Nesse caso, o próprio XML falhou ao armazenar os valores dos dados na tabela do banco de dados.
- Incompatibilidade de tipo de dados - O valor do elemento no XML tem mais char em comprimento, que é maior do que a coluna DB pode aceitar. Este será um problema de código e a equipe de desenvolvimento deve fazer as alterações necessárias no comprimento do tipo de dados para essa coluna.
- Falha de ambiente - Ambiente inativo ou aplicativo de banco de dados inativo, o fluxo de dados permanece incompleto.
- Problema de desempenho - Pode ser a quantidade de registros que consistem na mensagem é enorme ou a carga no banco de dados pode ser alta para começar com a consistência de registro muito grande.
- Falha de middleware causará a diminuição do fluxo de dados do aplicativo para o banco de dados.
- Problema de acesso ao banco de dados devido ao qual o aplicativo de entrada não consegue enviar os dados para a respectiva tabela.
Conclusão:
O teste de XML para banco de dados será mais complexo quando uma única mensagem XML armazenar dados em vários sistemas. Além disso, o desempenho do banco de dados para armazenamento / recuperação de grande volume de dados será um desafio para um testador testar tais cenários.
O exemplo acima é um pequeno segmento de atividades de teste que são realizadas em um aplicativo. Um testador pode precisar fazer uma grande quantidade de testes de dados com uma abordagem semelhante.
Deixe-nos saber seus comentários, dúvidas e experiência abaixo.
Leitura recomendada
- Teste de banco de dados com JMeter
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Uma excelente maneira de testar dados usando tecnologias XML (white paper)
- Mais de 40 melhores ferramentas de teste de banco de dados - Soluções populares de teste de dados
- O que é teste de mutação: tutorial com exemplos
- Download do e-book do Testing Primer
- As 10 principais ferramentas de teste de ETL em 2021
- Guia completo de teste de banco de dados (por que, o quê e como testar dados)