SlideShare a Scribd company logo
1 of 29
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

More Related Content

What's hot

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 Softwaremarthahuback
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaFabrício Campos
 
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 ágilElias Nogueira
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de UnidadeAline Ferreira
 
Selenium with Cucumber
Selenium  with Cucumber Selenium  with Cucumber
Selenium with Cucumber Knoldus Inc.
 
API Testing: The heart of functional testing" with Bj Rollison
API Testing: The heart of functional testing" with Bj RollisonAPI Testing: The heart of functional testing" with Bj Rollison
API Testing: The heart of functional testing" with Bj RollisonTEST Huddle
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareCamilo Almendra
 
Unit testing with NUnit
Unit testing with NUnitUnit testing with NUnit
Unit testing with NUnitkleinron
 
Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testingikhwanhayat
 
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 ÁgilElias 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 ÁgilElias Nogueira
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesSamanta Cicilia
 
Automation testing introduction for FujiNet
Automation testing introduction for FujiNetAutomation testing introduction for FujiNet
Automation testing introduction for FujiNetHai Tran Son
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentElias Nogueira
 
De a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de APIDe a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de APIElias Nogueira
 

What's hot (20)

Exemplo de Plano de testes
Exemplo de Plano de testes Exemplo de Plano de testes
Exemplo de Plano de testes
 
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 ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
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
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de Unidade
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Selenium with Cucumber
Selenium  with Cucumber Selenium  with Cucumber
Selenium with Cucumber
 
API Testing: The heart of functional testing" with Bj Rollison
API Testing: The heart of functional testing" with Bj RollisonAPI Testing: The heart of functional testing" with Bj Rollison
API Testing: The heart of functional testing" with Bj Rollison
 
Testes Unitários
Testes UnitáriosTestes Unitários
Testes Unitários
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
Agile QA Process
Agile QA ProcessAgile QA Process
Agile QA Process
 
Unit testing with NUnit
Unit testing with NUnitUnit testing with NUnit
Unit testing with NUnit
 
Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testing
 
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
 
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
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
 
Automation testing introduction for FujiNet
Automation testing introduction for FujiNetAutomation testing introduction for FujiNet
Automation testing introduction for FujiNet
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
De a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de APIDe a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de API
 

Viewers also liked

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 equipeElias 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 2014Elias 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 SPElias 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åniaElias 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 VerdadesElias Nogueira
 
Automação no Processo de Teste
Automação no Processo de TesteAutomação no Processo de Teste
Automação no Processo de TesteElias Nogueira
 
Nunca foi tao facil testar
Nunca foi tao facil testarNunca foi tao facil testar
Nunca foi tao facil testarElias Nogueira
 
Como se tornar Agile Tester
Como se tornar Agile TesterComo se tornar Agile Tester
Como se tornar Agile TesterElias 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 LabsElias 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çasElias 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 BlazemeterElias 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áticaElias 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 SoftwareElias 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 gridElias 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 DevopsElias 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 mercadoElias Nogueira
 
Reconhecendo suas habilidades como Testador
Reconhecendo suas habilidades como Testador Reconhecendo suas habilidades como Testador
Reconhecendo suas habilidades como Testador Elias Nogueira
 
Automação em Wearables para Android
Automação em Wearables para AndroidAutomação em Wearables para Android
Automação em Wearables para AndroidElias Nogueira
 
Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010Elias Nogueira
 

Viewers also liked (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 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
 
Automação em Wearables para Android
Automação em Wearables para AndroidAutomação em Wearables para Android
Automação em Wearables para Android
 
Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010
 

Similar to Automatização Testes Software

Express checkout PayPal
Express checkout PayPalExpress checkout PayPal
Express checkout PayPalJeff 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 sucessoGUTS-RS
 
Forca de Digital & RPA
Forca de Digital & RPAForca de Digital & RPA
Forca de Digital & RPAEduardo Britto
 
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 1Washington 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) v4Fá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) v4Fá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 finaisSimoneBrito43
 
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 finaisitatianechaveschaves
 
[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 PrivadaErivan 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áticoelliando 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 dataRaniere de Lima
 
Manual do desenvolvedor 1.5.5
Manual do desenvolvedor 1.5.5Manual do desenvolvedor 1.5.5
Manual do desenvolvedor 1.5.5Leandro Jardim
 
Fiaa encerramento anual do ativo imobilizado
Fiaa   encerramento anual do ativo imobilizadoFiaa   encerramento anual do ativo imobilizado
Fiaa encerramento anual do ativo imobilizadoJuliana Lopes
 
Fiaa encerramento anual do ativo imobilizado
Fiaa   encerramento anual do ativo imobilizadoFiaa   encerramento anual do ativo imobilizado
Fiaa encerramento anual do ativo imobilizadoJuliana Lopes
 

Similar to Automatização Testes Software (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
 

More from Elias Nogueira

Automação e virtualização de serviços
Automação e virtualização de serviçosAutomação e virtualização de serviços
Automação e virtualização de serviçosElias 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 testesElias 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 timeElias 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écnicoElias 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 automationElias 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ápidosElias 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
 
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 GatheringElias 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 containersElias 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 - TestsElias 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 TestesElias 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 AppiumElias 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écnicaElias 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
 
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 planejamentoElias Nogueira
 
Coaching the Agile Coach
Coaching the Agile CoachCoaching the Agile Coach
Coaching the Agile CoachElias 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 MobileElias 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 ApplicationElias Nogueira
 
O que é um Agile Coach
O que é um Agile CoachO que é um Agile Coach
O que é um Agile CoachElias Nogueira
 

More from Elias Nogueira (20)

Automação e virtualização de serviços
Automação e virtualização de serviçosAutomação e virtualização de serviços
Automação e virtualização de serviços
 
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
 
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
 

Automatização Testes Software

  • 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

Editor's Notes

  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