an excellent way data testing using xml technologies
No SDLC , se o aplicativo usa o modelo em cascata, as atividades de teste são planejadas no final. Isso representa um risco de retrabalho em relação aos requisitos, design, código e casos de teste se a equipe de QA identificar defeitos. É melhor evitar esperar até o fim para identificar os defeitos de um aplicativo.
Os testes que não são baseados na execução funcional do aplicativo podem encontrar defeitos sem exigir a liberação de todos os componentes no ambiente de teste. Isso pode ser feito por meio de testes de dados.
O XML e as tecnologias relacionadas usadas para comunicação entre diferentes camadas de um aplicativo fornecem uma oportunidade para realizar os testes que não precisam esperar que o aplicativo inteiro esteja prontamente disponível para teste.
Este documento descreve uma maneira possível de examinar a opção de teste de dados no início do ciclo de vida de um lançamento de produto.
O que você aprenderá:
- Suposição:
- Amostra:
- Propósito:
- Ciclo de vida do gerenciamento de dados de teste
- Conclusão
- Leitura recomendada
Suposição:
Este documento assume que o leitor está familiarizado com conceitos de teste de software e uso fundamental de um banco de dados e tecnologias XML.
Amostra:
Equipe de QA (QA), equipe de dados (DT), desenvolvedor (DEV)
Propósito:
O dados de amostra identificado para testar um produto define a extensão do teste realizado, adiciona confiança nos resultados do teste e na qualidade do produto. A identificação dos dados para um teste depende dos requisitos do teste a ser executado.
Este documento se concentra na validação dos dados de teste antes de vê-los na interface do usuário.
Este processo precisa de gerenciamento de dados de teste para ter resultados de teste eficazes. Os dados, como todos sabemos, podem ser salvos em um banco de dados ou em um arquivo simples. Mas a transferência de dados de / para um banco de dados pode ser tratada usando XML. Existe uma relação muito próxima entre XML (1), XSD (2), XPATH (3) e XSLT (4). (Veja todas as definições abaixo).
(1) XML - é X tensível M arkup eu linguagem. É uma recomendação do World Wide Web Consortium (W3C) para descrever os dados. Com um conjunto de regras de sintaxe corretas aplicadas, pode-se garantir que um documento XML está 'bem formado'
(dois) XSD - Usado para denotar a estrutura de um documento XML. Um documento XML 'bem formado' pode ser validado contra um XSD (esquema XML) para validá-lo
(3) XPATH - Um XML “válido” e “bem formado” deve ser navegado para obter os dados apropriados do XML. As expressões XPATH parecem um caminho de arquivo tradicional em um diretório.
(4) XSLT - é X tensível S folha de papel eu língua T ransformações - Enquanto representa os dados de um XML em uma interface de usuário (IU), qualquer estilo (fonte, cor, tamanho, etc.) pode ser aplicado usando XSLT. O XSLT usa XPath para localizar informações do XML.
Dados apresentados no XML é validado em relação a um esquema (arquivo XSD). O XML pode ser gerado em diferentes formatos com XSLT e XPATH.
diferença entre teste alfa e teste beta
Para o propósito desta discussão, usaremos o seguinte exemplo.
Exemplo - Uma editora possui um site que exibe informações sobre os livros que publicou. Uma das páginas da web exibe um resumo sobre cada capítulo de um livro. O teste deve garantir que o conteúdo é apropriado nesta página da web. A editora já publicou milhões de livros.
Qualquer informação relacionada aos livros publicados é salva em um banco de dados. Ainda assim, a página da Web em questão precisa que um subconjunto dos dados (sobre um novo livro e seus capítulos) seja extraído do banco de dados em um XML.
O XML fornecido abaixo representa os metadados sobre o livro.
Arquivo XML Book.xml
A book on test data Jim 2015 Technical English 120 10 Acknowledgement Introduction What is data List of references
Livro do esquema XML.xsd
Ciclo de vida do gerenciamento de dados de teste
Semelhante a outro processo, gerenciamento de dados de teste tem seus próprios estágios de ciclo de vida (LC).
- Identifique os requisitos de dados
- Plano de coleta de dados
- Construa os dados
- Teste os dados
- Manutenção de dados (não detalhado neste documento porque não é relevante)
# 1. Identifique os requisitos de dados
No exemplo acima, o banco de dados armazena milhões de registros. Se o conteúdo de todos os livros for extraído para um arquivo XML, será necessária uma validação detalhada. Conforme e quando novas informações precisam ser geradas na página da web, o XML e o esquema podem sofrer alterações.
As alterações no XML, XSD, XPATH e XSLT requerem validação adequada. Mas esse teste não precisa esperar pelo lançamento de apresentação, middleware e camada de dados. A equipe de QA pode analisar o XSD para preparar o plano de requisitos de dados.
Estágio do ciclo de vida | Critério de entrada | Atividades / Responsabilidade | Critério de saída |
---|---|---|---|
Identifique os requisitos de dados de teste | Os seguintes documentos estão disponíveis Design de banco de dados, design de IU, especificação de requisitos, arquitetura técnica, diagrama de fluxo de dados, diagramas de caso de uso | Compreenda os requisitos de dados que fazem referência aos documentos dos critérios de entrada (QA, DT, DEV) Requisitos de dados de teste (QA, DT, DEV) - Documenta todas as necessidades de dados para cada tela, mostrando um mapeamento entre os nomes de exibição da tela e o elemento XML correspondente | Revise o documento de requisitos de dados de teste (QA, DEV, DT) |
O processo de identificação de todos os requisitos de dados para um produto deve abordar o seguinte:
a) Cobertura e integridade - Os requisitos identificados cobrem todos os casos de uso?
Exemplo - É muito importante testar as combinações de dados para título, autor, categoria, idioma na amostra XML acima; uma vez que o esquema exige esses campos.
Isso pode ser facilmente resolvido observando o esquema XML que descreve a presença de um elemento / atributo e sua ordem no XML
b) Qualidade - Os dados coletados são da melhor qualidade possível? Os dados de teste usados determinam a qualidade do teste executado no aplicativo.
- Positivo e cenários negativos - O teste deve verificar como o aplicativo se comporta com os dados de entrada válidos / inválidos
O documento de requisitos de dados de teste lista as necessidades de dados em todas as camadas do aplicativo. Os dados do banco de dados podem ser usados diretamente na IU e / ou manipulados (cálculos, concatenação, etc.). Portanto, é necessário capturar todas as necessidades de dados.
código de exemplo do selênio webdriver em java
A tabela abaixo representa um exemplo de tabela de dados:
Nome do Campo | Tipo de dados | Dados de teste | Observações | Resultado do teste |
---|---|---|---|---|
Autor | Fragmento | Campo em branco | Por ser um campo obrigatório. O teste deve falhar. | |
Autor | Fragmento | Autor + @ | Tem caracteres especiais | Este teste deve falhar |
Autor | Fragmento | Nome do autor | Inclui um espaço | Este teste deve passar |
Autor | Fragmento | 123Author | Começa com um número | Este teste deve falhar |
Autor | Fragmento | @!Autor | Começa com caracteres especiais | Este teste deve falhar |
Autor | Fragmento | Autor | Prefixado com espaços | Este teste deve falhar |
No exemplo acima, o uso do tipo de dados string para o campo Autor pode ser evitado. Em vez disso, um padrão pode ser aplicado.
Por exemplo. apenas alfabetos, comece com uma letra maiúscula, sem caracteres especiais etc. A padronizar (restringindo um valor de elemento definido em XSD) pode ser definido como .
Se estiver definido para o autor elemento no exemplo acima, isso significa, o autor elemento deve ter o valor com uma combinação de letras maiúsculas, letras minúsculas e inteiros positivos apenas.
# 2. Plano de coleta de dados
Estágio LC | Critério de entrada | Atividades / Responsabilidade | Critério de saída |
---|---|---|---|
Plano de coleta de dados | Documento de requisitos de dados de teste aprovado | Identifique a frequência das necessidades de dados (DEV, QA) Listar dados de teste (QA) Definir esquema XML (DEV) | Revise a frequência das necessidades de dados e dados de teste (DT) |
# 3. Construa os dados
Estágio LC | Critério de entrada | Atividades / Responsabilidade | Critério de saída |
---|---|---|---|
Dados de construção | Arquivo de solicitação de dados | Construa os dados no DB (DT) Extraia os dados do banco de dados para o XML (DT) Validar o XML em relação ao esquema (DT) Compartilhe o arquivo XML com QA (DT) | O arquivo XML é recebido pela equipe de QA |
# 4. Teste os dados
Estágio LC | Critério de entrada | Atividades / Responsabilidade | Critério de saída |
---|---|---|---|
Teste os dados | Arquivo XML de solicitação de dados | Validar o XML em relação ao esquema para integridade e correção (QA) Atualize o documento de mapeamento com os resultados do teste (QA) | Resultados do teste compartilhados com DEV, equipe DT |
Conforme listado nas tabelas acima, o QA valida o XML em relação ao esquema para verificar se os dados estão disponíveis conforme o esperado. Assim que o esquema corresponder, o conteúdo e sua estrutura podem ser confirmados como corretos. No entanto, isso não confirma que os dados são coletados com precisão pelo sistema.
Como sabemos, o XML mostra uma estrutura em árvore com p não-filho-irmão-ancestral-descendente relação entre os nós.
Veja a tabela abaixo para entender as convenções XPATH mais simples:
Para representar os campos do XML em uma tela (como HTML por exemplo), é utilizada a combinação XSLT - XPATH.
Latest Book
Title Author Publication_Year Category Language Pages
Finalmente, em um navegador, o XML resultante é representado conforme abaixo. Como os dados já foram verificados, o foco do teste pode ser mais na aparência da tela.
Conclusão
- O teste de dados realizado no início do ciclo de vida do teste de desenvolvimento economiza dinheiro, pois o custo de corrigir um bug durante a execução do teste funcional é muito mais do que corrigi-lo no início do ciclo de vida
- O esforço despendido inicialmente na validação do arquivo XML, XPath e XSLT com documentos XSD ajuda a evitar múltiplas iterações do lançamento
- A equipe de QA pode trabalhar em estreita colaboração com a equipe de desenvolvimento e fornecer um serviço de valor agregado
- A equipe de QA pode ajudar a simular várias combinações de dados para garantir a cobertura e exatidão
Tenho certeza que você achará esta técnica útil. Sinta-se à vontade para comentar se tiver alguma dúvida.
Leitura recomendada
- Uma abordagem simples para XML para teste de banco de dados
- 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
- As 10 principais ferramentas populares de data warehouse e tecnologias de teste
- Teste ETL Tutorial de teste de data warehouse (um guia completo)
- Download do e-book do Testing Primer
- O que é teste de mutação: tutorial com exemplos
- Como realizar testes orientados a dados usando a ferramenta TestComplete