SlideShare a Scribd company logo
1 of 12
Testes
  automatizados
utilizando técnicas
      de BDD
●   César Vianna

●   SERPRO – Serviço Federal de Processamento de Dados

●   Projeto Expresso – expressolivre.org

●   cesar.vianna@serpro.gov.br
Testes de Software

Dimensões do Teste

          O que testar?
                                2
       Tipos de Teste
      Teste   de   Funcionalidade
      Teste   de   Regressão                       Técnicas de Teste
      Teste   de   Interface                      Teste Estrutural (Caixa Branca)
      Teste   de   Desempenho                     Teste Funcional (Caixa Preta)
      Teste   de   Carga
                                                       Como testar?
      Teste   de   Usabilidade
      Teste   de   Volume                                   3
      Teste   de   Segurança




                               Níveis de Teste
               1             Teste   de   Aceitação
                             Teste   de   Sistema
      Quando testar?
                             Teste   de   Integração
                             Teste   de   Unidade
BDD

✔   BDD - Desenvolvimento Guiado por
    Comportamento
✔   Técnica de desenvolvimento ágil que utiliza
    linguagem e interações. Com isso, possibilita
    a colaboração entre:

✔   Desenvolvedores
✔   Setores de qualidade
✔   Pessoas não-técnicas ou de negócios em um
    projeto de software
Linguagem Gherkin

Feature: Descreve o se deseja
Especificando o valor para o negócio
E o ator específico da ação
Scenario: Alguma ação de negócio
   Given alguma pré-condição
   And alguma outra pré-condição
   When alguma ação do ator ocorrer
   And também outra ação
   And ainda outra
   Then algum resultado testável é alcançado
   And outra resposta verificável também é apresentada
Behat

●   Behat é uma ferramenta que utiliza BDD
    Site do projeto: http://behat.org

●   Nele o teste descreve a história e a partir
    dessa descrição, ela pode rodar como um
    teste automatizado.
     –   Exemplo:
         Dado que estou na tela de login
         Quando eu informo o usuário
         E eu informo a senha
         E eu confirmo
         Então eu deveria vizualizar a tela inicial
Mink

Simula a interação entre o browser e a aplicação web.
Site do projeto: http://mink.behat.org

// Carrega uma página no browser
$session->visit('https://cte.serpro.gov.br/');

// Carrega outra página
$session->visit('https://expresso.serpro.gov.br')

// Usa os controles de histórico
$session->reload();
$session->back();
$session->forward();
Selenium Webdriver

●   Um dos drivers de interface com os
    navegadores.
●   Aceita comandos e envia para o navegador
●   Portável para a maioria dos navegadores




Navegadores e versões suportadas:

                    Firefox    Chrome   Safari   IE
                    3.6 - 10        *    2, 3    7-9
Comumicação

                   Feature




                   Context




                   Driver




Navegadores
Exemplo

●    Teste de navegação:
Feature: Navegação na página do W3C
Dado que eu estou na página inicial do W3C
Quando eu seleciono uma região
Eu deveria visualizar o conteúdo respectivo
 Scenario: Navegar na página do W3C, na região Austrália
    Given I am on "http://www.w3c.br/Home/WebHome"
    Then I select "Austrália" from "region"
    And I press "Go"
    And I should see "Australian W3C Office"
Dicas de leitura



- XPath locator
- CSS locator
- Plugin Firebug para Firefox
- Plugin Firepath para Firefox
- Selenium
- Metodologias BDD, TDD
- XP - Programação Extrema
Perguntas ?




CESAR.VIANNA@SERPRO.GOV.BR

More Related Content

What's hot

BDD JBehave
BDD JBehaveBDD JBehave
BDD JBehaveIsmael
 
Nunca foi tao facil testar
Nunca foi tao facil testarNunca foi tao facil testar
Nunca foi tao facil testarElias Nogueira
 
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Leandro Ugioni
 
QAX2018 - Marcelo Soares - Frisby.js
QAX2018 - Marcelo Soares - Frisby.jsQAX2018 - Marcelo Soares - Frisby.js
QAX2018 - Marcelo Soares - Frisby.jsMarcelo Soares
 
BDD (Behavior-Driven Development) - Setembro/2015
BDD (Behavior-Driven Development) - Setembro/2015BDD (Behavior-Driven Development) - Setembro/2015
BDD (Behavior-Driven Development) - Setembro/2015Renato Groff
 
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?Edlaine Zamora
 
Testes: existe vida antes do TDD
Testes: existe vida antes do TDDTestes: existe vida antes do TDD
Testes: existe vida antes do TDDDiana Ungaro Arnos
 
Testes Unitários - 1 Sessão beiraJUG
Testes Unitários - 1 Sessão beiraJUGTestes Unitários - 1 Sessão beiraJUG
Testes Unitários - 1 Sessão beiraJUGbeiraJUG
 
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Edlaine Zamora
 
PHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesPHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesDiana Ungaro Arnos
 
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDDPHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDDDiana Ungaro Arnos
 
Revisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da culturaRevisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da culturaLeandro Parazito
 
apresentacao_TDC_POA_Raphael_Mantilha.pdf
apresentacao_TDC_POA_Raphael_Mantilha.pdfapresentacao_TDC_POA_Raphael_Mantilha.pdf
apresentacao_TDC_POA_Raphael_Mantilha.pdfRaphael Mantilha
 
Testes O que são e para que servem? - LadyTalks
Testes O que são e para que servem? - LadyTalksTestes O que são e para que servem? - LadyTalks
Testes O que são e para que servem? - LadyTalksDiana Ungaro Arnos
 

What's hot (20)

BDD JBehave
BDD JBehaveBDD JBehave
BDD JBehave
 
Be React. Do Tests!
Be React. Do Tests!Be React. Do Tests!
Be React. Do Tests!
 
Nunca foi tao facil testar
Nunca foi tao facil testarNunca foi tao facil testar
Nunca foi tao facil testar
 
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
 
Selenium ide
Selenium ideSelenium ide
Selenium ide
 
QAX2018 - Marcelo Soares - Frisby.js
QAX2018 - Marcelo Soares - Frisby.jsQAX2018 - Marcelo Soares - Frisby.js
QAX2018 - Marcelo Soares - Frisby.js
 
BDD (Behavior-Driven Development) - Setembro/2015
BDD (Behavior-Driven Development) - Setembro/2015BDD (Behavior-Driven Development) - Setembro/2015
BDD (Behavior-Driven Development) - Setembro/2015
 
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
 
Testes: existe vida antes do TDD
Testes: existe vida antes do TDDTestes: existe vida antes do TDD
Testes: existe vida antes do TDD
 
Testes Unitários - 1 Sessão beiraJUG
Testes Unitários - 1 Sessão beiraJUGTestes Unitários - 1 Sessão beiraJUG
Testes Unitários - 1 Sessão beiraJUG
 
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
 
PHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesPHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de Testes
 
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDDPHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
 
Revisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da culturaRevisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da cultura
 
Jmeter apresentacao
Jmeter apresentacaoJmeter apresentacao
Jmeter apresentacao
 
apresentacao_TDC_POA_Raphael_Mantilha.pdf
apresentacao_TDC_POA_Raphael_Mantilha.pdfapresentacao_TDC_POA_Raphael_Mantilha.pdf
apresentacao_TDC_POA_Raphael_Mantilha.pdf
 
Testes O que são e para que servem? - LadyTalks
Testes O que são e para que servem? - LadyTalksTestes O que são e para que servem? - LadyTalks
Testes O que são e para que servem? - LadyTalks
 
Selenium ide apresentação
Selenium ide   apresentaçãoSelenium ide   apresentação
Selenium ide apresentação
 
Wpf e mvvm
Wpf e mvvmWpf e mvvm
Wpf e mvvm
 
BDD
BDDBDD
BDD
 

Similar to Testes automatizados com BDD

Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilElias Nogueira
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMAdriano Bertucci
 
ALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test ManagerALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test ManagerAlan Carlos
 
Testes automatizados (2)
Testes automatizados (2)Testes automatizados (2)
Testes automatizados (2)cesarvianna
 
[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018Larissa Soares
 
Agile Brazil 2018
Agile Brazil 2018Agile Brazil 2018
Agile Brazil 2018Karla Silva
 
Testes unitários x unit
Testes unitários   x unitTestes unitários   x unit
Testes unitários x unitLucas Marques
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Igor Abade
 
Automação de testes em projetos ágeis
Automação de testes em projetos ágeisAutomação de testes em projetos ágeis
Automação de testes em projetos ágeisCristiano Caetano
 
TDC 2011 Automaçãode testes com BDD e ATDD
TDC 2011 Automaçãode testes com BDD e ATDDTDC 2011 Automaçãode testes com BDD e ATDD
TDC 2011 Automaçãode testes com BDD e ATDDCristiano Caetano
 
Automação de testes BDD e ATDD
Automação de testes BDD e ATDDAutomação de testes BDD e ATDD
Automação de testes BDD e ATDDQualister
 
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...Rafael Chiavegatto
 
Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceAlex Barbosa Coqueiro
 
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...minastestingconference
 
Integração do Zabbix com Testes Automatizados
Integração do Zabbix com Testes AutomatizadosIntegração do Zabbix com Testes Automatizados
Integração do Zabbix com Testes AutomatizadosRobert Silva
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
Demoiselle Behave - Parte 1
Demoiselle Behave - Parte 1Demoiselle Behave - Parte 1
Demoiselle Behave - Parte 1Vanderson Silva
 

Similar to Testes automatizados com BDD (20)

Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
 
ALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test ManagerALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test Manager
 
Testes automatizados (2)
Testes automatizados (2)Testes automatizados (2)
Testes automatizados (2)
 
[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018
 
Agile Brazil 2018
Agile Brazil 2018Agile Brazil 2018
Agile Brazil 2018
 
Testes unitários x unit
Testes unitários   x unitTestes unitários   x unit
Testes unitários x unit
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
 
Automação de testes em projetos ágeis
Automação de testes em projetos ágeisAutomação de testes em projetos ágeis
Automação de testes em projetos ágeis
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software
Teste de software Teste de software
Teste de software
 
TDC 2011 Automaçãode testes com BDD e ATDD
TDC 2011 Automaçãode testes com BDD e ATDDTDC 2011 Automaçãode testes com BDD e ATDD
TDC 2011 Automaçãode testes com BDD e ATDD
 
Automação de testes BDD e ATDD
Automação de testes BDD e ATDDAutomação de testes BDD e ATDD
Automação de testes BDD e ATDD
 
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
 
Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal Performance
 
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...
 
Integração do Zabbix com Testes Automatizados
Integração do Zabbix com Testes AutomatizadosIntegração do Zabbix com Testes Automatizados
Integração do Zabbix com Testes Automatizados
 
BDD em Ação
BDD em AçãoBDD em Ação
BDD em Ação
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Demoiselle Behave - Parte 1
Demoiselle Behave - Parte 1Demoiselle Behave - Parte 1
Demoiselle Behave - Parte 1
 

Testes automatizados com BDD

  • 2. César Vianna ● SERPRO – Serviço Federal de Processamento de Dados ● Projeto Expresso – expressolivre.org ● cesar.vianna@serpro.gov.br
  • 3. Testes de Software Dimensões do Teste O que testar? 2 Tipos de Teste Teste de Funcionalidade Teste de Regressão Técnicas de Teste Teste de Interface Teste Estrutural (Caixa Branca) Teste de Desempenho Teste Funcional (Caixa Preta) Teste de Carga Como testar? Teste de Usabilidade Teste de Volume 3 Teste de Segurança Níveis de Teste 1 Teste de Aceitação Teste de Sistema Quando testar? Teste de Integração Teste de Unidade
  • 4. BDD ✔ BDD - Desenvolvimento Guiado por Comportamento ✔ Técnica de desenvolvimento ágil que utiliza linguagem e interações. Com isso, possibilita a colaboração entre: ✔ Desenvolvedores ✔ Setores de qualidade ✔ Pessoas não-técnicas ou de negócios em um projeto de software
  • 5. Linguagem Gherkin Feature: Descreve o se deseja Especificando o valor para o negócio E o ator específico da ação Scenario: Alguma ação de negócio Given alguma pré-condição And alguma outra pré-condição When alguma ação do ator ocorrer And também outra ação And ainda outra Then algum resultado testável é alcançado And outra resposta verificável também é apresentada
  • 6. Behat ● Behat é uma ferramenta que utiliza BDD Site do projeto: http://behat.org ● Nele o teste descreve a história e a partir dessa descrição, ela pode rodar como um teste automatizado. – Exemplo: Dado que estou na tela de login Quando eu informo o usuário E eu informo a senha E eu confirmo Então eu deveria vizualizar a tela inicial
  • 7. Mink Simula a interação entre o browser e a aplicação web. Site do projeto: http://mink.behat.org // Carrega uma página no browser $session->visit('https://cte.serpro.gov.br/'); // Carrega outra página $session->visit('https://expresso.serpro.gov.br') // Usa os controles de histórico $session->reload(); $session->back(); $session->forward();
  • 8. Selenium Webdriver ● Um dos drivers de interface com os navegadores. ● Aceita comandos e envia para o navegador ● Portável para a maioria dos navegadores Navegadores e versões suportadas: Firefox Chrome Safari IE 3.6 - 10 * 2, 3 7-9
  • 9. Comumicação Feature Context Driver Navegadores
  • 10. Exemplo ● Teste de navegação: Feature: Navegação na página do W3C Dado que eu estou na página inicial do W3C Quando eu seleciono uma região Eu deveria visualizar o conteúdo respectivo Scenario: Navegar na página do W3C, na região Austrália Given I am on "http://www.w3c.br/Home/WebHome" Then I select "Austrália" from "region" And I press "Go" And I should see "Australian W3C Office"
  • 11. Dicas de leitura - XPath locator - CSS locator - Plugin Firebug para Firefox - Plugin Firepath para Firefox - Selenium - Metodologias BDD, TDD - XP - Programação Extrema