Frameworks de automação de teste - coisas que você deve saber!

Índice:

Anonim

Neste tutorial, você aprenderá

  • O que é um Framework?
  • O que é um TEST Automation Framework?
  • Tipos de estrutura de automação
  • 1) Script Linear - Gravação e Reprodução
  • 2) O Test Library Architecture Framework.
  • 3) A estrutura de teste orientada a dados.
  • 4) A estrutura de teste baseada em palavras-chave ou baseada em tabelas.
  • 5) O Hybrid Test Automation Framework.

O que é um Framework?

Em vez de fornecer uma definição livresca de uma estrutura, vamos considerar um exemplo.

Tenho certeza que você participou de um seminário / palestra / conferência onde os participantes foram solicitados a observar as seguintes diretrizes -

  • Os participantes devem ocupar seus lugares 5 minutos antes do início da palestra
  • Traga um caderno e uma caneta para fazer anotações.
  • Leia o resumo para ter uma ideia do que será a apresentação.
  • Os telefones celulares devem estar no modo silencioso
  • Use as portas de saída na extremidade oposta ao alto-falante, caso precise sair no meio da palestra.
  • As perguntas serão respondidas no final da sessão

Você acha que pode conduzir um seminário SEM observar essas diretrizes ????

A resposta é um grande SIM! Certamente, você pode conduzir um seminário / palestra / conferência / demonstração sem as diretrizes acima (na verdade, alguns de nós não as seguiremos, embora existam ... :-)

Mas se as diretrizes forem seguidas, isso resultará em um resultado benéfico, como redução da distração do público durante a palestra e maior retenção e compreensão dos participantes sobre o assunto.

Com base no acima exposto, uma Estrutura pode ser definida como um conjunto de diretrizes que, quando seguidas, produzem resultados benéficos.

O que é um TEST Automation Framework?

Um conjunto de diretrizes como padrões de codificação, manipulação de dados de teste, tratamento de repositório de objetos etc ... que, quando seguido durante o script de automação, produz resultados benéficos como aumento da reutilização de código, maior portabilidade, custo de manutenção de script reduzido, etc. Lembre-se de que essas são apenas diretrizes e não regras; eles não são obrigatórios e você ainda pode fazer o script sem seguir as diretrizes. Mas você perderá as vantagens de ter um Framework.

Tipos de estrutura de automação

1) Scripting Linear
2) A Estrutura da Arquitetura da Biblioteca de Testes.
3) A estrutura de teste orientada a dados.
4) A estrutura de teste baseada em palavras-chave ou baseada em tabelas.
5) O Hybrid Test Automation Framework.

Vamos examiná-los em detalhes -

1) Script Linear - Gravação e Reprodução

É o mais simples de todos os Frameworks e também conhecido como "Registro e Reprodução" . Neste Framework, o Testador registra manualmente cada etapa (Navegação e Entradas do Usuário), Insere Pontos de Verificação (Etapas de Validação) na primeira rodada. Ele então reproduz o script gravado nas rodadas subsequentes.

Ex: considere fazer o login no Flight Reservation Application e verificar se o aplicativo foi carregado no logon bem-sucedido. Aqui, o testador simplesmente registrará as etapas e adicionará as etapas de validação.

SystemUtil.Run "flight4a.exe", "", "", "open"Dialog ("Login"). WinEdit ("Agent Name:"). Defina "Guru99"Dialog ("Login"). WinEdit ("Password:"). Defina "Mercury"Dialog ("Login"). WinButton ("OK"). Clique'A janela de reserva de voo de verificação foi carregada após o logon bem-sucedidoJanela ("Reserva de voo"). CheckPoint ("Reserva de voo")

Vantagens

  • A maneira mais rápida de gerar um script
  • Experiência em automação não necessária
  • A maneira mais fácil de aprender os recursos da ferramenta de teste

Desvantagens

  • Pouca reutilização de scripts
  • Os dados de teste são codificados no script
  • Pesadelo de Manutenção

2) O Test Library Architecture Framework.

Também é conhecido como "Script Estruturado" ou "Decomposição Funcional".

Neste Framework, os scripts de teste são inicialmente gravados pelo método "Record & Playback". Posteriormente, as tarefas comuns dentro dos scripts são identificadas e agrupadas em Funções. Essas funções são chamadas pelo script de teste principal denominado Driver de diferentes maneiras para criar casos de teste.

Ex: Usando o mesmo exemplo acima, a função para fazer login na Reserva de Voo será semelhante a.

