QTP/UFT Framework de Automação: Orientado a Dados, Palavras-chave e Híbrido

⚡ Resumo Inteligente

Estruturas de automação em QTP/UFT Organize os scripts de teste, os dados e as funções reutilizáveis ​​para que um único teste possa abranger vários casos. Os modelos orientados a dados, orientados a palavras-chave e híbridos são adequados para diferentes combinações de entradas e lógica reutilizável.

  • 🔘 Design orientado a dados: Os scripts leem dados de entrada do Excel ou de um banco de dados e gravam os resultados de volta, portanto, um teste executa várias iterações.
  • ☑️ Design orientado por palavras-chave: Funções definidas pelo usuário tornam-se palavras-chave como Login e OpenOrder, chamadas a partir de um script de driver compacto.
  • ✅ Design híbrido: As funções de palavra-chave carregam a lógica, enquanto os dados parametrizados alimentam as etapas que precisam de várias entradas.
  • 🧪 Repositório de objetos primeiro: Todos os controles utilizados pelo teste devem ser adicionados antes que qualquer script possa identificá-los de forma confiável.
  • 🛠️ Ferramentas atuais: QTP é agora OpenText Testes funcionais (UFT Uma delas), e o VBScript continua sendo sua linguagem de script suportada.

Estruturas de automação de dados, palavras-chave e híbridas em QTP/UFT

Estrutura orientada a dados

O Data-Driven Framework é uma estrutura orientada por diferentes combinações de dados de entrada e saída.

Uma forma de transmitir diferentes combinações de dados é através de ParametrizaçãoNeste método, utilizamos diferentes características de QTP.

Porém, no DDF, os scripts são escritos para fazer parametrização. Este tipo de framework é útil quando a funcionalidade do AUT deve ser testada com diversas entradas e capturar as respectivas saídas. Essas entradas podem ser lidas de um arquivo externo como Banco de Dados, Excel, OutlookO arquivo de texto, etc., e as respectivas saídas são gravadas de volta na fonte externa correspondente, conforme ilustrado abaixo.

Fluxograma do framework orientado a dados: leitura de dados de entrada e gravação de dados de saída.

As etapas gerais envolvidas na estrutura orientada a dados são:

  1. Prepare o Caso de teste para o aplicativo em teste
  2. Adicione os objetos de AUT a OR
  3. Escreva os scripts com base no caso de teste

Neste curso UFT tutorialDesenvolveremos um modelo de estrutura orientada a dados para um caso de teste de exemplo, utilizando o Excel como fonte externa de dados de teste.

Etapa 1) Prepare o caso de teste para o aplicativo em teste.

Caso de teste: abra o número do pedido e obtenha o nome do cliente desse pedido. Repita o mesmo processo para diferentes números de pedido

Fonte externa: Arquivo Excel

O formulário de pedido de reserva de voo foi usado como exemplo de caso de teste para a estrutura.

A fonte externa para este exemplo é um arquivo Excel. O script VB está em OpenText Testes funcionais (UFT Uma, anteriormente Micro Focus UFTÉ necessário escrever um código para abrir um arquivo Excel a fim de ler os dados de teste. Isso pode ser feito de forma hierárquica.

1. Um arquivo Excel é aberto pela primeira vez como um aplicativo

2. Em seguida, a pasta de trabalho deve ser aberta no local especificado

3. A planilha onde os dados do teste estão presentes.

4. Por fim, a célula deve ser lida.

Etapa 2) Adicione os objetos do AUT ao OR

Assim que o caso de teste estiver pronto, comece a adicionar todos os objetos necessários ao repositório. Em nosso caso de teste, os objetos que precisam ser adicionados são os seguintes

1. ícone “Abrir pasta” no Aplicativo de reserva de voo:

Ícone "Abrir pasta" adicionado à barra de ferramentas. QTP/UFT repositório de objetos

2. A caixa de seleção “Número do Pedido” pode ser acessada ao clicar no ícone “Abrir Pasta”:

Objeto da caixa de seleção "Nº do Pedido" capturado da caixa de diálogo "Abrir Pedido".

3. A caixa WinEdit do número do pedido (onde os números são inseridos):

Caixa WinEdit para o número do pedido adicionado ao repositório

4. O botão OK:

Botão OK do diálogo Abrir Pedido

5. O campo “Nome” é uma caixa de diálogo do Windows. Este campo será preenchido com um nome assim que o botão OK for clicado para um determinado número de pedido.

Campo WinEdit que recebe o nome do cliente

Depois que todos os objetos necessários forem adicionados, o repositório de objetos aparecerá da seguinte forma:

Efetuado QTP/UFT repositório de objetos listando todos os cinco objetos de Reserva de Voo

Etapa 3) Escreva os scripts com base no caso de teste.

Antes de executar o script, certifique-se de que o arquivo Excel que contém os dados de teste foi salvo e fechado.

