Estrutura de automação de testes: o que é, Architextura e tipos

O que é Framework em testes de automação?

A Estrutura de automação de testes é um conjunto de diretrizes como padrões de codificação, manipulação de dados de teste, tratamento de repositório de objetos, etc. regras; eles não são obrigatórios e você ainda pode criar scripts sem seguirwing As diretrizes. Mas você perderá as vantagens de ter um Framework.

Por que você precisa de uma estrutura?

Vamos considerar um exemplo para entender por que você precisa de um Framework.

Tenho certeza de que você participou de um seminário/palestra/conferência onde os participantes foram convidados a observar o seguintewing diretrizes –

  • Os participantes deverão ocupar os seus lugares 5 minutos antes do início da palestra.
  • Leve 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 os portões de saída na extremidade oposta ao palestrante caso precise sair no meio da palestra.
  • As dúvidas serão tiradas ao final da sessão.

Você acha que pode conduzir um seminário SEM observando estas 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, mesmo que estejam definidas!

Mas se as diretrizes forem seguidas, isso resultará em resultados benéficos, como redução da distração do público durante as palestras, aumento da retenção de participantes e compreensão do assunto.

Com base no exposto, um Framework pode ser definido como um conjunto de diretrizes que, quando seguidas, produzem resultados benéficos.

Tipos de estruturas de automação de testes

Abaixo estão os diferentes tipos de estruturas de teste automatizado:

  • 1) Script Linear
  • 2) A Biblioteca de Testes ArchiEstrutura de arquitetura.
  • 3) O baseado em dados ensaio Estrutura.
  • 4) A estrutura de teste baseada em palavras-chave ou baseada em tabelas.
  • 5) A Estrutura de Automação de Teste Híbrida.

Vamos examiná-los em detalhes –

1) Scripting Linear – Gravação e Reprodução

É o mais simples de todos os Frameworks de Automação de Teste e também conhecido como “Gravação e reprodução”. Neste Teste de automação 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 roteiro gravado nas rodadas subsequentes.

Exemplo: Considere fazer login Solicitação de reserva de voo e verificar se o aplicativo foi carregado após o logon bem-sucedido. Aqui, o testador irá simplesmente registrar as etapas e adicionar etapas de validação.

SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
Dialog("Login").WinEdit("Password:").Set "Mercury"
Dialog("Login").WinButton("OK").Click
'Check Flight Reservation Window has loaded after successful log-on
Window("Flight Reservation").Check CheckPoint("Flight Reservation")

Vantagens

  • 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) A Biblioteca de Testes ArchiEstrutura de arquitetura

Também é conhecido como “Script estruturado” or “Decomposição Funcional”.

Neste Automation Testing Framework, os scripts de teste são inicialmente registrados por “Gravar e reproduzir”. Later, 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 chamado Dirigir de maneiras diferentes para criar casos de teste.

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

Function Login()
SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
Dialog("Login").WinEdit("Password:").Set "Mercury"
Dialog("Login").WinButton("OK").Click
End Function

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

Call Login()
---------------------------
Other Function calls / Test Steps.
---------------------------

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 de desenvolver devido à maior reutilização de código
  • Manutenção de script mais fácil

Desvantagens

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

3) A estrutura de testes baseados em dados

Neste quadro, embora Caso de teste lógica reside em Scripts de Teste, os Dados de Teste são separados e mantidos fora dos Scripts de Teste. Os dados de teste são lidos de arquivos externos (arquivos Excel, arquivos de texto, arquivos CSV, fontes ODBC, objetos DAO, objetos ADO) e são carregados nas variáveis ​​dentro do script de teste. As 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.

Exemplo: O desenvolvimento do script de login da reserva de voo usando esse método envolverá duas etapas.

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

Nome do agente Senha
Jimmy Mercúrio
Tina MERCURY
Bill Mercúrio

Passo 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").Click
'Check Flight Reservation Window has loaded
Window("Flight Reservation").Check CheckPoint("Flight Reservation")
**Note "dtGlobalSheet" is the default excel sheet provided by QTP.

Vantagens

  • As alterações nos scripts de teste não afetam os dados de teste
  • Os 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 de automação baseada em palavras-chave ou baseada em tabelask developrequer tabelas de dados e palavras-chave, independente do Ferramenta de automação de teste usado para executá-los. 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, bem como em instruções passo a passo para cada teste.

Existem 3 componentes básicos de uma estrutura baseada em palavras-chave viz. Palavra-chave, mapa de aplicação, função de componente.

O que é uma palavra-chave?

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

O que é o Mapa de Aplicação?

Um mapa de aplicativos fornece referências nomeadas para componentes 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 manipulam ou interrogam ativamente o componente GUI. Um exemplo de função seria clicar no botão da web com todo o tratamento de erros, inserir dados em uma edição da Web com todo o tratamento de erros. As funções dos componentes podem ser dependentes ou independentes da aplicação.

Exemplo: Para entender a visualização de palavras-chave, vamos dar o mesmo exemplo. Envolve 2 etapas

Passo 1: Criando Tabela de Dados (Diferente da Tabela de Dados de Teste criada no Data Driven Framework). Esta tabela de dados contém ações a serem executadas em objetos GUI e argumentos correspondentes, se houver. Cada linha representa uma etapa de teste.

objeto Açao Social
(Aplicativo MAPA) (PALAVRAS-CHAVE) Argumento
WinEdit (nome do agente) Conjunto Guru99
WinEdit(Senha) Conjunto Mercúrio
Botão Win (OK) Clique
Janela (Reserva de Voo) verificar Existe


Passo 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ê cada etapa, executa a etapa com base na palavra-chave contida no campo Ação, executa a verificação de erros e registra qualquer informação relevante. Este programa ou conjunto de scripts seria semelhante ao pseudocódigo abaixo:

Function main()
{
  Call ConnectTable(Name of the Table) { //Calling Function for connecting to the table.
    while (Call TableParser() != -1) //Calling function for Parsing and extracting values from the table.
    {
      Pass values to appropriate COMPONENT functions.Like Set(Object Name, Argument) ex.Set(Agent Name, Guru99).
    }
  }
  Call CloseConnection() //Function for Closing connection after all the operation has been performed.
} //End of main

Isso é tudo para o 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 o login operapara um site, diga YAHOO MAIL. A tabela ficará assim –

objeto Açao Social
(MAPA DE APLICAÇÃO) (PALAVRA-CHAVE) Argumento
WebEdit(Nome de usuário) Conjunto abc@yahoo.com
WebEdit(Senha) Conjunto xxxxx
Botão Web (OK) Clique
Janela (Yahoo Mail) verificar Cargas

Se você observar neste caso as palavras-chave Set , Click , Verify permanecem as mesmas para as quais as funções dos componentes correspondentes já foram desenvolvidas. Tudo o que você precisa fazer é alterar o mapeamento do aplicativo (repositório de objetos) da reserva de voo anterior para o Yahoo Mail , com uma alteração nos valores dos argumentos e o mesmo script funcionará!

Vantagens

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

Desvantagens

  • Sendo o investimento inicial bastante alto, os benefícios disso só poderão ser obtidos se a aplicação for consideravelmente grande e os scripts de teste forem mantidos por alguns anos.
  • É necessária alta experiência em automação para criar a estrutura baseada em palavras-chave.

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

5) A estrutura de automação de testes híbridos

Como o nome sugere, esta estrutura é a combinação de uma ou mais estruturas de automação discutidas acima, aproveitando seus pontos fortes e tentando mitigar seus pontos fracos. A estrutura de automação de controle de qualidade de teste híbrido é o que a maioria das estruturas de automação de teste evoluem 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ções.

PS: Outras estruturas de automação que valem a pena mencionar são

Estrutura de modularidade de teste

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

Exemplo: Usar ações no uso do QTP pode criar scripts modulares

Exemplo de script para login

SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
Dialog("Login").WinEdit("Password:").Set "Mercury"
Dialog("Login").WinButton("OK").Click
'End of Script

Agora você pode chamar esta ação no script principal da seguinte maneira –

RunAction ("Login[Argument]", oneIteration)

Teste de Processo de Negócios (BPT)

Essas estruturas de automação dividem 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 de negócios 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 de negócios ou em processos diferentes. Além disso, o BPT facilita uma coordenação mais estreita entre PMEs e engenheiros de automação.

Benefícios da estrutura de automação de testes Archiarquitetura

Following são os benefícios da estrutura de automação de teste architextura:

  • Uma estrutura de automação de testes ajuda a reduzir riscos e despesas
  • Melhora a eficiência dos testes
  • Ajuda a reduzir o custo de manutenção
  • Permite a reutilização de código
  • Permite alcançar a máxima cobertura de teste
  • Maximiza a funcionalidade do aplicativo
  • Ajuda a reduzir a duplicação de casos de teste
  • Ajuda a melhorar a eficiência e o desempenho do teste com automação de teste

Resumo

  • Uma estrutura é um conjunto de diretrizes como padrões de codificação, manipulação de dados de teste, tratamento de repositório de objetos, etc.
  • Linear Scripting é o mais simples de todos os Frameworks de Automação e também conhecido como “Gravação e Reprodução”.
  • Biblioteca de testes ArchiO framework de arquitetura também é conhecido como “Scripting Estruturado” ou “Decomposição Funcional”.
  • No Data-Driven Testing Framework, a lógica do caso de teste reside em scripts de teste e os dados de teste são separados e mantidos fora dos scripts de teste.
  • A estrutura Keyword-Driven ou Table-Driven requer o desenvolvimento de tabelas de dados e palavras-chave, independente da ferramenta de automação de testes usada para executá-las.
  • A estrutura de automação híbrida é o que a maioria das estruturas de automação de testes evoluem ao longo do tempo e em vários projetos.