Login de função ()SystemUtil.Run "flight4a.exe", "", "", "open"Dialog ("Login"). WinEdit ("Agent Name:"). Defina "Guru99"Dialog ("Login"). WinEdit ("Password:"). Defina "Mercury"Dialog ("Login"). WinButton ("OK"). CliqueFunção Final

Agora, você chamará esta função no script principal da seguinte maneira

Login de chamada ()---------------------------Outras chamadas de função / etapas de teste.---------------------------

Vantagens

  • Um nível mais alto de reutilização de código é alcançado em scripts estruturados em comparação com "Gravação e reprodução"
  • Os scripts de automação são menos dispendiosos para desenvolver devido à maior reutilização de código
  • Manutenção de script mais fácil

Desvantagens

  • Conhecimento técnico é necessário para escrever Scripts usando o Test Library Framework.
  • É necessário mais tempo para planejar e preparar scripts de teste.
  • Os dados de teste são codificados dentro dos scripts

3) A estrutura de teste orientada a dados.

Neste Framework, embora a lógica do Caso de Teste resida nos Scripts de Teste, os Dados de Teste são separados e mantidos fora dos Scripts de Teste. Os dados de teste são lidos dos arquivos externos (arquivos do Excel, arquivos de texto, arquivos CSV, fontes ODBC, objetos DAO, objetos ADO) e carregados nas variáveis ​​dentro do script de teste. Variáveis ​​são usadas tanto para valores de entrada quanto para valores de verificação. Os próprios Scripts de Teste são preparados usando Linear Scripting ou Test Library Framework.

Ex: O desenvolvimento do script de login de reserva de voo usando este método envolverá duas etapas.

Etapa 1) Crie um arquivo de teste - dados que pode ser Excel, CSV ou qualquer outra fonte de banco de dados.

Nome do agente

Senha

Jimmy

Mercúrio

Tina

MERCÚRIO

Cobrar

Mercúrio

Etapa 2) Desenvolva o script de teste e faça referências à sua fonte de dados de teste.

SystemUtil.Run "flight4a.exe", "", "", "open"Dialog ("Login"). WinEdit ("Agent Name:"). Set DataTable ("AgentName", dtGlobalSheet)Dialog ("Login"). WinEdit ("Password:"). Set DataTable ("Password", dtGlobalSheet)Dialog ("Login"). WinButton ("OK"). Clique'A janela de reserva de voo de verificação foi carregadaJanela ("Reserva de voo"). CheckPoint ("Reserva de voo")** Observação "dtGlobalSheet" é a planilha excel padrão fornecida pelo QTP.

Vantagens

  • Mudanças nos Scripts de Teste não afetam os Dados de Teste
  • Casos de teste podem ser executados com vários conjuntos de dados
  • Uma variedade de cenários de teste pode ser executada apenas variando os dados de teste no arquivo de dados externos

Desvantagens

  • É necessário mais tempo para planejar e preparar scripts de teste e dados de teste

4) A estrutura de teste baseada em palavras-chave ou baseada em tabelas.

A estrutura baseada em palavras-chave ou baseada em tabelas requer o desenvolvimento de tabelas de dados e palavras-chave, independentemente da ferramenta de automação de teste usada para executá-las. Os testes podem ser projetados com ou sem o aplicativo. Em um teste orientado por palavras-chave, a funcionalidade do aplicativo em teste é documentada em uma tabela e também em instruções passo a passo para cada teste.

Existem 3 componentes básicos de uma estrutura orientada por palavras-chave viz. Palavra-chave, mapa de aplicativo, função de componente.

O que é uma palavra-chave?

Palavra-chave é uma ação que pode ser executada em um componente GUI. Ex. Para a caixa de texto do componente GUI, algumas palavras-chave (ação) seriam InputText, VerifyValue, VerifyProperty e assim por diante.

O que é o mapa do aplicativo?

Um mapa do aplicativo fornece referências nomeadas para os componentes da GUI. Mapas de aplicativos nada mais são do que " repositório de objetos "

O que é função de componente?

Funções de componente são aquelas funções que ativamente manipulam ou interrogam o componente GUI. Um exemplo de função seria clicar no botão da web com todo tratamento de erros, inserir dados em uma edição da Web com todo tratamento de erros. As funções do componente podem ser dependentes ou independentes do aplicativo.

Ex : para entender a exibição de palavras-chave, vamos dar o mesmo exemplo. Envolve 2 etapas

Etapa 1 : Criando a tabela de dados (diferente da tabela de dados de teste criada no Data Driven Framework). Esta tabela de dados contém a ação a ser executada nos objetos da GUI e os argumentos correspondentes, se houver. Cada linha representa uma etapa de teste.

