Desmistificando
 Agile Testing


        Tatiane Fukuda - 2011
Qual a
diferença...




               ...entre teste
               tradicional e
                 teste ágil?
Time tradicional

                                                 Produto
Projeto       Implementação            Teste    Finalizado!

                                                              MESES




Time ágil



Necessidade   Versão 1    Versão 2   Versão 3    Versão 4

                                                              MESES
Time tradicional


                                    Produto
Projeto    Implementação   Teste   Finalizado!

                                           MESES
Time ágil



Necessidade   Versão 1   Versão 2

                                                          MESES
             Nova        Versão 1   Versão 2   Versão 3
          Necessidade
E o que a história da
cafeteira tem a ver com o
     processo ágil?
Processo Ágil
Melhoria contínua
Entrega contínua
Adaptação a mudanças
Incremental
Comunicação
Qualidade
Princípios do testador ágil
Feedback contínuo
Entrega de valor ao cliente
Comunicação face-to-face
Coragem
Simplicidade
Melhoria contínua
Resposta a mudanças
Auto-organização
Foco em pessoas
Divirta-se!
                              Fonte: Crispin, Lisa, and Gregory, Janet. Agile Testing: A
                              Practical Guide for Testers and Agile Teams, Addison-Wesley,
                              2009.
Processo no Meme
                 Reuniões
                  diárias

                                  24 horas
                                                Incremento
Backlog de   Backlog do
                                               entregável do
 Produto       Sprint
                                                  produto

                                     10 dias




                              Review e
                            Retrospectiva
O Time
Todo o time é
responsável pela
    qualidade
Planning Meeting
O escopo é negociável.
   A qualidade não!
Stand-up meeting
Reunião de retrospectiva
Fonte: http://www.infoq.com/news/2008/01/iterating-and-incrementing
Pair Programming / Pair
        Testing
stories           tasks         tasks
 to do            to do   wip   done    blocks


          T   T   T   A




          T   T   A
