Como Desenvolver seu Primeiro
Framework (de Testes
Automatizados)
Lorena Caldas #QANinja -
24/04/2017
Quem sou eu
● Analista de Testes
● Formada pelo IFBA
● Inquieta
Objetivo
● Falar sobre os passos comuns para desenvolver um framework de Testes
Automatizados com Selenium WebDriver
Motivos
1) Apoio da Liderança - necessidade
2) Planejamento - objetivos
3) Escolha da ferramenta - prova de conceito
4) Definição de linguagem - conforto
5) Treinamentos - domínio
6) Processo de Desenvolvimento - cultura
7) Definição de estrutura - reuso/agilidade
Fonte: Automação de Testes: 7 passos para o sucesso! - Artigo do Daniel Amorim
Motivos
Selenium
WebDriver
Por que Selenium?
Base de Estudo
Selenium 2 begginers
1) Escrita de Plano de Testes
2) Lógica/Linguagem de Programação
3) Conhecimentos de Frontend
4) Padrões de Projeto*
5) Integração Contínua**
Pontos de Atenção!
InstalaçãoPassos
Como configurar seu
ambiente?
Tip
1) Utilize um
ambiente que
domine
Como definir a Arquitetura?
Tip
1) Pense por partes
do problema
2) Baseie-se nas
tecnologias do
software
3) Verifique o
suporte aos
navegadores
Como definir o formato dos
Scripts?
Tip
1) Foque no
objetivos dos
testes -
Funcionalidade,
Usabilidade,
Desempenho,
Garantia de
Continuidade
Como escrever as classes de
apoio?
Tip
1) Trace o formato
dos seus scripts e
identifique os
pontos em
comum entre eles
Como definir os cenários?
Tip
1) Utilize sua
experiência em
análise de
software
Exemplo
1) Ambiente Windows
2) Projeto Java 8
3) Eclipse/plugin Maven
4) Selenium WebDriver 2.5/3.0
5) TestNG
Arquitetura do
Framework
➔ 4 Camadas
Configuração
Identificação de Elementos
Leitura de Dados
Execução de Passos
Configuração
➔ Classes de Apoio
Classe de Setup
Classe de Autenticação
➔ Padrões de Projeto
Singleton, MultiBrowser
Identificação de
Elementos
➔ Classes de Apoio
Biblioteca de Elementos
Biblioteca de Esperas
➔ Padrões de Projeto
PageObjects
Leitura de Dados
➔ Classes de Apoio
Biblioteca de Extração de Dados
➔ Padrões de Projeto
DataDriven
Entrada - Planilhas/Mocking
Saída - Planilhas/Relatório HTML
Execução de Passos
➔ Classes de Apoio
Interfaces (Modelo dos Scripts)
Biblioteca de Mensagens (Log)
Geração de Evidências (Imagem, Vídeo)
➔ Padrões de Projeto
Business Layer, Facade
Plugins
➔ Reporte de Incidentes
Mantis
➔ Integração Contínua
Jenkins
Resultado dos Testes
Execução dos Passos
Leitura de Dados
Configuração
Incidentes RelatóriosEvidências
Facade PageObjects
SingletonMultiBrowser
DataDriven
Estrutura do Framework
Business
Layer
Resultado dos Testes
Execução dos Passos
Leitura de Dados
Configuração
Incidentes RelatóriosEvidências
Facade PageObjects
SingletonMultiBrowser
DataDriven
Estrutura do Framework
Business
Layer Classes
de
Apoio
Resultados
Meus Contatos
lorenaccaldas
ciclosw.wordpress.com
GTS-BA
Obrigada!
Como Desenvolver seu Primeiro
Framework (de Testes
Automatizados)
Lorena Caldas #QANinja -
24/04/2017

Primeiro framework de testes automatizados

  • 1.
    Como Desenvolver seuPrimeiro Framework (de Testes Automatizados) Lorena Caldas #QANinja - 24/04/2017
  • 2.
    Quem sou eu ●Analista de Testes ● Formada pelo IFBA ● Inquieta Objetivo ● Falar sobre os passos comuns para desenvolver um framework de Testes Automatizados com Selenium WebDriver
  • 3.
  • 4.
    1) Apoio daLiderança - necessidade 2) Planejamento - objetivos 3) Escolha da ferramenta - prova de conceito 4) Definição de linguagem - conforto 5) Treinamentos - domínio 6) Processo de Desenvolvimento - cultura 7) Definição de estrutura - reuso/agilidade Fonte: Automação de Testes: 7 passos para o sucesso! - Artigo do Daniel Amorim Motivos
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
    1) Escrita dePlano de Testes 2) Lógica/Linguagem de Programação 3) Conhecimentos de Frontend 4) Padrões de Projeto* 5) Integração Contínua** Pontos de Atenção!
  • 10.
  • 11.
    Como configurar seu ambiente? Tip 1)Utilize um ambiente que domine
  • 13.
    Como definir aArquitetura? Tip 1) Pense por partes do problema 2) Baseie-se nas tecnologias do software 3) Verifique o suporte aos navegadores
  • 15.
    Como definir oformato dos Scripts? Tip 1) Foque no objetivos dos testes - Funcionalidade, Usabilidade, Desempenho, Garantia de Continuidade
  • 17.
    Como escrever asclasses de apoio? Tip 1) Trace o formato dos seus scripts e identifique os pontos em comum entre eles
  • 19.
    Como definir oscenários? Tip 1) Utilize sua experiência em análise de software
  • 21.
  • 22.
    1) Ambiente Windows 2)Projeto Java 8 3) Eclipse/plugin Maven 4) Selenium WebDriver 2.5/3.0 5) TestNG
  • 23.
    Arquitetura do Framework ➔ 4Camadas Configuração Identificação de Elementos Leitura de Dados Execução de Passos
  • 24.
    Configuração ➔ Classes deApoio Classe de Setup Classe de Autenticação ➔ Padrões de Projeto Singleton, MultiBrowser
  • 25.
    Identificação de Elementos ➔ Classesde Apoio Biblioteca de Elementos Biblioteca de Esperas ➔ Padrões de Projeto PageObjects
  • 26.
    Leitura de Dados ➔Classes de Apoio Biblioteca de Extração de Dados ➔ Padrões de Projeto DataDriven Entrada - Planilhas/Mocking Saída - Planilhas/Relatório HTML
  • 27.
    Execução de Passos ➔Classes de Apoio Interfaces (Modelo dos Scripts) Biblioteca de Mensagens (Log) Geração de Evidências (Imagem, Vídeo) ➔ Padrões de Projeto Business Layer, Facade
  • 28.
    Plugins ➔ Reporte deIncidentes Mantis ➔ Integração Contínua Jenkins
  • 29.
    Resultado dos Testes Execuçãodos Passos Leitura de Dados Configuração Incidentes RelatóriosEvidências Facade PageObjects SingletonMultiBrowser DataDriven Estrutura do Framework Business Layer
  • 30.
    Resultado dos Testes Execuçãodos Passos Leitura de Dados Configuração Incidentes RelatóriosEvidências Facade PageObjects SingletonMultiBrowser DataDriven Estrutura do Framework Business Layer Classes de Apoio
  • 31.
  • 32.
  • 33.
    Como Desenvolver seuPrimeiro Framework (de Testes Automatizados) Lorena Caldas #QANinja - 24/04/2017