O script abaixo consiste em ler o número do pedido do Excel e atribuí-lo à aplicação através da variável “vOrder” e escrever o nome do cliente da aplicação através da variável “vNome”.

Nome do Excel: FlightDDF.xlsx

Nome da Folha: Folha1

Script VBScript que lê o número do pedido do Excel e escreve o nome do cliente de volta.

saída

Depois que o script acima for executado, a saída pode ser obtida do Excel da seguinte forma:

Planilha do Excel mostrando os nomes dos clientes digitados pelo script baseado em dados.

A estrutura orientada a dados também pode ser desenvolvida por meio da escrita de código. programação descritiva.

Usando banco de dados como fonte externa para DDF

O mesmo caso de teste pode ser executado se a fonte externa for um banco de dados usando as seguintes etapas

  1. Escreva VBScript para estabelecer a conexão com o banco de dados
  2. VBScript para abrir um conjunto de registros ou uma tabela.
  3. VBScript para abrir o campo desejado
  4. A célula específica é lida no campo.

Microsoft Tabela de banco de dados Access usada como fonte externa para DDF

Script

To Establish a Microsoft Database connection

Motorista = {Microsoft Driver de acesso (*.mdb)}; DBQ =

Nome do conjunto de registros: OpenOrder

Nome dos campos: Número do pedido, Nome do cliente

PS: Microsoft O Access 2010 não pode ser conectado usando o script abaixo.

Script VBScript que estabelece a conexão com o banco de dados Access e lê o conjunto de registros.

saída

Saída do banco de dados mostrando o nome do cliente recuperado para cada número de pedido.

Vantagens do DDF

  • Um grande número de dados de teste pode ser lido e gravado no arquivo externo em um único teste
  • A instrução Loop é usada para repetir as mesmas etapas para várias iterações. Conseqüentemente, o esforço de codificação é reduzido
  • Como os dados são lidos e gravados diretamente no arquivo externo, não há necessidade de copiar, colar ou exportar dados para utilizá-los
  • Os dados de teste podem ser lidos de um arquivo externo e as saídas podem ser gravadas em qualquer outro arquivo externo

Desvantagens do DDF

  • Conhecimento de script é necessário para desenvolver esta estrutura
  • Às vezes, a quantidade ou combinação de dados provenientes de uma fonte externa, como um banco de dados, pode tornar o sistema mais lento ou até mesmo causar sua falha. QTP

Estrutura orientada por palavras-chave

O Framework Orientado por Palavras-chave é um framework onde as palavras-chave direcionam o teste. Aqui A palavra-chave se refere a funções definidas pelo usuário. Nesta estrutura, palavras-chave são criadas para realizar uma etapa de teste específica ou um caso de teste. Essas palavras-chave são então chamadas no teste do driver para executar vários casos de teste no mesmo teste.

Estrutura de framework orientada por palavras-chave, com palavras-chave chamando funções definidas pelo usuário.

Em geral, os frameworks podem ser desenvolvidos de três maneiras para poderem ser testados.

  1. Grave e execute o teste
  2. Adicione objetos ao repositório local e escreva os scripts para todas as etapas de teste
  3. Escreva uma programação descritiva para todas as etapas do teste

Neste tutorial, o KDF é desenvolvido gravando e executando o teste.

Nosso objetivo é executar um único teste para cinco casos de teste diferentes, como fazer login no aplicativo, inserir um pedido, abrir um pedido, excluir um pedido e fechar o aplicativo. Portanto, registraremos as etapas de teste para esses casos de teste e criaremos as funções com as palavras-chave Login, InsertOrder, OpenOrder, DeleteOrder e CloseApp respectivamente.

Caso de teste1: Faça login no aplicativo

Palavra-chave: Conecte-se ()

Roteiro Gravado:

Gravação de VBScript para a palavra-chave "Login" da tela de login de reserva de voos.

Caso de teste 2: insira o pedido

Palavra-chave:InserirOrdem()

Roteiro Gravado:

Script VBScript gravado para a palavra-chave InsertOrder.

Caso de teste 3: abra o pedido

Palavra-chave:Ordem aberta()

Roteiro Gravado:

Script VBScript gravado para a palavra-chave OpenOrder.

Caso de teste 4: Excluir o pedido

Palavra-chave:Excluir pedido()

Roteiro Gravado:

Script VBScript gravado para a palavra-chave DeleteOrder.

Caso de teste 5: feche o aplicativo

Palavra-chave:FecharApp()

Roteiro Gravado:

Script VBScript gravado para a palavra-chave CloseApp.

As funções criadas para diferentes casos de teste são salvas em uma biblioteca de funções e associadas ao teste principal. Basta chamar as palavras-chave para os casos de teste necessários no teste principal, reduzindo assim o tamanho do script do driver no teste principal.

O script do driver para esta estrutura simples é semelhante a:

Script do driver chamando todas as cinco palavras-chave a partir de uma única QTP/UFT teste

Ao executar o script acima, o resultado real de todos os cinco casos de teste pode ser obtido em um único teste.

Vantagens

  • Qualquer número de casos de teste pode ser executado em um único teste apenas chamando suas respectivas palavras-chave
  • Escrever programação descritiva geral para todos os objetos web/windows e chamá-los como palavras-chave ajudará na execução do mesmo teste para diferentes aplicativos dinâmicos
  • Reduz o tamanho do script do driver

Desvantagens

  • O tempo necessário para desenvolver essas estruturas é muito alto se houver poucos casos de teste para executar
  • O registro das etapas nem sempre é usado ao projetar o KDF para muitas aplicações no mesmo teste.

Estrutura Híbrida

Uma estrutura híbrida é uma combinação de Data-Driven Framework (DDF) e Keyword-Driven Framework (KDF), onde vários casos de teste com diversas entradas podem ser executados no mesmo teste.

Neste artigo, os mesmos casos de teste usados ​​no KDF serão executados em um único teste. As palavras-chave e os scripts para todos os casos de teste são os mesmos do KDF. No entanto, o caso de teste TC3: Abrir o pedido foi parametrizado. Portanto, o script para este caso de teste foi escrito para receber o número do pedido de um arquivo Excel e para inserir o nome do cliente no arquivo Excel.

Estrutura híbrida que combina funções de palavras-chave com dados parametrizados do Excel.

Caso de teste1: Faça login no aplicativo

Palavra-chave: Conecte-se ()

Caso de teste 2: insira o pedido

Palavra-chave:InserirOrdem()

Caso de teste3: Abra o pedido para vários números de pedido

Palavra-chave:Ordem aberta()

Descriptíon: Aqui é utilizado o mesmo script usado para desenvolver um DDF, conseguindo assim o caso de teste para diversas iterações.

Script:

Script parametrizado OpenOrder com leitura de vários números de pedidos do Excel.

Caso de teste 4: Excluir o pedido

Palavra-chave:Excluir pedido()

Caso de teste 5: feche o aplicativo

Palavra-chave:FecharApp()

Seguindo este método simples, a parametrização do TC3 é alcançada. Se aplicável, todos os demais casos de teste também podem ser parametrizados no mesmo teste.

O exemplo acima é uma maneira muito simples de projetar uma estrutura híbrida. A mesma estrutura também pode ser obtida com programação descritiva.

Vantagens

  • O tempo necessário para executar o teste projetado com uma estrutura híbrida é relativamente menor em comparação com outras estruturas
  • Isso pode ser usado quando precisamos de todos os casos de teste e entradas associadas a um caso de teste específico, no mesmo conjunto de testes.

Desvantagem

  • É necessário um conhecimento claro sobre a combinação de diferentes estruturas.

Perguntas Frequentes

Não. O QuickTest Professional tornou-se Micro Focus. UFT, Em seguida UFT Um, e agora é vendido como OpenText Testes funcionais. Os modelos de estrutura apresentados aqui ainda são válidos.

Além das abordagens baseadas em dados, palavras-chave e híbridas, as equipes também utilizam designs lineares de gravação e reprodução, modulares, com arquitetura de biblioteca e orientados a comportamento. A maioria dos conjuntos de soluções mais maduros acaba sendo híbrida.

AI em OpenText Os testes funcionais identificam os controles pela aparência e pelo rótulo, em vez de propriedades técnicas, garantindo que os testes sobrevivam às alterações da interface do usuário. Os assistentes de IA também explicam rapidamente o VBScript legado.

Sim. Travas deslizantes portáteis Copilot Sugere-se o uso de loops em VBScript, automação do Excel e tratamento de erros, o que se adequa a bibliotecas de palavras-chave. RevVeja todas as sugestões, porque os nomes dos repositórios de objetos e UFTOs métodos específicos devem ser compatíveis com seus ativos.

VBScript é a única linguagem totalmente suportada internamente. UFT Um único ambiente de desenvolvimento integrado (IDE). Excel, banco de dados e acesso a arquivos são executados por meio de objetos VBScript, como demonstra este passo a passo.

O Excel é adequado para conjuntos de dados pequenos, mantidos pelo testador. Um banco de dados oferece melhor escalabilidade e suporta acesso compartilhado, mas grandes conjuntos de resultados podem tornar o teste mais lento, como alerta o script de origem.

Sim. Os testes criados com qualquer um desses designs podem ser armazenados e acionados a partir de OpenText ALM ou uma tarefa de CI, para que a mesma biblioteca de palavras-chave seja executada automaticamente após cada compilação.

Comece com uma abordagem orientada a dados, gravando um teste e utilizando uma planilha do Excel. Assim que os passos estiverem estáveis, envolva-os em funções com palavras-chave e, em seguida, combine ambos em um design híbrido.

Resuma esta postagem com: