SlideShare uma empresa Scribd logo
ARQUITETURA PARA AUTOMAÇÃO
DE TESTE DE SOFTWARE

Em quais pontos pensar quando
automatizamos funcionalmente os testes de
uma aplicação?
O que é Arquitetura de
Automação de Teste
pra mim?


                     2
Automação sem uma
    arquitetura
     é pobre!



                    3
Olha, eu automatizo!!!

Gravar um script através do Record and Play

Alterar o script em cada execução

Analisar o resultado em tela após e execução do script

Talvez documentar a execução

Talvez documentar um erro encontrado

Reexecutar o script


                                                   4
Automatiza mesmo???

[Humano] Gravar um script através do Record and Play

[Humano] Alterar o script em cada execução

[Humano] Analisar o resultado em tela após e execução do script

[Humano] Talvez documentar a execução

[Humano] Talvez documentar um erro encontrado

[Humano] Reexecutar o script


                                                            5
Automação por record
     and play...

Você está fazendo isso
       errado!
                         6
A automação deve ser
rápida...
... e o mais rápido que puder!



                            7
Porque???

É um dos maiores ganhos que temos com a automação


Em automação funcional não precisamos de think time!




                                                       8
Evite!!!

Evite usar mecanismos de pausas implícitas (bare
sleeps)

       Preencher o campo de usuário e senha
       Clicar no botão Login
       Esperar por 30 segundos
       Clicar no link Relatórios




                                              9
Use!

Use mecanismos nativos para esperas (callback or
polling)

    Preencher o campo de usuário e senha
    Clicar no botão Login
    Esperar pelo carregamento da página
       carregou?
          não: espere mais 1 segundo
          sim: continue
    Clicar no link Relatórios



                                            10
Gerenciar os erros (ou possíveis
erros)
é essencial!



                              11
Como analisar e tratar os erros?




                                   12
Mecanismos


Geração de arquivos de logs

Utilização de mecanismos da própria linguagem de programação
    • raise-rescue    Ruby
    • try-cath        Java/C#
    • try-except      Phyton


Uso de alguma ferramenta



                                                               13
14
Programe!




            15
Programe!

Fica esperto se ocorrer algum erro
    Carregar dados do arquivo externo
    Clicar sobre o link Cadastro
        Enquanto existir dados no arquivo externo
            Preencher Nome: <nome>
            Preencher CPF: <CPF>
            Clicar no botão OK
            Validar mensagem apresentada <mensagem>
            Clicar no link Voltar
Deu erro? Fu....
   Se erro for Não encontrou campo
        Tente novamente
    Se erro for Registro não chegou
        Tente carregar o registro novamente
    Se erro foi qualquer outro
        Gere um arquivo de log
Finalize
    Gere o relatório de evidência
                                                      16
Programe!

try {
     ArrayList dados = CarregaDados.carrega(C:massaDados.xls);
     driver.findElement(By.visibleText(“cadastro”)).click();
         for (int i = 0; i < dados.size() ; i++) {
             driver.findElement(By.id(“nome”)).sendKeys(dados[i]);
             driver.findElement(By.id(“cpf”)).sendKeys(dados[i+1]);
             driver.findElement(By.id(“ok”)).click();
             Assert.assertEquals(“Sucesso!”, alert.getAlert());
             Driver.findElement(By.visibleText(“Voltar”)).click();
         }
catch (ElementNotFound enf) {}
catch (DataNotFound dnf) {}
catch (Exception e) {}
finally {
     Report.geraEvidencia();
}
                                                                 17
Data Driven Testing!




                       18
Como executamos testes com dados?

Cenário de Teste: efetue transferências entre contas do mesmo
banco

Caso de Teste: Efetuar transferência de conta corrente para conta
corrente
 Passo                            Resultado Esperado

Clicar sobre o link “Transferência entre contas”   Apresentar tela de Transferência com os dados
                                                   básicos do usuário apresentados:
                                                        •   Agencia: 1234
                                                        •   Nome: Fulano da Silva
Preencher os seguintes campos e clicar em          Apresentar nova tela com os seguintes dados:
“Transferir”
                                                        •   Mensagem: Saldo Suficiente para
     •   Minha Conta: 98765-1                               transferir
     •   Agencia creditada: 7489                        •   Para: Ciclano Souza
     •   Conta Creditada: 361029-5                      •   Valor (R$): 400.00
     •   Retirar da: Poupança

Clicar•no Valor (R$): 400.00
          botão “Efetivar”                         Apresentar nova tela com a mensagem:
                                                   “Transferência efetuada com sucesso”
                                                                                                   19
Script?

Clicar sobre o link “Transferência entre contas”
Validar Agencia: 1234
Validar Nome: Fulano da Silva
Preencher Minha Conta: 98765-1
Preencher Agencia creditada: 7489
Preencher Conta Creditada: 361029-5
Preencher Retirar da: Poupança
Preencher Valor (R$): 400.00
Clicar em Transferir
Validar Mensagem: Saldo suficiente para transferir
Validar Para: Ciclano Souza
Validar Valor (R$): 400.00
Clicar em Efetivar
Validar mensagem: Transferência efetuada com sucesso


                                                       20
Não mantenha dados
fixos em casos/scripts
de teste... NUNCA!


                        21
Nunca crie N Casos de
Teste “diferentes”
somente para mudança
dos dados!

                        22
Script Data Driven

Carrega arquivo dados.csv
Enquanto existir dados no arquivo
   Clicar sobre o link “Transferência entre contas”
   Validar Agencia: <agencia>
   Validar Nome: <nome cliente>
   Preencher Minha Conta: <minha_conta>
   Preencher Agencia creditada: <agencia_cred>
   Preencher Conta Creditada: <conta_cred>
   Preencher Retirar da: <retirar_da>
   Preencher Valor (R$): <valor_retirada>
   Clicar em Transferir
   Validar Mensagem: <mensagem>
   Validar Para: <favorecido>
   Validar Valor (R$): <valor_retirada>
   Clicar em Efetivar
   Validar mensagem: <mensagem_sucesso>
                                                      23
Gerar relatórios é essencial!




                                24
Quais relatórios gerar?

High-Level
  •   Relatório Sumarizado do Teste
  •   Relatório individual de execução

Low-Level
  •   Relatório de Evidências de Teste
  •   Relatório das validações de cada Teste




                                               25
Como gerar?

Funcionalidade existente dentro da própria
ferramenta

Ferramentas externas

Desenvolver sua própria engine de relatórios




                                               26
Defina uma estratégia para
execução




                            27
Como?




        28
@eliasnogueira

http://about.me/eliasnogueira

http://slideshare.net/elias.nogueira




                                       29

Mais conteúdo relacionado

Mais procurados

Como criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com Cypress
Walmyr Lima e Silva Filho
 
Tecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De SoftwareTecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De Software
marthahuback
 
Introdução a Testes Automatizados
Introdução a Testes AutomatizadosIntrodução a Testes Automatizados
Introdução a Testes Automatizados
elliando dias
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testes
Isaias Silva
 
Testes automatizados com Cypress
Testes automatizados com CypressTestes automatizados com Cypress
Testes automatizados com Cypress
COTIC-PROEG (UFPA)
 
Introdução ao design de teste de software
Introdução ao design de teste de softwareIntrodução ao design de teste de software
Introdução ao design de teste de software
Kleitor Franklint Correa Araujo
 
Robot framework
Robot frameworkRobot framework
Robot framework
boriau
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
Camilo Ribeiro
 
Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testing
ikhwanhayat
 
Automation Testing by Selenium Web Driver
Automation Testing by Selenium Web DriverAutomation Testing by Selenium Web Driver
Automation Testing by Selenium Web Driver
Cuelogic Technologies Pvt. Ltd.
 
Testes E2E em Cypress com JS
Testes E2E em Cypress com JSTestes E2E em Cypress com JS
Testes E2E em Cypress com JS
Nàtali Cabral
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
Tchelinux
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
Elias Nogueira
 
Introduction to Selenium Web Driver
Introduction to Selenium Web DriverIntroduction to Selenium Web Driver
Introduction to Selenium Web Driver
Return on Intelligence
 
Rest assured
Rest assuredRest assured
Rest assured
Varun Deshpande
 
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaPirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Frederico Augusto Do Carmo Moreira
 
Cucumber ppt
Cucumber pptCucumber ppt
Cucumber ppt
Qwinix Technologies
 
Unit Testing And Mocking
Unit Testing And MockingUnit Testing And Mocking
Unit Testing And Mocking
Joe Wilson
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
Sérgio Souza Costa
 
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Elias Nogueira
 

Mais procurados (20)

Como criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com Cypress
 
Tecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De SoftwareTecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De Software
 
Introdução a Testes Automatizados
Introdução a Testes AutomatizadosIntrodução a Testes Automatizados
Introdução a Testes Automatizados
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testes
 
Testes automatizados com Cypress
Testes automatizados com CypressTestes automatizados com Cypress
Testes automatizados com Cypress
 
Introdução ao design de teste de software
Introdução ao design de teste de softwareIntrodução ao design de teste de software
Introdução ao design de teste de software
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 
Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testing
 
Automation Testing by Selenium Web Driver
Automation Testing by Selenium Web DriverAutomation Testing by Selenium Web Driver
Automation Testing by Selenium Web Driver
 
Testes E2E em Cypress com JS
Testes E2E em Cypress com JSTestes E2E em Cypress com JS
Testes E2E em Cypress com JS
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Introduction to Selenium Web Driver
Introduction to Selenium Web DriverIntroduction to Selenium Web Driver
Introduction to Selenium Web Driver
 
Rest assured
Rest assuredRest assured
Rest assured
 
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaPirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
 
Cucumber ppt
Cucumber pptCucumber ppt
Cucumber ppt
 
Unit Testing And Mocking
Unit Testing And MockingUnit Testing And Mocking
Unit Testing And Mocking
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
 

Destaque

Como tornar o testador parte da equipe
Como tornar o testador parte da equipeComo tornar o testador parte da equipe
Como tornar o testador parte da equipe
Elias Nogueira
 
Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014
Elias Nogueira
 
Testes Funcionais em um ALM Open Source - TDC 2012 SP
Testes Funcionais em um ALM Open Source - TDC 2012 SPTestes Funcionais em um ALM Open Source - TDC 2012 SP
Testes Funcionais em um ALM Open Source - TDC 2012 SP
Elias Nogueira
 
Abertura Trilha de Teste TDC 2011 Goiånia
Abertura Trilha de Teste TDC 2011 GoiåniaAbertura Trilha de Teste TDC 2011 Goiånia
Abertura Trilha de Teste TDC 2011 Goiånia
Elias Nogueira
 
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
Elias Nogueira
 
Automação no Processo de Teste
Automação no Processo de TesteAutomação no Processo de Teste
Automação no Processo de Teste
Elias Nogueira
 
Nunca foi tao facil testar
Nunca foi tao facil testarNunca foi tao facil testar
Nunca foi tao facil testar
Elias Nogueira
 
Como se tornar Agile Tester
Como se tornar Agile TesterComo se tornar Agile Tester
Como se tornar Agile Tester
Elias Nogueira
 
Testes em ambiente agil - TechTalks ADP Labs
Testes em ambiente agil - TechTalks ADP LabsTestes em ambiente agil - TechTalks ADP Labs
Testes em ambiente agil - TechTalks ADP Labs
Elias Nogueira
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
Elias Nogueira
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
Elias Nogueira
 
Automação de Teste não é um bicho de 7 cabeças
Automação de Teste não é um bicho de 7 cabeçasAutomação de Teste não é um bicho de 7 cabeças
Automação de Teste não é um bicho de 7 cabeças
Elias Nogueira
 
Hands On Selenium
Hands On SeleniumHands On Selenium
Hands On Selenium
Elias Nogueira
 
Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e Blazemeter
Elias Nogueira
 
Como testar sua aplicação Android e iOS: uma abordagem prática
Como testar sua aplicação Android e iOS: uma abordagem práticaComo testar sua aplicação Android e iOS: uma abordagem prática
Como testar sua aplicação Android e iOS: uma abordagem prática
Elias Nogueira
 
Palestra ALATS SP - FIAP Teste de Software
Palestra ALATS SP - FIAP  Teste de SoftwarePalestra ALATS SP - FIAP  Teste de Software
Palestra ALATS SP - FIAP Teste de Software
Elias Nogueira
 
Agileze seus testes com automacao e grid
Agileze seus testes com automacao e gridAgileze seus testes com automacao e grid
Agileze seus testes com automacao e grid
Elias Nogueira
 
A importância dos Testes no Devops
A importância dos Testes no DevopsA importância dos Testes no Devops
A importância dos Testes no Devops
Elias Nogueira
 
Teste sua app e aumente as chances de mantê-la no mercado
Teste sua app e aumente as chances de mantê-la no mercadoTeste sua app e aumente as chances de mantê-la no mercado
Teste sua app e aumente as chances de mantê-la no mercado
Elias Nogueira
 
Reconhecendo suas habilidades como Testador
Reconhecendo suas habilidades como Testador Reconhecendo suas habilidades como Testador
Reconhecendo suas habilidades como Testador
Elias Nogueira
 

Destaque (20)

Como tornar o testador parte da equipe
Como tornar o testador parte da equipeComo tornar o testador parte da equipe
Como tornar o testador parte da equipe
 
Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014
 
Testes Funcionais em um ALM Open Source - TDC 2012 SP
Testes Funcionais em um ALM Open Source - TDC 2012 SPTestes Funcionais em um ALM Open Source - TDC 2012 SP
Testes Funcionais em um ALM Open Source - TDC 2012 SP
 
Abertura Trilha de Teste TDC 2011 Goiånia
Abertura Trilha de Teste TDC 2011 GoiåniaAbertura Trilha de Teste TDC 2011 Goiånia
Abertura Trilha de Teste TDC 2011 Goiånia
 
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
 
Automação no Processo de Teste
Automação no Processo de TesteAutomação no Processo de Teste
Automação no Processo de Teste
 
Nunca foi tao facil testar
Nunca foi tao facil testarNunca foi tao facil testar
Nunca foi tao facil testar
 
Como se tornar Agile Tester
Como se tornar Agile TesterComo se tornar Agile Tester
Como se tornar Agile Tester
 
Testes em ambiente agil - TechTalks ADP Labs
Testes em ambiente agil - TechTalks ADP LabsTestes em ambiente agil - TechTalks ADP Labs
Testes em ambiente agil - TechTalks ADP Labs
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
 
Automação de Teste não é um bicho de 7 cabeças
Automação de Teste não é um bicho de 7 cabeçasAutomação de Teste não é um bicho de 7 cabeças
Automação de Teste não é um bicho de 7 cabeças
 
Hands On Selenium
Hands On SeleniumHands On Selenium
Hands On Selenium
 
Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e Blazemeter
 
Como testar sua aplicação Android e iOS: uma abordagem prática
Como testar sua aplicação Android e iOS: uma abordagem práticaComo testar sua aplicação Android e iOS: uma abordagem prática
Como testar sua aplicação Android e iOS: uma abordagem prática
 
Palestra ALATS SP - FIAP Teste de Software
Palestra ALATS SP - FIAP  Teste de SoftwarePalestra ALATS SP - FIAP  Teste de Software
Palestra ALATS SP - FIAP Teste de Software
 
Agileze seus testes com automacao e grid
Agileze seus testes com automacao e gridAgileze seus testes com automacao e grid
Agileze seus testes com automacao e grid
 
A importância dos Testes no Devops
A importância dos Testes no DevopsA importância dos Testes no Devops
A importância dos Testes no Devops
 
Teste sua app e aumente as chances de mantê-la no mercado
Teste sua app e aumente as chances de mantê-la no mercadoTeste sua app e aumente as chances de mantê-la no mercado
Teste sua app e aumente as chances de mantê-la no mercado
 
Reconhecendo suas habilidades como Testador
Reconhecendo suas habilidades como Testador Reconhecendo suas habilidades como Testador
Reconhecendo suas habilidades como Testador
 

Semelhante a Arquitetura de Automação de Teste

Express checkout PayPal
Express checkout PayPalExpress checkout PayPal
Express checkout PayPal
Jeff Prestes
 
[GUTS-RS] Evento Outubro 2017 - Entrega contínua do zero ao sucesso
[GUTS-RS] Evento Outubro 2017 - Entrega contínua  do zero ao sucesso[GUTS-RS] Evento Outubro 2017 - Entrega contínua  do zero ao sucesso
[GUTS-RS] Evento Outubro 2017 - Entrega contínua do zero ao sucesso
GUTS-RS
 
Ns tutorial so
Ns tutorial soNs tutorial so
Ns tutorial so
Marcelo Miranda
 
Forca de Digital & RPA
Forca de Digital & RPAForca de Digital & RPA
Forca de Digital & RPA
Eduardo Britto
 
Entrega Contínua - do Zero ao Sucesso
Entrega Contínua - do Zero ao SucessoEntrega Contínua - do Zero ao Sucesso
Entrega Contínua - do Zero ao Sucesso
Diraci Junior Trindade da Silva
 
O Impacto das Capacidades Robóticas - Adoção da Força de Trabalho Digital (RPA)
O Impacto das Capacidades Robóticas - Adoção da Força de Trabalho Digital (RPA)O Impacto das Capacidades Robóticas - Adoção da Força de Trabalho Digital (RPA)
O Impacto das Capacidades Robóticas - Adoção da Força de Trabalho Digital (RPA)
Eduardo Britto
 
Manual de instalação de https no iis7 1
Manual de instalação de https no iis7   1Manual de instalação de https no iis7   1
Manual de instalação de https no iis7 1
Washington Souza
 
Roteiro certificado-aplicaçao-iis(win 2000) v4
Roteiro certificado-aplicaçao-iis(win 2000) v4Roteiro certificado-aplicaçao-iis(win 2000) v4
Roteiro certificado-aplicaçao-iis(win 2000) v4
Fábio Junior
 
Roteiro certificado-aplicaçao-iis(win 2000) v4
Roteiro certificado-aplicaçao-iis(win 2000) v4Roteiro certificado-aplicaçao-iis(win 2000) v4
Roteiro certificado-aplicaçao-iis(win 2000) v4
Fábio Junior
 
Cópia de manual da plataforma oficial - para clientes finais
Cópia de manual da plataforma   oficial - para clientes finaisCópia de manual da plataforma   oficial - para clientes finais
Cópia de manual da plataforma oficial - para clientes finais
SimoneBrito43
 
Cópia de manual da plataforma oficial - para clientes finais
Cópia de manual da plataforma   oficial - para clientes finaisCópia de manual da plataforma   oficial - para clientes finais
Cópia de manual da plataforma oficial - para clientes finais
itatianechaveschaves
 
[slides] CMMI (2011: 1º semestre)
[slides] CMMI (2011: 1º semestre)[slides] CMMI (2011: 1º semestre)
[slides] CMMI (2011: 1º semestre)
Alessandro Almeida
 
Manual GESP - Gestão Eletrônica de Segurança Privada
Manual GESP - Gestão Eletrônica de Segurança PrivadaManual GESP - Gestão Eletrônica de Segurança Privada
Manual GESP - Gestão Eletrônica de Segurança Privada
Erivan Andrade
 
Desenvolvendo aplicações orientadas a testes de aceitação: um caso prático
Desenvolvendo aplicações orientadas a testes de aceitação: um caso práticoDesenvolvendo aplicações orientadas a testes de aceitação: um caso prático
Desenvolvendo aplicações orientadas a testes de aceitação: um caso prático
elliando dias
 
Slide 05 implementando o login , logout e flash data
Slide 05   implementando o login , logout e flash dataSlide 05   implementando o login , logout e flash data
Slide 05 implementando o login , logout e flash data
Raniere de Lima
 
Cópia 2 de manual da plataforma
Cópia 2 de manual da plataformaCópia 2 de manual da plataforma
Cópia 2 de manual da plataforma
itatianechaveschaves
 
Manual do desenvolvedor 1.5.5
Manual do desenvolvedor 1.5.5Manual do desenvolvedor 1.5.5
Manual do desenvolvedor 1.5.5
Leandro Jardim
 
Fiaa encerramento anual do ativo imobilizado
Fiaa   encerramento anual do ativo imobilizadoFiaa   encerramento anual do ativo imobilizado
Fiaa encerramento anual do ativo imobilizado
Juliana Lopes
 
Fiaa encerramento anual do ativo imobilizado
Fiaa   encerramento anual do ativo imobilizadoFiaa   encerramento anual do ativo imobilizado
Fiaa encerramento anual do ativo imobilizado
Juliana Lopes
 
Start Up Guide 2017
Start Up Guide 2017Start Up Guide 2017
Start Up Guide 2017
ResellerClub Brasil
 

Semelhante a Arquitetura de Automação de Teste (20)

Express checkout PayPal
Express checkout PayPalExpress checkout PayPal
Express checkout PayPal
 
[GUTS-RS] Evento Outubro 2017 - Entrega contínua do zero ao sucesso
[GUTS-RS] Evento Outubro 2017 - Entrega contínua  do zero ao sucesso[GUTS-RS] Evento Outubro 2017 - Entrega contínua  do zero ao sucesso
[GUTS-RS] Evento Outubro 2017 - Entrega contínua do zero ao sucesso
 
Ns tutorial so
Ns tutorial soNs tutorial so
Ns tutorial so
 
Forca de Digital & RPA
Forca de Digital & RPAForca de Digital & RPA
Forca de Digital & RPA
 
Entrega Contínua - do Zero ao Sucesso
Entrega Contínua - do Zero ao SucessoEntrega Contínua - do Zero ao Sucesso
Entrega Contínua - do Zero ao Sucesso
 
O Impacto das Capacidades Robóticas - Adoção da Força de Trabalho Digital (RPA)
O Impacto das Capacidades Robóticas - Adoção da Força de Trabalho Digital (RPA)O Impacto das Capacidades Robóticas - Adoção da Força de Trabalho Digital (RPA)
O Impacto das Capacidades Robóticas - Adoção da Força de Trabalho Digital (RPA)
 
Manual de instalação de https no iis7 1
Manual de instalação de https no iis7   1Manual de instalação de https no iis7   1
Manual de instalação de https no iis7 1
 
Roteiro certificado-aplicaçao-iis(win 2000) v4
Roteiro certificado-aplicaçao-iis(win 2000) v4Roteiro certificado-aplicaçao-iis(win 2000) v4
Roteiro certificado-aplicaçao-iis(win 2000) v4
 
Roteiro certificado-aplicaçao-iis(win 2000) v4
Roteiro certificado-aplicaçao-iis(win 2000) v4Roteiro certificado-aplicaçao-iis(win 2000) v4
Roteiro certificado-aplicaçao-iis(win 2000) v4
 
Cópia de manual da plataforma oficial - para clientes finais
Cópia de manual da plataforma   oficial - para clientes finaisCópia de manual da plataforma   oficial - para clientes finais
Cópia de manual da plataforma oficial - para clientes finais
 
Cópia de manual da plataforma oficial - para clientes finais
Cópia de manual da plataforma   oficial - para clientes finaisCópia de manual da plataforma   oficial - para clientes finais
Cópia de manual da plataforma oficial - para clientes finais
 
[slides] CMMI (2011: 1º semestre)
[slides] CMMI (2011: 1º semestre)[slides] CMMI (2011: 1º semestre)
[slides] CMMI (2011: 1º semestre)
 
Manual GESP - Gestão Eletrônica de Segurança Privada
Manual GESP - Gestão Eletrônica de Segurança PrivadaManual GESP - Gestão Eletrônica de Segurança Privada
Manual GESP - Gestão Eletrônica de Segurança Privada
 
Desenvolvendo aplicações orientadas a testes de aceitação: um caso prático
Desenvolvendo aplicações orientadas a testes de aceitação: um caso práticoDesenvolvendo aplicações orientadas a testes de aceitação: um caso prático
Desenvolvendo aplicações orientadas a testes de aceitação: um caso prático
 
Slide 05 implementando o login , logout e flash data
Slide 05   implementando o login , logout e flash dataSlide 05   implementando o login , logout e flash data
Slide 05 implementando o login , logout e flash data
 
Cópia 2 de manual da plataforma
Cópia 2 de manual da plataformaCópia 2 de manual da plataforma
Cópia 2 de manual da plataforma
 
Manual do desenvolvedor 1.5.5
Manual do desenvolvedor 1.5.5Manual do desenvolvedor 1.5.5
Manual do desenvolvedor 1.5.5
 
Fiaa encerramento anual do ativo imobilizado
Fiaa   encerramento anual do ativo imobilizadoFiaa   encerramento anual do ativo imobilizado
Fiaa encerramento anual do ativo imobilizado
 
Fiaa encerramento anual do ativo imobilizado
Fiaa   encerramento anual do ativo imobilizadoFiaa   encerramento anual do ativo imobilizado
Fiaa encerramento anual do ativo imobilizado
 
Start Up Guide 2017
Start Up Guide 2017Start Up Guide 2017
Start Up Guide 2017
 

Mais de Elias Nogueira

Usando containers com auto-escala de testes
Usando containers com auto-escala de testesUsando containers com auto-escala de testes
Usando containers com auto-escala de testes
Elias Nogueira
 
Coach por Imersão - Buscando a excelência técnica com o time
Coach por Imersão - Buscando a excelência técnica com o timeCoach por Imersão - Buscando a excelência técnica com o time
Coach por Imersão - Buscando a excelência técnica com o time
Elias Nogueira
 
O Agile Coach pode (e muitas vezes deve) ser técnico
O Agile Coach pode (e muitas vezes deve) ser técnicoO Agile Coach pode (e muitas vezes deve) ser técnico
O Agile Coach pode (e muitas vezes deve) ser técnico
Elias Nogueira
 
Create an architecture for web test automation
Create an architecture for web test automationCreate an architecture for web test automation
Create an architecture for web test automation
Elias Nogueira
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Elias Nogueira
 
Como 4 Agile Coaches trabalham em uma Transformação Ágil
Como 4 Agile Coaches trabalham em uma Transformação Ágil Como 4 Agile Coaches trabalham em uma Transformação Ágil
Como 4 Agile Coaches trabalham em uma Transformação Ágil
Elias Nogueira
 
Papel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilPapel do QA na Transformação Ágil
Papel do QA na Transformação Ágil
Elias Nogueira
 
BDD não é automação de teste - Scrum Gathering
BDD não é automação de teste - Scrum GatheringBDD não é automação de teste - Scrum Gathering
BDD não é automação de teste - Scrum Gathering
Elias Nogueira
 
Como criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersComo criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containers
Elias Nogueira
 
Improve Yourself -- Learn the Skills, Join the Community - Tests
Improve Yourself -- Learn the Skills, Join the Community - TestsImprove Yourself -- Learn the Skills, Join the Community - Tests
Improve Yourself -- Learn the Skills, Join the Community - Tests
Elias Nogueira
 
BDD não é Automação de Testes
BDD não é Automação de TestesBDD não é Automação de Testes
BDD não é Automação de Testes
Elias Nogueira
 
Criando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com Appium
Elias Nogueira
 
Como ter sucesso ministrando uma palestra técnica
Como ter sucesso ministrando uma palestra técnicaComo ter sucesso ministrando uma palestra técnica
Como ter sucesso ministrando uma palestra técnica
Elias Nogueira
 
Quais são os steps de que deve conter na sua pipeline?
Quais são os steps de que deve conter na sua pipeline?Quais são os steps de que deve conter na sua pipeline?
Quais são os steps de que deve conter na sua pipeline?
Elias Nogueira
 
Tem que testar mesmo?
Tem que testar mesmo?Tem que testar mesmo?
Tem que testar mesmo?
Elias Nogueira
 
Testes em todos os niveis de planejamento
Testes em todos os niveis de planejamentoTestes em todos os niveis de planejamento
Testes em todos os niveis de planejamento
Elias Nogueira
 
Coaching the Agile Coach
Coaching the Agile CoachCoaching the Agile Coach
Coaching the Agile Coach
Elias Nogueira
 
Java Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and MobileJava Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and Mobile
Elias Nogueira
 
Trust Your Pipeline - Automatically Testing and End-to-End Java Application
Trust Your Pipeline - Automatically Testing and End-to-End Java ApplicationTrust Your Pipeline - Automatically Testing and End-to-End Java Application
Trust Your Pipeline - Automatically Testing and End-to-End Java Application
Elias Nogueira
 
O que é um Agile Coach
O que é um Agile CoachO que é um Agile Coach
O que é um Agile Coach
Elias Nogueira
 

Mais de Elias Nogueira (20)

Usando containers com auto-escala de testes
Usando containers com auto-escala de testesUsando containers com auto-escala de testes
Usando containers com auto-escala de testes
 
Coach por Imersão - Buscando a excelência técnica com o time
Coach por Imersão - Buscando a excelência técnica com o timeCoach por Imersão - Buscando a excelência técnica com o time
Coach por Imersão - Buscando a excelência técnica com o time
 
O Agile Coach pode (e muitas vezes deve) ser técnico
O Agile Coach pode (e muitas vezes deve) ser técnicoO Agile Coach pode (e muitas vezes deve) ser técnico
O Agile Coach pode (e muitas vezes deve) ser técnico
 
Create an architecture for web test automation
Create an architecture for web test automationCreate an architecture for web test automation
Create an architecture for web test automation
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
 
Como 4 Agile Coaches trabalham em uma Transformação Ágil
Como 4 Agile Coaches trabalham em uma Transformação Ágil Como 4 Agile Coaches trabalham em uma Transformação Ágil
Como 4 Agile Coaches trabalham em uma Transformação Ágil
 
Papel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilPapel do QA na Transformação Ágil
Papel do QA na Transformação Ágil
 
BDD não é automação de teste - Scrum Gathering
BDD não é automação de teste - Scrum GatheringBDD não é automação de teste - Scrum Gathering
BDD não é automação de teste - Scrum Gathering
 
Como criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersComo criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containers
 
Improve Yourself -- Learn the Skills, Join the Community - Tests
Improve Yourself -- Learn the Skills, Join the Community - TestsImprove Yourself -- Learn the Skills, Join the Community - Tests
Improve Yourself -- Learn the Skills, Join the Community - Tests
 
BDD não é Automação de Testes
BDD não é Automação de TestesBDD não é Automação de Testes
BDD não é Automação de Testes
 
Criando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com Appium
 
Como ter sucesso ministrando uma palestra técnica
Como ter sucesso ministrando uma palestra técnicaComo ter sucesso ministrando uma palestra técnica
Como ter sucesso ministrando uma palestra técnica
 
Quais são os steps de que deve conter na sua pipeline?
Quais são os steps de que deve conter na sua pipeline?Quais são os steps de que deve conter na sua pipeline?
Quais são os steps de que deve conter na sua pipeline?
 
Tem que testar mesmo?
Tem que testar mesmo?Tem que testar mesmo?
Tem que testar mesmo?
 
Testes em todos os niveis de planejamento
Testes em todos os niveis de planejamentoTestes em todos os niveis de planejamento
Testes em todos os niveis de planejamento
 
Coaching the Agile Coach
Coaching the Agile CoachCoaching the Agile Coach
Coaching the Agile Coach
 
Java Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and MobileJava Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and Mobile
 
Trust Your Pipeline - Automatically Testing and End-to-End Java Application
Trust Your Pipeline - Automatically Testing and End-to-End Java ApplicationTrust Your Pipeline - Automatically Testing and End-to-End Java Application
Trust Your Pipeline - Automatically Testing and End-to-End Java Application
 
O que é um Agile Coach
O que é um Agile CoachO que é um Agile Coach
O que é um Agile Coach
 

Arquitetura de Automação de Teste

  • 1. ARQUITETURA PARA AUTOMAÇÃO DE TESTE DE SOFTWARE Em quais pontos pensar quando automatizamos funcionalmente os testes de uma aplicação?
  • 2. O que é Arquitetura de Automação de Teste pra mim? 2
  • 3. Automação sem uma arquitetura é pobre! 3
  • 4. Olha, eu automatizo!!! Gravar um script através do Record and Play Alterar o script em cada execução Analisar o resultado em tela após e execução do script Talvez documentar a execução Talvez documentar um erro encontrado Reexecutar o script 4
  • 5. Automatiza mesmo??? [Humano] Gravar um script através do Record and Play [Humano] Alterar o script em cada execução [Humano] Analisar o resultado em tela após e execução do script [Humano] Talvez documentar a execução [Humano] Talvez documentar um erro encontrado [Humano] Reexecutar o script 5
  • 6. Automação por record and play... Você está fazendo isso errado! 6
  • 7. A automação deve ser rápida... ... e o mais rápido que puder! 7
  • 8. Porque??? É um dos maiores ganhos que temos com a automação Em automação funcional não precisamos de think time! 8
  • 9. Evite!!! Evite usar mecanismos de pausas implícitas (bare sleeps) Preencher o campo de usuário e senha Clicar no botão Login Esperar por 30 segundos Clicar no link Relatórios 9
  • 10. Use! Use mecanismos nativos para esperas (callback or polling) Preencher o campo de usuário e senha Clicar no botão Login Esperar pelo carregamento da página carregou? não: espere mais 1 segundo sim: continue Clicar no link Relatórios 10
  • 11. Gerenciar os erros (ou possíveis erros) é essencial! 11
  • 12. Como analisar e tratar os erros? 12
  • 13. Mecanismos Geração de arquivos de logs Utilização de mecanismos da própria linguagem de programação • raise-rescue Ruby • try-cath Java/C# • try-except Phyton Uso de alguma ferramenta 13
  • 14. 14
  • 15. Programe! 15
  • 16. Programe! Fica esperto se ocorrer algum erro Carregar dados do arquivo externo Clicar sobre o link Cadastro Enquanto existir dados no arquivo externo Preencher Nome: <nome> Preencher CPF: <CPF> Clicar no botão OK Validar mensagem apresentada <mensagem> Clicar no link Voltar Deu erro? Fu.... Se erro for Não encontrou campo Tente novamente Se erro for Registro não chegou Tente carregar o registro novamente Se erro foi qualquer outro Gere um arquivo de log Finalize Gere o relatório de evidência 16
  • 17. Programe! try { ArrayList dados = CarregaDados.carrega(C:massaDados.xls); driver.findElement(By.visibleText(“cadastro”)).click(); for (int i = 0; i < dados.size() ; i++) { driver.findElement(By.id(“nome”)).sendKeys(dados[i]); driver.findElement(By.id(“cpf”)).sendKeys(dados[i+1]); driver.findElement(By.id(“ok”)).click(); Assert.assertEquals(“Sucesso!”, alert.getAlert()); Driver.findElement(By.visibleText(“Voltar”)).click(); } catch (ElementNotFound enf) {} catch (DataNotFound dnf) {} catch (Exception e) {} finally { Report.geraEvidencia(); } 17
  • 19. Como executamos testes com dados? Cenário de Teste: efetue transferências entre contas do mesmo banco Caso de Teste: Efetuar transferência de conta corrente para conta corrente Passo Resultado Esperado Clicar sobre o link “Transferência entre contas” Apresentar tela de Transferência com os dados básicos do usuário apresentados: • Agencia: 1234 • Nome: Fulano da Silva Preencher os seguintes campos e clicar em Apresentar nova tela com os seguintes dados: “Transferir” • Mensagem: Saldo Suficiente para • Minha Conta: 98765-1 transferir • Agencia creditada: 7489 • Para: Ciclano Souza • Conta Creditada: 361029-5 • Valor (R$): 400.00 • Retirar da: Poupança Clicar•no Valor (R$): 400.00 botão “Efetivar” Apresentar nova tela com a mensagem: “Transferência efetuada com sucesso” 19
  • 20. Script? Clicar sobre o link “Transferência entre contas” Validar Agencia: 1234 Validar Nome: Fulano da Silva Preencher Minha Conta: 98765-1 Preencher Agencia creditada: 7489 Preencher Conta Creditada: 361029-5 Preencher Retirar da: Poupança Preencher Valor (R$): 400.00 Clicar em Transferir Validar Mensagem: Saldo suficiente para transferir Validar Para: Ciclano Souza Validar Valor (R$): 400.00 Clicar em Efetivar Validar mensagem: Transferência efetuada com sucesso 20
  • 21. Não mantenha dados fixos em casos/scripts de teste... NUNCA! 21
  • 22. Nunca crie N Casos de Teste “diferentes” somente para mudança dos dados! 22
  • 23. Script Data Driven Carrega arquivo dados.csv Enquanto existir dados no arquivo Clicar sobre o link “Transferência entre contas” Validar Agencia: <agencia> Validar Nome: <nome cliente> Preencher Minha Conta: <minha_conta> Preencher Agencia creditada: <agencia_cred> Preencher Conta Creditada: <conta_cred> Preencher Retirar da: <retirar_da> Preencher Valor (R$): <valor_retirada> Clicar em Transferir Validar Mensagem: <mensagem> Validar Para: <favorecido> Validar Valor (R$): <valor_retirada> Clicar em Efetivar Validar mensagem: <mensagem_sucesso> 23
  • 24. Gerar relatórios é essencial! 24
  • 25. Quais relatórios gerar? High-Level • Relatório Sumarizado do Teste • Relatório individual de execução Low-Level • Relatório de Evidências de Teste • Relatório das validações de cada Teste 25
  • 26. Como gerar? Funcionalidade existente dentro da própria ferramenta Ferramentas externas Desenvolver sua própria engine de relatórios 26
  • 27. Defina uma estratégia para execução 27
  • 28. Como? 28

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n