qtp tutorial 18 data driven
Estamos trabalhando para descobrir como derivar em um Estrutura de automação que funciona melhor para um determinado projeto de teste e também define certas estruturas que já existem.
O exemplo que estávamos usando no artigo da estrutura QTP anterior estava criando uma nova conta do Gmail.
Para começar, codificamos a criação de um novo cenário de conta apenas gravando e reproduzindo de maneira linear. Vendo como faltava modularidade, legibilidade e reutilização, nós o dividimos em funções que seriam referenciadas como palavras-chave daqui para frente.
=> Clique aqui para a série de tutoriais de treinamento QTP
Conseguimos modularidade, legibilidade e reutilização por meio desse método, mas precisávamos tornar o programa ainda mais robusto para que ele pudesse assumir diferentes conjuntos de valores sem ter que modificar o próprio script.
Isso é exatamente o que vamos conseguir com os dados que conduzem os testes.
O que você aprenderá:
Estrutura de automação orientada a dados usando QTP
A criação de várias contas de usuário do Google é a tarefa que tentaremos realizar usando esta estrutura.
No exemplo anterior, codificamos permanentemente o nome, o sobrenome, os detalhes do ID do usuário, etc. em nosso código ao tentar criar uma conta. Teremos que separar o código dos dados se quisermos atingir o aspecto de direcionamento de dados para este script.
Os dados devem vir de uma fonte que não seja o próprio programa.
Normalmente, a entrada de dados pode ser qualquer coisa:
- Arquivos MS Excel
- Base de dados
- Arquivos de texto
- Arquivos XML… .etc.
Os arquivos Excel são os mais usados. O próprio fato de que cada ação no QTP vem integrada com uma folha de dados própria explica por que isso acontece.
ciclo de vida do bug em teste de software
Você pode usar uma ou mais fontes de dados para um único script. A planilha de excel que vem com a ação pode ser usada ou você pode usar uma planilha de excel externa também. Basicamente, uma planilha de dados pode ser qualquer arquivo externo relevante.
Por exemplo,
Este é o código de que precisamos para conduzir os dados:
Browser('Gmail: Email from Google').Page('GoogleAccounts').WebEdit('FirstName').Set 'swati' Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('LastName').Set 's' Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('GmailAddress').Set 'test'
Todos os dados agora estão codificados. Vamos agora ver como podemos obter esses valores da folha de dados.
Vá para a visão de especialista da declaração em QTP e clique na coluna de valor para uma etapa. A seguinte janela é aberta:
Selecione a opção de parâmetro, escolha um nome para o parâmetro (este será o nome da coluna na folha de dados) e escolha se você vai usar a folha global ou folha local (folha global está disponível para todas as ações em um teste, mas a planilha local é específica para a ação atual).
Para o campo ‘Nome’ na tela, QTP fornece um valor padrão. O usuário tem a opção de mantê-lo igual ou alterá-lo.
Ao clicar em OK, uma nova coluna é criada na tabela de dados.
É assim que a folha de dados que contém 3 conjuntos de nome, sobrenome e ID da conta se parece:
Uma vez parametrizado, o código se parece com:
Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('FirstName').Set DataTable('G_First_Name', dtGlobalSheet) Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('LastName').Set DataTable('G_Last_Name', dtGlobalSheet) Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('GmailAddress').Set DataTable('gmail_address', dtGlobalSheet)
Se tivermos que criar esses 3 IDs de usuário com os dados nas planilhas, precisamos ter 3 iterações. A iteração nada mais é do que um teste.
Assim que os dados estiverem configurados, teremos que instruir o QTP sobre quantas vezes esse código precisa ser executado, ou quantas iterações.
É assim que fazemos: Vá para Arquivo-> Configurações e Executar (Clique na imagem para ampliá-la)
tipos de herança em c ++
Na tela acima, defina as propriedades de iteração conforme necessário.
Como alternativa, você pode instruir o QTP sobre as iterações programaticamente. Como sempre, isso permite mais controle e também mais habilidades de programação. Portanto, depende realmente do nível de conforto do testador escolher um desses métodos.
Os componentes em uma estrutura baseada em dados são:
- Script de teste
- Arquivos de dados
- Biblioteca funcional compartilhada (se existe ou pode ser um programa linear)
- Repositório de objetos (novamente, este componente não existirá se a programação descritiva for usada para criar objetos)
Os resultados do teste mostrarão um status 'Aprovado' ou 'Reprovado' para cada teste executado.
Além da tabela de dados que vem por padrão, podemos usar qualquer arquivo Excel externo como folha de entrada.
Estrutura Híbrida
No exemplo acima, você usou palavras-chave (nomes das funções que o usuário criou) e conduziu o teste por dados para garantir que diferentes usuários sejam criados ao mesmo tempo. Isso nada mais é do que uma estrutura híbrida.
A combinação de quaisquer duas ou mais estruturas que discutimos até agora é uma estrutura híbrida.
Na minha experiência, nenhum framework funciona bem para um determinado projeto. A estrutura híbrida é a que é usada com mais frequência.
Alguns pontos importantes sobre frameworks:
- A estrutura é apenas uma solução que funcionou melhor em uma determinada situação, mas não deve ser interpretada como um conjunto de regras a serem seguidas definitivamente. Deve ser visto mais como diretrizes.
- Pode haver muitos outros frameworks em uso, nós apenas listamos e explicamos os mais comuns
- Nomenclatura - Pessoas diferentes tratam de seus frameworks com nomes diferentes. Portanto, se os nomes forem ligeiramente diferentes de um aplicativo para outro, é normal.
- A maioria das estruturas pode ser usada em conjunto quando qualquer uma delas não pode fornecer uma solução completa para seus objetivos de teste.
Conclusão
Para facilitar o entendimento, realmente simplificamos os conceitos da estrutura aqui. Se você tiver algum problema relacionado à estrutura que esteja enfrentando e que não seja abordado nestes artigos, informe-nos. Nós definitivamente tentaremos responder às suas perguntas. Sinta-se à vontade para postar suas perguntas.
=> Visite aqui para a série de tutoriais de treinamento QTP
Leitura recomendada
- QTP Frameworks - Test Automation Frameworks - Exemplos de estruturas lineares e baseadas em palavras-chave - QTP Tutorial nº 17
- Como funcionam os testes orientados a dados (exemplos de QTP e Selenium)
- Data Driven Framework no Selenium WebDriver usando Apache POI
- Teste baseado em dados ou parametrizado com Spock Framework
- Como realizar testes orientados a dados usando a ferramenta TestComplete
- Tutoriais QTP - 25+ Tutoriais de treinamento do Micro Focus Quick Test Professional (QTP)
- Mineração de dados: processo, técnicas e questões importantes na análise de dados
- Parametrização em QTP explicada com exemplos (Parte 1) - QTP Tutorial # 19