Seminário de teste de software – 2012
                      http://www.testday.com.br/




                          Palestra	
  
Mesclando	
  automação	
  de	
  teste	
  tradicional	
  com	
  BDD	
  
                             	
  
             Cris%ano	
  Caetano	
  -­‐	
  Qualister	
  
Direitos autorais




                       Importante                                             er
                                                         produção de qualqu
                                   proibida a cópia e re
                       –         É                             resentação incluindo,
                                 parte do conteúdo desta ap
                                                             , imagens, gráficos e
                                 mas  não limitado a, textos
                                                                é protegida pelas leis
                                 tabela s. Esta apresentação                  no
                                                        opriedade de Cristia
                                 de Copyright e são pr                e Treinamento
                                  Caetano e   Qualister Consultoria
                                  LTDA.

                                                           r, copiar, guardar em
                        –         Não é permitido modifica
                                                              ugar, vender ou
                                  banco  de dados público, al
                                                                   apresentação,
                                  republicar qualquer parte desta
                                                       o explícita do autor.
                                  sem prévia permissã

                                                                      o deste material,
                            –      Quando ho   uver permissão de us                  e
                                                               bibliográfica conform
                                   é ob rigatória a referência
                                   as normas vigentes.




www.qualister.com.br
Palestrante


   Cristiano Caetano
   cristiano.caetano@qualister.com.br
   www.slideshare.net/cristianocaetano


                       @c_caetano


www.qualister.com.br
Tópico




                           Mesclando
                        automação de teste
                       tradicional com BDD


www.qualister.com.br
BDD

              •    Dan North, criador do BDD (Desenvolvimento dirigido por
                   comportamento) percebeu diversas dificuldades na aplicação de
                   testes unitários via TDD, tais como:
                    –  Saber por onde começar;
                    –  O que testar e o que não testar;
                    –  Até onde testar;
                    –  Entender porque um teste falha;
                    –  Como chamar os testes.




                       Testes descritos em nomes de métodos

                       TestComprarPassagemPromocionalSomenteIdaParaUmAdultoVooDisponivel
                       TestComprarPassagemPromocionalIdaEVoltaParaUmAdultoVooDisponivel
                       TestComprarPassagemFlexSomenteIdaParaUmAdultoVooDisponivel




www.qualister.com.br
BDD


•  O BDD é uma técnica de desenvolvimento de
   software, onde os programadores desenvolvem o
   software guiados por comportamentos.

•  Os comportamentos são descritos em uma
   linguagem natural similar a linguagem do negócio
   e deve ser facilmente entendida pelo cliente e
   demais membros do time.




www.qualister.com.br
BDD

•  Um comportamento é descrito por uma estória e por testes de
   aceitação conforme o modelo propoposto por Dan North




www.qualister.com.br
BDD

                                                        Cenários	
  de	
  
                                                           uso	
  


                                                                                         Exemplos	
  
                            Expecta>vas	
  
                                                                                          de	
  uso	
  




                       Assunções	
                                                             Limitações	
  

                                              Linguagem Ubíqua



                                        Premissas	
                          Restrições	
  

www.qualister.com.br
BDD

•       Várias ferramentas auxiliam o programador a transformar os comportamentos
        em verificações automatizadas




                                                                      Código	
  


                                                                        API	
  

                                                                     Interface	
  
                                                                      gráfica	
  
                                       Codigo	
  de	
  suporte	
  
                                          “fixture”	
  que	
  
                Comportamento	
  
                                           encapsula	
  a	
  
                 em	
  linguagem	
  
                                       implementação	
  da	
  
                                                                       Etc...	
  
                     natural	
          ação	
  descrita	
  em	
  
                                       linguagem	
  natural	
  




     www.qualister.com.br
BDD




                       http://en.wikipedia.org/wiki/Behavior_Driven_Development
                       http://blog.dannorth.net/introducing-bdd/
www.qualister.com.br
BDD