studies                                                                                      in prod



                                     tech
                        2    bugs    debt


                        3    other




                                                5




                                       {
                                                             3
stories    stories                                  taks                    stories    stories    stories   stories
                     tasks              taks               tasks   tasks                          waiting                test
 to do     in dev    to do             in dev        dev    test           checkout   PO review             deploy    scenarios
                                                    done           done                            push
Quadrantes de testes ágeis
     Automático e Manual             voltado ao negócio                                Manual

                 testes de aceitação (stories)
                                                             testes exploratórios
                       testes funcionais
                                                            testes de usabilidade




                                                                                                        criticar o produto
                           exemplos
                                                        testes de aceitação (usuário)
apoiar o time




                          protótipos
                          simulações
                                        Q2 Q3                     alpha/beta




                       testes unitários
                                        Q1 Q4           testes de carga/performance
                   testes de componentes                    testes de segurança



                Automático           voltado à tecnologia                          Ferramentas

                                          Fonte: Crispin, Lisa, and Gregory, Janet. Agile Testing: A Practical
                                          Guide for Testers and Agile Teams, Addison-Wesley, 2009.
Q1

        apoiar o time
                              testes unitários
                          testes de componentes


                        Automático        voltado à
                                         tecnologia

Unit tests
External Integration tests
JavaScript YUI tests
voltado ao
       Automático e Manual
                                      negócio

                 testes de aceitação (stories)
                       testes funcionais

      apoiar o
                           exemplos

        time                           Q2
                          protótipos
                          simulações



Functional tests
Smoke tests
Acceptance tests
Walkthrough da user story
voltado ao
             negócio             Manual

                  testes exploratórios




                                             criticar o
                                             produto
                 testes de usabilidade
             testes de aceitação (usuário)

            Q3         alpha/beta




PO review
Walkthrough antes do push
Walkthrough durante do push
Q4




                                          criticar o
                                          produto
            testes de carga/performance
                testes de segurança


           voltado à        Ferramentas
          tecnologia


Teste de carga
Teste de XSS
Paranoid review
Continuous integration
Pyccuracy

• Testar deve ser fácil, senão acabamos testando menos
• Ferramenta de Behavior-Driven-Development
• Testes escritos em linguagem natural
• Possibilidade de escrever plugins para melhorar a
  semântica dos testes
• Construído em cima do Selenium
SeING
Pyccuracy
Como escrever os testes
     automatizados

• Ser auto-explicativos
• Ser focados
• Ser escrito em uma linguagem que
  todos entendam
• Escrever módulos que possam ser
  reusados
Gerenciamento de defeitos
Pontos para melhoria


 Diminuir                      Times
esforço no                  distribuídos
walkthrough
              Métricas de
              qualidade
Referências
•   Crispin, Lisa, and Gregory, Janet. Agile Testing: A Practical
    Guide for Testers and Agile Teams, Addison-Wesley, 2009.

•   Adzic, Gojko. Bridging the Communication Gap:
    Specification by Example and Agile Acceptance Testing,
    Neuri Limited, 2009.

•   Adzic, Gojko. Specification by Example: How Successful
    Teams Deliver the Right Software, Manning Publications,
    2011.

•   Building software that matters - http://gojko.net/

•   Pyccuracy - http://www.pyccuracy.org
Obrigada!


tatiane.fukuda@gmail.com
https://www.facebook.com/tatiane.fukuda
http://twitter.com/tatiane_fukuda

Desmistificando agile testing tdc 2011

  • 1.
    Desmistificando Agile Testing Tatiane Fukuda - 2011
  • 2.
    Qual a diferença... ...entre teste tradicional e teste ágil?
  • 5.
    Time tradicional Produto Projeto Implementação Teste Finalizado! MESES Time ágil Necessidade Versão 1 Versão 2 Versão 3 Versão 4 MESES
  • 7.
    Time tradicional Produto Projeto Implementação Teste Finalizado! MESES
  • 8.
    Time ágil Necessidade Versão 1 Versão 2 MESES Nova Versão 1 Versão 2 Versão 3 Necessidade
  • 9.
    E o quea história da cafeteira tem a ver com o processo ágil?
  • 10.
    Processo Ágil Melhoria contínua Entregacontínua Adaptação a mudanças Incremental Comunicação Qualidade
  • 11.
    Princípios do testadorágil Feedback contínuo Entrega de valor ao cliente Comunicação face-to-face Coragem Simplicidade Melhoria contínua Resposta a mudanças Auto-organização Foco em pessoas Divirta-se! Fonte: Crispin, Lisa, and Gregory, Janet. Agile Testing: A Practical Guide for Testers and Agile Teams, Addison-Wesley, 2009.
  • 12.
    Processo no Meme Reuniões diárias 24 horas Incremento Backlog de Backlog do entregável do Produto Sprint produto 10 dias Review e Retrospectiva
  • 13.
  • 14.
    Todo o timeé responsável pela qualidade
  • 16.
  • 17.
    O escopo énegociável. A qualidade não!
  • 18.
  • 20.
  • 22.
  • 26.
    Pair Programming /Pair Testing
  • 29.
    stories tasks tasks to do to do wip done blocks T T T A T T A
  • 30.
    studies in prod tech 2 bugs debt 3 other 5 { 3 stories stories taks stories stories stories stories tasks taks tasks tasks waiting test to do in dev to do in dev dev test checkout PO review deploy scenarios done done push
  • 33.
    Quadrantes de testeságeis Automático e Manual voltado ao negócio Manual testes de aceitação (stories) testes exploratórios testes funcionais testes de usabilidade criticar o produto exemplos testes de aceitação (usuário) apoiar o time protótipos simulações Q2 Q3 alpha/beta testes unitários Q1 Q4 testes de carga/performance testes de componentes testes de segurança Automático voltado à tecnologia Ferramentas Fonte: Crispin, Lisa, and Gregory, Janet. Agile Testing: A Practical Guide for Testers and Agile Teams, Addison-Wesley, 2009.
  • 34.
    Q1 apoiar o time testes unitários testes de componentes Automático voltado à tecnologia Unit tests External Integration tests JavaScript YUI tests
  • 35.
    voltado ao Automático e Manual negócio testes de aceitação (stories) testes funcionais apoiar o exemplos time Q2 protótipos simulações Functional tests Smoke tests Acceptance tests Walkthrough da user story
  • 36.
    voltado ao negócio Manual testes exploratórios criticar o produto testes de usabilidade testes de aceitação (usuário) Q3 alpha/beta PO review Walkthrough antes do push Walkthrough durante do push
  • 37.
    Q4 criticar o produto testes de carga/performance testes de segurança voltado à Ferramentas tecnologia Teste de carga Teste de XSS Paranoid review
  • 38.
  • 39.
    Pyccuracy • Testar deveser fácil, senão acabamos testando menos • Ferramenta de Behavior-Driven-Development • Testes escritos em linguagem natural • Possibilidade de escrever plugins para melhorar a semântica dos testes • Construído em cima do Selenium
  • 40.
  • 41.
  • 42.
    Como escrever ostestes automatizados • Ser auto-explicativos • Ser focados • Ser escrito em uma linguagem que todos entendam • Escrever módulos que possam ser reusados
  • 43.
  • 44.
    Pontos para melhoria Diminuir Times esforço no distribuídos walkthrough Métricas de qualidade
  • 45.
    Referências • Crispin, Lisa, and Gregory, Janet. Agile Testing: A Practical Guide for Testers and Agile Teams, Addison-Wesley, 2009. • Adzic, Gojko. Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing, Neuri Limited, 2009. • Adzic, Gojko. Specification by Example: How Successful Teams Deliver the Right Software, Manning Publications, 2011. • Building software that matters - http://gojko.net/ • Pyccuracy - http://www.pyccuracy.org
  • 46.