Objeto

(MAP do aplicativo)

Açao

(PALAVRAS-CHAVE)

Argumento

WinEdit (nome do agente)
Definir
Guru99
WinEdit (senha)
Definir
Mercúrio
WinButton (OK)
Clique
Janela (reserva de voo)
Verificar
Existe

Etapa 2 : escrever código na forma de funções de componentes.

Depois de criar sua (s) tabela (s) de dados, você simplesmente escreve um programa ou um conjunto de scripts que lê em cada etapa, executa a etapa com base na palavra-chave contida no campo Ação, executa a verificação de erros e registra todas as informações relevantes. Este programa ou conjunto de scripts seria semelhante ao pseudocódigo abaixo:

Função principal (){Chame ConnectTable (nome da tabela) {// Função de chamada para conectar-se à tabela.while (Call TableParser ()! = -1) // Função de chamada para análise e extração de valores da tabela.{Passe os valores para as funções COMPONENTES apropriadas. Conjunto semelhante (Nome do objeto, Argumento) ex.Set (Nome do agente, Guru99).}}Chame CloseConnection () // Função para fechar a conexão após a execução de toda a operação.} // Fim do principal

Isso é tudo para Keyword Driven Framework.

A vantagem do Keyword Driven Framework é que as palavras-chave são reutilizáveis. Para entender isso, considere que você deseja verificar a operação de login para um site, diga YAHOO MAIL. A mesa ficará assim -

Objeto (MAPA DE APLICAÇÃO) Ação (KEYWORD) Argumento
WebEdit (UserName) Definir Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo.
WebEdit (senha) Definir xxxxx
WebButton (OK) Clique
Janela (Yahoo Mail) Verificar Cargas

Se você observar, neste caso, o conjunto de palavras-chave, clicar, verificar permanece o mesmo para o qual as funções de componente correspondentes já foram desenvolvidas. Tudo o que você precisa fazer é mudar o Mapeamento do Aplicativo (Repositório de Objetos) da Reserva de Voo anterior para o Yahoo Mail, com uma mudança nos valores dos argumentos e o mesmo script funcionará!

Vantagens

  • Fornece alta reutilização de código
  • Independente de ferramenta de teste
  • Independente do aplicativo em teste, o mesmo script funciona para AUT (com algumas limitações)
  • Os testes podem ser projetados com ou sem AUT

Desvantagens

  • O investimento inicial sendo muito alto, os benefícios disso só podem ser percebidos se o aplicativo for consideravelmente grande e os scripts de teste precisarem ser mantidos por alguns anos.
  • É necessário um alto conhecimento em automação para criar a estrutura orientada por palavras-chave.

NOTA: Embora o Micro Focus UFT se anuncie como KeyWord Driven Framework, você não pode obter a ferramenta de teste completa e a idependência do aplicativo usando o HP UFT.

5) O Hybrid Test Automation Framework.

Como o nome sugere, essa estrutura é a combinação de uma ou mais estruturas discutidas acima, tirando seus pontos fortes e tentando mitigar seus pontos fracos. Essa estrutura híbrida de automação de teste é aquela em que a maioria das estruturas evolui ao longo do tempo e em vários projetos. A indústria máxima usa Keyword Framework em uma combinação do método de decomposição de Função.

PS: Outros frameworks que vale a pena mencionar são

Estrutura de Modularidade de Teste

Nesta estrutura, uma tarefa comum no script de teste é agrupada como Módulos.

Ex : Usando Ações no uso de QTP pode criar um Modualr Scripts

Script de amostra para login

SystemUtil.Run "flight4a.exe", "", "", "open"Dialog ("Login"). WinEdit ("Agent Name:"). Defina "Guru99"Dialog ("Login"). WinEdit ("Password:"). Defina "Mercury"Dialog ("Login"). WinButton ("OK"). Clique'Fim do Script

Agora você pode chamar essa ação no script principal da seguinte maneira -

RunAction ("Login [Argumento]", oneIteration)

Teste de Processo de Negócios (BPT)

Essa estrutura divide grandes processos de negócios em componentes que podem ser reutilizados várias vezes no mesmo script de teste ou em scripts de teste diferentes. Por exemplo, o processo empresarial de reserva de um voo é dividido em componentes como login, localização de voos, reserva, pagamento e logout, que podem ser reutilizados no mesmo processo empresarial ou em processos diferentes. Além disso, o BPT facilita a coordenação mais próxima entre SME's e engenheiros de automação.