•  Exemplo usando JBehave




                       http://jbehave.org/
www.qualister.com.br   http://www.infoblogs.com.br/view.action?contentId=201186&BDD-com-JBehave.html
BDD

•  Exemplo usando JBehave




                       http://jbehave.org/
www.qualister.com.br   http://www.infoblogs.com.br/view.action?contentId=201186&BDD-com-JBehave.html
BDD

•  Exemplo usando JBehave




                       http://jbehave.org/
www.qualister.com.br   http://www.infoblogs.com.br/view.action?contentId=201186&BDD-com-JBehave.html
BDD

•  Exemplo usando JBehave




                       http://jbehave.org/
www.qualister.com.br   http://www.infoblogs.com.br/view.action?contentId=201186&BDD-com-JBehave.html
Automação de testes tradicional

•    O foco da automação é a Interface Gráfica
•    É usada a abordagem Record / Playback
•    São gerados scripts em linguagens proprietárias
•    Os scripts gerados não são amigáveis




 www.qualister.com.br
Automação de testes tradicional


•  O problema:




            BDD
              +
 Automação de testes tradicional


www.qualister.com.br
Automação de testes tradicional

•  A solução:
                                          	
  
                                          	
  
                                          	
  
                                          	
  




                                          Ferramenta	
  tradicional	
  
                                            de	
  automação	
  de	
  
                                                    testes	
  
          Testes	
  de	
  aceitação	
  
            em	
  linguagem	
                                             Interface	
  Gráfica	
  do	
  
          natural	
  na	
  filosofia	
                                            sistema	
  
                    BDD	
  




 www.qualister.com.br
Automação de testes tradicional

•  A solução:

      – BDD4TC




 www.qualister.com.br
Automação de testes tradicional

•  BDD4TC
     –  Funcionamento




www.qualister.com.br
Automação de testes tradicional

•  BDD4TC




www.qualister.com.br
Automação de testes tradicional

•  BDD4TC




www.qualister.com.br
Automação de testes tradicional

•  BDD4TC




www.qualister.com.br
Automação de testes tradicional

•  BDD4TC




www.qualister.com.br
Automação de testes tradicional

•  BDD4TC




www.qualister.com.br
Automação de testes tradicional


•  Demonstração




www.qualister.com.br
Dúvidas?


•  Dúvidas
     – Email: cristiano.caetano@qualister.com.br
     – Twitter: c_caetano




www.qualister.com.br

Test day 2012

  • 1.
    Seminário de testede software – 2012 http://www.testday.com.br/ Palestra   Mesclando  automação  de  teste  tradicional  com  BDD     Cris%ano  Caetano  -­‐  Qualister  
  • 2.
    Direitos autorais Importante er produção de qualqu proibida a cópia e re –  É resentação incluindo, parte do conteúdo desta ap , imagens, gráficos e mas não limitado a, textos é protegida pelas leis tabela s. Esta apresentação no opriedade de Cristia de Copyright e são pr e Treinamento Caetano e Qualister Consultoria LTDA. r, copiar, guardar em –  Não é permitido modifica ugar, vender ou banco de dados público, al apresentação, republicar qualquer parte desta o explícita do autor. sem prévia permissã o deste material, –  Quando ho uver permissão de us e bibliográfica conform é ob rigatória a referência as normas vigentes. www.qualister.com.br
  • 3.
    Palestrante Cristiano Caetano cristiano.caetano@qualister.com.br www.slideshare.net/cristianocaetano @c_caetano www.qualister.com.br
  • 4.
    Tópico Mesclando automação de teste tradicional com BDD www.qualister.com.br
  • 5.
    BDD •  Dan North, criador do BDD (Desenvolvimento dirigido por comportamento) percebeu diversas dificuldades na aplicação de testes unitários via TDD, tais como: –  Saber por onde começar; –  O que testar e o que não testar; –  Até onde testar; –  Entender porque um teste falha; –  Como chamar os testes. Testes descritos em nomes de métodos TestComprarPassagemPromocionalSomenteIdaParaUmAdultoVooDisponivel TestComprarPassagemPromocionalIdaEVoltaParaUmAdultoVooDisponivel TestComprarPassagemFlexSomenteIdaParaUmAdultoVooDisponivel www.qualister.com.br
  • 6.
    BDD •  O BDDé uma técnica de desenvolvimento de software, onde os programadores desenvolvem o software guiados por comportamentos. •  Os comportamentos são descritos em uma linguagem natural similar a linguagem do negócio e deve ser facilmente entendida pelo cliente e demais membros do time. www.qualister.com.br
  • 7.
    BDD •  Um comportamentoé descrito por uma estória e por testes de aceitação conforme o modelo propoposto por Dan North www.qualister.com.br
  • 8.
    BDD Cenários  de   uso   Exemplos   Expecta>vas   de  uso   Assunções   Limitações   Linguagem Ubíqua Premissas   Restrições   www.qualister.com.br
  • 9.
    BDD •  Várias ferramentas auxiliam o programador a transformar os comportamentos em verificações automatizadas Código   API   Interface   gráfica   Codigo  de  suporte   “fixture”  que   Comportamento   encapsula  a   em  linguagem   implementação  da   Etc...   natural   ação  descrita  em   linguagem  natural   www.qualister.com.br
  • 10.
    BDD http://en.wikipedia.org/wiki/Behavior_Driven_Development http://blog.dannorth.net/introducing-bdd/ www.qualister.com.br
  • 11.
    BDD •  Exemplo usandoJBehave http://jbehave.org/ www.qualister.com.br http://www.infoblogs.com.br/view.action?contentId=201186&BDD-com-JBehave.html
  • 12.
    BDD •  Exemplo usandoJBehave http://jbehave.org/ www.qualister.com.br http://www.infoblogs.com.br/view.action?contentId=201186&BDD-com-JBehave.html
  • 13.
    BDD •  Exemplo usandoJBehave http://jbehave.org/ www.qualister.com.br http://www.infoblogs.com.br/view.action?contentId=201186&BDD-com-JBehave.html
  • 14.
    BDD •  Exemplo usandoJBehave http://jbehave.org/ www.qualister.com.br http://www.infoblogs.com.br/view.action?contentId=201186&BDD-com-JBehave.html
  • 15.
    Automação de testestradicional •  O foco da automação é a Interface Gráfica •  É usada a abordagem Record / Playback •  São gerados scripts em linguagens proprietárias •  Os scripts gerados não são amigáveis www.qualister.com.br
  • 16.
    Automação de testestradicional •  O problema: BDD + Automação de testes tradicional www.qualister.com.br
  • 17.
    Automação de testestradicional •  A solução:         Ferramenta  tradicional   de  automação  de   testes   Testes  de  aceitação   em  linguagem   Interface  Gráfica  do   natural  na  filosofia   sistema   BDD   www.qualister.com.br
  • 18.
    Automação de testestradicional •  A solução: – BDD4TC www.qualister.com.br
  • 19.
    Automação de testestradicional •  BDD4TC –  Funcionamento www.qualister.com.br
  • 20.
    Automação de testestradicional •  BDD4TC www.qualister.com.br
  • 21.
    Automação de testestradicional •  BDD4TC www.qualister.com.br
  • 22.
    Automação de testestradicional •  BDD4TC www.qualister.com.br
  • 23.
    Automação de testestradicional •  BDD4TC www.qualister.com.br
  • 24.
    Automação de testestradicional •  BDD4TC www.qualister.com.br
  • 25.
    Automação de testestradicional •  Demonstração www.qualister.com.br
  • 26.
    Dúvidas? •  Dúvidas – Email: cristiano.caetano@qualister.com.br – Twitter: c_caetano www.qualister.com.br