SlideShare ist ein Scribd-Unternehmen logo
1 von 60
ALATS-SP 2012
   I Seminário Paulista de Teste de Software




        Cristiano Caetano
Testes exploratórios: Ciência ou Arte?

                                    Globalcode	
  –	
  Open4education
Palestrante
!  Cristiano Caetano
!  Email: cristiano.caetano@qualister.com.br



                 @c_caetano


                                   Globalcode	
  –	
  Open4education
Agenda

!       1. Abordagem tradicional
!       2. Testes exploratórios
!       3. Ferramentas de apoio
!       4. Conclusão




                                   Globalcode	
  –	
  Open4education
Agenda


!   1. Abordagem tradicional




                      Globalcode	
  –	
  Open4education
Ciclo de vida genérico


 Planejamento   Especificação   Execução          Resultados




                                           Globalcode	
  –	
  Open4education
Especificação de testes


 Planejamento   Especificação           Execução                     Resultados




  Oráculo         Técnicas      Condições          Casos de                 Scripts de
 (Requisito)      de testes     de testes           testes                   testes




                                                              Globalcode	
  –	
  Open4education
Técnicas de testes


 Planejamento                            Especificação              Execução                         Resultados




  Oráculo                                    Técnicas       Condições             Casos de                 Scripts de
 (Requisito)                                 de testes      de testes              testes                   testes




                 Caixa Preta (Funcional)                                Caixa Branca (Estrutural)
               Classes de equivalencia/Valores limítrofes
                                                                            Teste estrutura de controle
                          Tabelas de decisão
                                                                                Teste de condição
                               Pairwise
                                                                                  Teste de ciclo
                    Tabela de transição de estados
                                                                                 Teste de decisão
                        Árvore de classificação
                                                                             Teste de fluxo de dados
                    Tabela de transição de estados



                                                                                             Globalcode	
  –	
  Open4education
Técnicas de testes


 Planejamento                            Especificação                       Execução                          Resultados
                                                                       rte    s
                                                             P ontos fo
                                                                                ica
                                                            Estad o da prát
                                                                              l
  Oráculo                                    Técnicas           Confiáve
                                                                    Condições               Casos de                 Scripts de
                                                                     de testes l
                                                                  epetitíve
 (Requisito)                                 de testes                                       testes                   testes
                                                                R
                                                                                co
                                                              Det erminísti
                                                                                l
                                                                 Previsíve
                 Caixa Preta (Funcional)                                          Caixa Branca (Estrutural)
               Classes de equivalencia/Valores limítrofes
                                                                                      Teste estrutura de controle
                          Tabelas de decisão
                                                                                          Teste de condição
                               Pairwise
                                                                                            Teste de ciclo
                    Tabela de transição de estados
                                                                                           Teste de decisão
                        Árvore de classificação
                                                                                       Teste de fluxo de dados
                    Tabela de transição de estados



                                                                                                       Globalcode	
  –	
  Open4education
Execução (Baseada em scripts)




 Planejamento   Especificação          Execução                Resultados



                          Executar         Registrar
   Scripts de                                                   Registrar
                          os Scripts          os
    testes                                                     os defeitos
                          de testes       resultados




                                                       Globalcode	
  –	
  Open4education
Execução (Baseada em scripts)

                                              Scripts de
                                              testes de
                                            requisitos e
                                                regras
                                             individuais




    Scripts de
 testes End-to-
    End e de
   integração

                                Globalcode	
  –	
  Open4education
Execução (Baseada em scripts)

                                                                      Scripts de
                                                                      testes de
                                                                    requisitos e
                                                                        regras
                                                                     individuais


                                   rtes
                         P ontos fo
                                             a
                                o  da prátic
                      É o estad ustos
                          Baixos c         ado
                                a utomatiz
                     Pode ser mensurável
                                te                op)
                      Facilmen        do (body sh
                           terceiriza
                  Pode ser


    Scripts de
 testes End-to-
    End e de
   integração

                                                        Globalcode	
  –	
  Open4education
Execução (Baseada em scripts)


!   Execução (Baseada em Scripts)




                                    Globalcode	
  –	
  Open4education
Técnicas de testes


    Caixa Preta (Funcional)                    Caixa Branca (Estrutural)         Baseada na experiência

  Classes de equivalencia/Valores limítrofes
                                                   Teste estrutura de controle
             Tabelas de decisão                                                        Suposição de erro
                                                       Teste de condição
                  Pairwise                                                           Baseado em checklist
                                                         Teste de ciclo
       Tabela de transição de estados                                                      Ataques
                                                        Teste de decisão
           Árvore de classificação                                                    Testes exploratórios
                                                    Teste de fluxo de dados
       Tabela de transição de estados




                                    Testes exploratórios


                                                                                       Globalcode	
  –	
  Open4education
Agenda


!   2. Testes exploratórios




                     Globalcode	
  –	
  Open4education
Testes exploratórios

 !   Conceitos:
        !   O teste exploratório é, na sua definição mais básica, o
            aprendizado, a criação e a execução ao mesmo tempo
            de um teste.

        !   É uma atividade iterativa e empírica de exploração
            que exige idas e vindas num processo de investigação
            contínuo onde a intuição, a criatividade e a experiência
            do testador são indispensáveis para garantir a eficiência
            do teste.

Cristiano Caetano: Testes exploratórios de A a Z
http://www.linhadecodigo.com.br/artigo/1102/Testes-Explorat%C3%B3rios-de-A-a-Z.aspx
                                                                                      Globalcode	
  –	
  Open4education
Testes exploratórios

!   Estrutura:
     1. Criação de uma hipótese. Um modelo mental
        representando o funcionamento supostamente correto
        da área do sistema que será testado;
     2. Planejar um ou mais cenários de teste que possam
        comprovar se a hipótese é verdadeira;
     3. Aplicar os testes e observar os resultados;
     4. Avaliar os resultados contra a hipótese levantada no
        primeiro passo;
     5. Repetir esse processo até que a hipótese seja
        comprovada (ou não).
A Practitioner's Guide to Software Test Design. Lee Copeland
                                                               Globalcode	
  –	
  Open4education
Testes exploratórios

!   Características:
   !   Dependem da intuição, julgamento e criatividade do
       testador
   !   Os testes não são criados com antecedência
   !   Não segue um script rígido (segue guias e diretrizes)
   !   É baseado em pensamento estruturado e exploração
       livre
   !   Enfoca o aprendizado em paralelo
   !   A execução do teste é guiada/aprimorada com base em
       execuções anteriores (continuous test planning)
   !   Fluxo imediato de feedback (e correção de curso)
                                              Globalcode	
  –	
  Open4education
Testes exploratórios


    Caixa Preta (Funcional)                    Caixa Branca (Estrutural)            Baseada na experiência

  Classes de equivalencia/Valores limítrofes
                                                   Teste estrutura de controle
             Tabelas de decisão                                                          Suposição de erro
                                                       Teste de condição
                  Pairwise                                                              Baseado em checklist
                                                         Teste de ciclo
       Tabela de transição de estados                                                        Ataques
                                                        Teste de decisão
           Árvore de classificação                                                          Exploratório
                                                    Teste de fluxo de dados
       Tabela de transição de estados




                                                                                        Informal
                                                                                   Não sistemático
                                                                                    Não é confiável
                                                                                   Não é repetitível
                                                                                  Não é reproduzível
                                                                                 Não produz evidências



                                                                                          Globalcode	
  –	
  Open4education
Testes exploratórios




Testes baseados
   em Scripts                             Exploratórios
                                             ad-hoc
                       Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões




Testes baseados
   em Scripts                                   Exploratórios
                                                   ad-hoc
                             Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !   Teste exploratório baseado em
               sessões oferece um mecanismo para
               planejar, acompanhar e dar maior
               visibilidade ao teste exploratório, sem
               no entanto, burocratizar a exploração




           http://www.satisfice.com/sbtm/index.shtml
                                                       Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Elementos básicos:
              !  Em uma sessão de trabalho com
                 um período pré-determinado de
                 tempo, um testador interage com o
                 software para cumprir os objetivos
                 de uma missão de testes e relatar
                 os resultados.




                                       Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Elementos básicos:
              !  Em uma sessão de trabalho com
                 um período pré-determinado de
                 tempo, um testador interage com o
                 software para cumprir os objetivos
                 de uma missão de testes e relatar
                 os resultados.




                                       Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Testador:
              !   No teste exploratório o oráculo é o testador. Neste
                  caso, a experiência do testador afeta diretamente a
                  qualidade do teste exploratório.
                  !       Criatividade
                  !       Observação cuidadosa
                  !       Metódico
                  !       Pensamento crítico
                  !       Aprendizado rápido
                  !       Intuição
                  !       Improviso
                  !       Especulador
                  !       Auto-gerenciamento
                  !       Idéias diversificadas


                                                     Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Software:
              !   É o produto alvo da missão do teste exploratório.
                  Para que o teste exploratório ocorra, é necessário
                  que o software (funcionalidade, tela, etc) já tenha
                  sido desenvolvido.

              !   Como muitas vezes não existe documentação,
                  requisitos, etc, o software é a única fonte de
                  informação disponível para apoiar a exploração




                                                  Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Missão:
              !   A missão determina o que deve ser testado (não
                  como o teste deve ser realizado).

              !   Ao final da sessão de teste exploratório, novas
                  idéias, oportunidades ou problemas encontrados
                  pelo testador podem ser usados para a criação de
                  novas missões.

              !   Não deve ser muito específica nem muito
                  genérica



                                                Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


            !  Missão:
                    !   Heurísticas (estratégias para geração de idéias)
                           !     Heurística HICCUPPS (Michael Bolton)
                           !     Heurística SFDPO (James Bach)
                           !     Heurística FCC CUTS VIDS (Mike Kelly)
                           !     CRUCSPICSTMP (Test Eye team)
                           !     Heurística IOSC
                           !     Heurística de consistência
                           !     Pensamento lateral orientado a questionamentos
                           !     Atributos da Qualidade
                           !     Entre outros



           Learning Styles and Exploratory Testing
           http://www.kaner.com/pdfs/ExploratoryTestingandLearningStyles(Final).pdf
                                                                                      Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


            !  Missão:
                    !   Heurística HICCUPPS (Michael Bolton)
                           !   (H)istory: As funcionalidades do software devem se comportar de
                               forma consistente ao longo do tempo
                           !   (I)mage: O comportamento e aparência do software está alinhada
                               com a imagem que o fabricante deseja expor ao usuário
                           !   (C)omparable products: O software é compatível com software
                               similares
                           !   (C)laims: O software se comporta de acordo com os requisitos
                           !   (U)ser expectation: As funcionalidades se comportam conforme a
                               expectativa do usuário
                           !   (P)roduct itself: As funcionalidades são consistentes entre si
                           !   (P)urpose: As funcionalidades atendem o seu propósito
                           !   (S)tatuses: O produto está em conformidade, com leis,
                               regulamentos, diretrizes, etc



           Learning Styles and Exploratory Testing
           http://www.kaner.com/pdfs/ExploratoryTestingandLearningStyles(Final).pdf
                                                                                      Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


            !  Missão:
                    !   Heurística IOSC
                           !   Input: Exploração do comportamento do software sob a
                               perspectiva das entradas de dados.
                           !   Output: Exploração do comportamento do software sob a
                               perspectiva das saídas de dados.
                           !   Storage: Exploração do comportamento do software sob a
                               perspectiva dos dados armazenados.
                           !   Computation: Exploração do comportamento do software sob a
                               perspectiva da computação/processamento dos dados




           Learning Styles and Exploratory Testing
           http://www.kaner.com/pdfs/ExploratoryTestingandLearningStyles(Final).pdf
                                                                                      Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


            !  Missão:
                    !   Heurísticas (Mind Maps)




           Mind Maps
           http://m.pinterest.com/rosiesherry/testing-mindmaps/
                                                                  Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


            !  Missão:
                     !   Heurísticas (Rolling Strategy Dice)




           The Big Exploratory Testing Rolling Strategy Dice
           http://testing.gershon.info/201108/the-big-exploratory/
                                                                     Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Missão:
                  !   Elisabeth Hendrickson recomenda o seguinte formato:




           Exploratory Testing in an Agile Context
           http://www.agilistry.com/downloads/ETinAgile-agile2011-final.pdf
                                                                              Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Missão:
              !   Cristiano Caetano recomenda o seguinte formato:




                                                    Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Sessão:
              !   Compreende um período ininterrupto de tempo com
                  duração de cerca de 1 a 2 horas. Alguns autores
                  recomendam 90 minutos no máximo.

              !   Durante a sessão, o testador cria e simultâneamente
                  executa os testes. Além disso, também aprende mais
                  sobre o funcionamento e comportamento do software.

              !   Durante a sessão o testador também investiga e
                  registra defeitos, assim como, configura e prepara o
                  ambiente de testes.




                                                      Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Sessão:
              !   Etapas
                 !   Preparação (Setup): Preparação do ambiente de testes,
                     configuração de massa de dados, leitura de manuais,
                     requisitos, diagramas, etc.
                 !   Especificação (Design): Definição (modelo mental) dos
                     casos de testes (hipóteses) baseados em heurísticas,
                     idéias, checklists, etc.
                 !   Execução (Execution): Execução propriamente dita do
                     teste exploratório para demonstrar se as hipóteses/
                     expectativas foram atendidas (ou não).
                 !   Oportunidades (Opportunities): Tempo gasto em
                     atividades/explorações/Investigações que não estão no
                     escopo ou foco da missão.
                 !   Relato de defeitos (Bug investigation/Report):
                     Investigação e registro de defeitos.

                                                      Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Resultados:
              !   Durante o teste exploratório o testador registra os
                  resultados no Relatório da Sessão.

              !   O relatório inclui notas sobre o que foi testado, o
                  ambiente de testes, arquivos de dados, defeitos
                  encontrados, algumas métricas básicas, etc.




                                                   Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Resultados:
              !   Relatório da Sessão




                                        Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


            !  Resultados:
                    !   Métricas (TBS):
                            !   (T) Test Execution/Design: Percentual do tempo total
                                gasto na criação e execução dos testes exploratórios
                            !   (B) Bug Investigation/Report: Percentual do tempo total
                                gasto na investigação e relato de defeitos
                            !   (S) Setup: Preparação: Percentual do tempo total gasto
                                em prepação (estudo, configuração de hardware/software,
                                outras atividades não relacionadas ao teste, etc)


                    !   Também é recomendado que seja relatado o tempo gasto em
                        oportunidades. Já que o teste é exploratório, os testadores são
                        encorajados a investir um tempo também em investigações em
                        áreas não relacionadas ao escopo da missão.


           Session-Based Test Management
           http://www.satisfice.com/articles/sbtm.pdf
                                                                 Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


            !  Resultados:
                    !   Métricas:
                            !       Número de sessões completadas
                            !       Número de defeitos encontrados
                            !       Número de funcionalidades cobertas
                            !       Tempo gasto em configuração de ambiente
                            !       Tempo gasto testando
                            !       Tempo gasto investigando problemas
                            !       Entre outros




           Session-Based Test Management
           http://www.satisfice.com/articles/sbtm.pdf
                                                                    Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


            !  Resultados:
                   !   Debrief (Prestação de contas)
                          !   Visibilidade e feedback sobre o que foi feito


                   !   Jon Bach, um dos idealizadores do teste exploratório baseado
                       em sessões, recomenda que a prestação de contas siga a
                       estrutura descrita pelo acrônimo PROOF:
                          !   (P) Past (passado): O que aconteceu durante a sessão?
                          !   (R) Results (resultados): Quais resultados foram atingidos
                              durante a sessão?
                          !   (O) Obstacles (obstáculos): Quais obstáculos atrapalharam a
                              exploração?
                          !   (O) Outlook (previsão/perspectiva): O que ainda falta fazer?
                          !   (F) Feelings (sentimentos): Como o testador se sente (em
                              relação ao teste ou qualidade)?

           How to Manage and Measure Exploratory Testing
           http://www.quardev.com/content/whitepapers/how_measure_exploratory_testing.pdf
                                                                                  Globalcode	
  –	
  Open4education
Agenda


!   3. Ferramentas de apoio




                      Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Ferramentas de apoio:
              !   Papel, caneta, notepad, Excel




                                                  Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Ferramentas de apoio:
              !   Wink (Free)




              !   BB TestAssistant ($225)




                                            Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Ferramentas de apoio:
              !   Gravador de passos do Windows (Free)




                                               Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Ferramentas de apoio:
              !   Session Creator




                                    Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Ferramentas de apoio:
              !   Session Tester




                                   Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Ferramentas de apoio:
              !   Rapid Reporter




                                   Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Ferramentas de apoio:
              !   Testpad




                                  Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Ferramentas de apoio:
              !   KanbanFlow




                                  Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões


           !  Ferramentas de apoio:
              !   TestLink




                                  Globalcode	
  –	
  Open4education
Agenda


!   4. Conclusão




                   Globalcode	
  –	
  Open4education
Conclusão




              !   Ciência   !   Arte




Testes baseados
   em Scripts                                         Exploratórios
                                                         ad-hoc
                                   Globalcode	
  –	
  Open4education
Conclusão

!   Método científico:




   Os progressos da ciência são acompanhados de muitas horas de trabalho
 cuidadoso, que segue um caminho mais ou menos sistemático na busca de
  respostas a questões científicas. É este o caminho denominado de método
                             científico (Wikipédia)
                                                         Globalcode	
  –	
  Open4education
Conclusão

!   Método científico:
                                                             o
                                                  v isto com
                                      deve ser
                         software és de um trilho
                 Teste de lha ao inv
                    uma tri   Cris tiano Ca
                                            etano
                                                                      )
                                                             ikipédia
                                                  idade (W                                  ncia,
                                       Serendip                                 ç os na ciê da
                                                                     tes avan          rel ou
                                                     mais   importan        ri Becque nte. No
                                           uns dos                por Hen             ide
                           cons iderar alg da radioatividade ocorrido por ac
              É comum s descobertas                              do                       a é que
                        o a                   ming, c  omo ten       servaçã   o científic lvidas
              tais com or Alexander Fle mar à luz da ob                    s pessoa
                                                                                     s envo
               penicilina
                           p                  afir                  que a                   rtanto,
                                     possível             ma vez                 a ndo, po
                          o que é               entais, u              te", est           édia)
               entanto,         cialm ente acid r cientificamen               nte (Wikip
                          o par             "pensa                 interessa
                terão sid        n dido a             lg o novo e
   Os progressosadam apre e que observaram a
                 h via ciência são acompanhados de muitas horas de trabalho
                           tes d
                 c nscien
  cuidadoso, queosegue um caminho mais ou menos sistemático na busca de
  respostas a questões científicas. É este o caminho denominado de método
                             científico (Wikipédia)
                                                                              Globalcode	
  –	
  Open4education
Conclusão

!  Benefícios do teste exploratório
  !   Fornecer feedback rápido sobre a qualidade de um novo software
      ou nova funcionalidade
  !   Aprender rapidamente o funcionamento de um software
  !   Encontrar defeitos críticos rapidamente
  !   Investigar e isolar um defeito em particular
  !   Investigar áreas do software com alto nível de risco
  !   Quando não existem requisitos ou os requisitos mudam com
      frequência




                                                    Globalcode	
  –	
  Open4education
Conclusão




            Complementar com mais diversificação
            os testes tradicionais baseados em
            scripts
                                 Globalcode	
  –	
  Open4education
Conclusão


             Testes exploratórios (manuais)


               Scripts de testes (manuais)


            Scripts de testes (automatizados)


            Testes unitários e de integração
                   (Automatizados)


                    Testes estáticos


                 Revisões de artefatos




                                       Globalcode	
  –	
  Open4education
Palestrante
!  Cristiano Caetano
!  Email: cristiano.caetano@qualister.com.br


                 @c_caetano



http://www.slideshare.net/cristianocaetano
                                   Globalcode	
  –	
  Open4education
Para saber mais...
!    Heuristic Test Strateg Model
!    http://www.satisfice.com/tools/satisfice-tsm-4p.pdf

!    A Tutorial in Exploratory Testing
!    http://www.kaner.com/pdfs/QAIExploring.pdf

!    Session-based testing
!    http://en.wikipedia.org/wiki/Session-based_testing

!    Dynamics of Exploratory Testing
!    http://www.quardev.com/content/whitepapers/ExploratoryTestingasSport_JonBach_PNSQC06pdf.pdf

!    Exploratory Testing in an Agile Context
!    http://www.agilistry.com/downloads/ETinAgile-agile2011-final.pdf

!    The Nature of Exploratory Testing
!    http://www.testingeducation.org/a/nature.pdf

!    How to Manage and Measure Exploratory Testing
!    http://www.quardev.com/content/whitepapers/how_measure_exploratory_testing.pdf




                                                                                             Globalcode	
  –	
  Open4education
Para saber mais...
!    Exploratory Testing in Pairs
!    http://www.kaner.com/pdfs/exptest.pdf

!    How to: Start an Exploratory Test Session in Microsoft Test Manager
!    http://msdn.microsoft.com/en-us/library/hh191616(v=vs.110). Aspx

!    Exploratory Testing – An Agile Approach
!    http://xebee.xebia.in/wp-content/uploads/2009/11/Exploratory-Testing-an-Agile-approach.pdf

!    Learning Styles and Exploratory Testing
!    http://www.testingeducation.org/a/lset.pdf

!    Session-Based Test Management
!    http://www.satisfice.com/articles/sbtm.pdf

!    Learning Styles and Exploratory Testing
!    http://www.kaner.com/pdfs/ExploratoryTestingandLearningStyles(Final).pdf

!    Testing in Session - How to measure exploratory testing
!    http://sasqag.org/pastmeetings/ExploratoryTesting_SessionBasedTestManagement.pdf

!    Test Heuristics Cheat Sheet
!    http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf



                                                                                                  Globalcode	
  –	
  Open4education

Weitere ähnliche Inhalte

Ähnlich wie Testes Exploratórios ALATS SP 2012

Técnicas de Testes Funcionais Caixa-Preta
Técnicas de Testes Funcionais Caixa-PretaTécnicas de Testes Funcionais Caixa-Preta
Técnicas de Testes Funcionais Caixa-PretaLucas Amaral
 
Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2Fernando Palma
 
Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Fabrício Campos
 
Atividades de Teste e Cobertura de Código em Java
Atividades de Teste e Cobertura de Código em JavaAtividades de Teste e Cobertura de Código em Java
Atividades de Teste e Cobertura de Código em Javaaceiro
 
Labpro2008 - Detalhes
Labpro2008 - DetalhesLabpro2008 - Detalhes
Labpro2008 - DetalhesPaulo Santos
 
Planejamento de Experimentos e Comparação Estatística de Algoritmos
Planejamento de Experimentos e Comparação Estatística de AlgoritmosPlanejamento de Experimentos e Comparação Estatística de Algoritmos
Planejamento de Experimentos e Comparação Estatística de Algoritmosfcampelofp
 
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
 

Ähnlich wie Testes Exploratórios ALATS SP 2012 (10)

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
 
Técnicas de Testes Funcionais Caixa-Preta
Técnicas de Testes Funcionais Caixa-PretaTécnicas de Testes Funcionais Caixa-Preta
Técnicas de Testes Funcionais Caixa-Preta
 
Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2
 
Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)
 
Atividades de Teste e Cobertura de Código em Java
Atividades de Teste e Cobertura de Código em JavaAtividades de Teste e Cobertura de Código em Java
Atividades de Teste e Cobertura de Código em Java
 
Testing sucks
Testing sucksTesting sucks
Testing sucks
 
Labpro2008 - Detalhes
Labpro2008 - DetalhesLabpro2008 - Detalhes
Labpro2008 - Detalhes
 
Planejamento de Experimentos e Comparação Estatística de Algoritmos
Planejamento de Experimentos e Comparação Estatística de AlgoritmosPlanejamento de Experimentos e Comparação Estatística de Algoritmos
Planejamento de Experimentos e Comparação Estatística de Algoritmos
 
Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1
 
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
 

Testes Exploratórios ALATS SP 2012

  • 1. ALATS-SP 2012 I Seminário Paulista de Teste de Software Cristiano Caetano Testes exploratórios: Ciência ou Arte? Globalcode  –  Open4education
  • 2. Palestrante !  Cristiano Caetano !  Email: cristiano.caetano@qualister.com.br @c_caetano Globalcode  –  Open4education
  • 3. Agenda !   1. Abordagem tradicional !   2. Testes exploratórios !   3. Ferramentas de apoio !   4. Conclusão Globalcode  –  Open4education
  • 4. Agenda !   1. Abordagem tradicional Globalcode  –  Open4education
  • 5. Ciclo de vida genérico Planejamento Especificação Execução Resultados Globalcode  –  Open4education
  • 6. Especificação de testes Planejamento Especificação Execução Resultados Oráculo Técnicas Condições Casos de Scripts de (Requisito) de testes de testes testes testes Globalcode  –  Open4education
  • 7. Técnicas de testes Planejamento Especificação Execução Resultados Oráculo Técnicas Condições Casos de Scripts de (Requisito) de testes de testes testes testes Caixa Preta (Funcional) Caixa Branca (Estrutural) Classes de equivalencia/Valores limítrofes Teste estrutura de controle Tabelas de decisão Teste de condição Pairwise Teste de ciclo Tabela de transição de estados Teste de decisão Árvore de classificação Teste de fluxo de dados Tabela de transição de estados Globalcode  –  Open4education
  • 8. Técnicas de testes Planejamento Especificação Execução Resultados rte s P ontos fo ica Estad o da prát l Oráculo Técnicas Confiáve Condições Casos de Scripts de de testes l epetitíve (Requisito) de testes testes testes R co Det erminísti l Previsíve Caixa Preta (Funcional) Caixa Branca (Estrutural) Classes de equivalencia/Valores limítrofes Teste estrutura de controle Tabelas de decisão Teste de condição Pairwise Teste de ciclo Tabela de transição de estados Teste de decisão Árvore de classificação Teste de fluxo de dados Tabela de transição de estados Globalcode  –  Open4education
  • 9. Execução (Baseada em scripts) Planejamento Especificação Execução Resultados Executar Registrar Scripts de Registrar os Scripts os testes os defeitos de testes resultados Globalcode  –  Open4education
  • 10. Execução (Baseada em scripts) Scripts de testes de requisitos e regras individuais Scripts de testes End-to- End e de integração Globalcode  –  Open4education
  • 11. Execução (Baseada em scripts) Scripts de testes de requisitos e regras individuais rtes P ontos fo a o da prátic É o estad ustos Baixos c ado a utomatiz Pode ser mensurável te op) Facilmen do (body sh terceiriza Pode ser Scripts de testes End-to- End e de integração Globalcode  –  Open4education
  • 12. Execução (Baseada em scripts) !   Execução (Baseada em Scripts) Globalcode  –  Open4education
  • 13. Técnicas de testes Caixa Preta (Funcional) Caixa Branca (Estrutural) Baseada na experiência Classes de equivalencia/Valores limítrofes Teste estrutura de controle Tabelas de decisão Suposição de erro Teste de condição Pairwise Baseado em checklist Teste de ciclo Tabela de transição de estados Ataques Teste de decisão Árvore de classificação Testes exploratórios Teste de fluxo de dados Tabela de transição de estados Testes exploratórios Globalcode  –  Open4education
  • 14. Agenda !   2. Testes exploratórios Globalcode  –  Open4education
  • 15. Testes exploratórios !   Conceitos: !   O teste exploratório é, na sua definição mais básica, o aprendizado, a criação e a execução ao mesmo tempo de um teste. !   É uma atividade iterativa e empírica de exploração que exige idas e vindas num processo de investigação contínuo onde a intuição, a criatividade e a experiência do testador são indispensáveis para garantir a eficiência do teste. Cristiano Caetano: Testes exploratórios de A a Z http://www.linhadecodigo.com.br/artigo/1102/Testes-Explorat%C3%B3rios-de-A-a-Z.aspx Globalcode  –  Open4education
  • 16. Testes exploratórios !   Estrutura: 1. Criação de uma hipótese. Um modelo mental representando o funcionamento supostamente correto da área do sistema que será testado; 2. Planejar um ou mais cenários de teste que possam comprovar se a hipótese é verdadeira; 3. Aplicar os testes e observar os resultados; 4. Avaliar os resultados contra a hipótese levantada no primeiro passo; 5. Repetir esse processo até que a hipótese seja comprovada (ou não). A Practitioner's Guide to Software Test Design. Lee Copeland Globalcode  –  Open4education
  • 17. Testes exploratórios !   Características: !   Dependem da intuição, julgamento e criatividade do testador !   Os testes não são criados com antecedência !   Não segue um script rígido (segue guias e diretrizes) !   É baseado em pensamento estruturado e exploração livre !   Enfoca o aprendizado em paralelo !   A execução do teste é guiada/aprimorada com base em execuções anteriores (continuous test planning) !   Fluxo imediato de feedback (e correção de curso) Globalcode  –  Open4education
  • 18. Testes exploratórios Caixa Preta (Funcional) Caixa Branca (Estrutural) Baseada na experiência Classes de equivalencia/Valores limítrofes Teste estrutura de controle Tabelas de decisão Suposição de erro Teste de condição Pairwise Baseado em checklist Teste de ciclo Tabela de transição de estados Ataques Teste de decisão Árvore de classificação Exploratório Teste de fluxo de dados Tabela de transição de estados Informal Não sistemático Não é confiável Não é repetitível Não é reproduzível Não produz evidências Globalcode  –  Open4education
  • 19. Testes exploratórios Testes baseados em Scripts Exploratórios ad-hoc Globalcode  –  Open4education
  • 20. SBTM: Testes exploratórios baseados em sessões Testes baseados em Scripts Exploratórios ad-hoc Globalcode  –  Open4education
  • 21. SBTM: Testes exploratórios baseados em sessões !   Teste exploratório baseado em sessões oferece um mecanismo para planejar, acompanhar e dar maior visibilidade ao teste exploratório, sem no entanto, burocratizar a exploração http://www.satisfice.com/sbtm/index.shtml Globalcode  –  Open4education
  • 22. SBTM: Testes exploratórios baseados em sessões !  Elementos básicos: !  Em uma sessão de trabalho com um período pré-determinado de tempo, um testador interage com o software para cumprir os objetivos de uma missão de testes e relatar os resultados. Globalcode  –  Open4education
  • 23. SBTM: Testes exploratórios baseados em sessões !  Elementos básicos: !  Em uma sessão de trabalho com um período pré-determinado de tempo, um testador interage com o software para cumprir os objetivos de uma missão de testes e relatar os resultados. Globalcode  –  Open4education
  • 24. SBTM: Testes exploratórios baseados em sessões !  Testador: !   No teste exploratório o oráculo é o testador. Neste caso, a experiência do testador afeta diretamente a qualidade do teste exploratório. !   Criatividade !   Observação cuidadosa !   Metódico !   Pensamento crítico !   Aprendizado rápido !   Intuição !   Improviso !   Especulador !   Auto-gerenciamento !   Idéias diversificadas Globalcode  –  Open4education
  • 25. SBTM: Testes exploratórios baseados em sessões !  Software: !   É o produto alvo da missão do teste exploratório. Para que o teste exploratório ocorra, é necessário que o software (funcionalidade, tela, etc) já tenha sido desenvolvido. !   Como muitas vezes não existe documentação, requisitos, etc, o software é a única fonte de informação disponível para apoiar a exploração Globalcode  –  Open4education
  • 26. SBTM: Testes exploratórios baseados em sessões !  Missão: !   A missão determina o que deve ser testado (não como o teste deve ser realizado). !   Ao final da sessão de teste exploratório, novas idéias, oportunidades ou problemas encontrados pelo testador podem ser usados para a criação de novas missões. !   Não deve ser muito específica nem muito genérica Globalcode  –  Open4education
  • 27. SBTM: Testes exploratórios baseados em sessões !  Missão: !   Heurísticas (estratégias para geração de idéias) !   Heurística HICCUPPS (Michael Bolton) !   Heurística SFDPO (James Bach) !   Heurística FCC CUTS VIDS (Mike Kelly) !   CRUCSPICSTMP (Test Eye team) !   Heurística IOSC !   Heurística de consistência !   Pensamento lateral orientado a questionamentos !   Atributos da Qualidade !   Entre outros Learning Styles and Exploratory Testing http://www.kaner.com/pdfs/ExploratoryTestingandLearningStyles(Final).pdf Globalcode  –  Open4education
  • 28. SBTM: Testes exploratórios baseados em sessões !  Missão: !   Heurística HICCUPPS (Michael Bolton) !   (H)istory: As funcionalidades do software devem se comportar de forma consistente ao longo do tempo !   (I)mage: O comportamento e aparência do software está alinhada com a imagem que o fabricante deseja expor ao usuário !   (C)omparable products: O software é compatível com software similares !   (C)laims: O software se comporta de acordo com os requisitos !   (U)ser expectation: As funcionalidades se comportam conforme a expectativa do usuário !   (P)roduct itself: As funcionalidades são consistentes entre si !   (P)urpose: As funcionalidades atendem o seu propósito !   (S)tatuses: O produto está em conformidade, com leis, regulamentos, diretrizes, etc Learning Styles and Exploratory Testing http://www.kaner.com/pdfs/ExploratoryTestingandLearningStyles(Final).pdf Globalcode  –  Open4education
  • 29. SBTM: Testes exploratórios baseados em sessões !  Missão: !   Heurística IOSC !   Input: Exploração do comportamento do software sob a perspectiva das entradas de dados. !   Output: Exploração do comportamento do software sob a perspectiva das saídas de dados. !   Storage: Exploração do comportamento do software sob a perspectiva dos dados armazenados. !   Computation: Exploração do comportamento do software sob a perspectiva da computação/processamento dos dados Learning Styles and Exploratory Testing http://www.kaner.com/pdfs/ExploratoryTestingandLearningStyles(Final).pdf Globalcode  –  Open4education
  • 30. SBTM: Testes exploratórios baseados em sessões !  Missão: !   Heurísticas (Mind Maps) Mind Maps http://m.pinterest.com/rosiesherry/testing-mindmaps/ Globalcode  –  Open4education
  • 31. SBTM: Testes exploratórios baseados em sessões !  Missão: !   Heurísticas (Rolling Strategy Dice) The Big Exploratory Testing Rolling Strategy Dice http://testing.gershon.info/201108/the-big-exploratory/ Globalcode  –  Open4education
  • 32. SBTM: Testes exploratórios baseados em sessões !  Missão: !   Elisabeth Hendrickson recomenda o seguinte formato: Exploratory Testing in an Agile Context http://www.agilistry.com/downloads/ETinAgile-agile2011-final.pdf Globalcode  –  Open4education
  • 33. SBTM: Testes exploratórios baseados em sessões !  Missão: !   Cristiano Caetano recomenda o seguinte formato: Globalcode  –  Open4education
  • 34. SBTM: Testes exploratórios baseados em sessões !  Sessão: !   Compreende um período ininterrupto de tempo com duração de cerca de 1 a 2 horas. Alguns autores recomendam 90 minutos no máximo. !   Durante a sessão, o testador cria e simultâneamente executa os testes. Além disso, também aprende mais sobre o funcionamento e comportamento do software. !   Durante a sessão o testador também investiga e registra defeitos, assim como, configura e prepara o ambiente de testes. Globalcode  –  Open4education
  • 35. SBTM: Testes exploratórios baseados em sessões !  Sessão: !   Etapas !   Preparação (Setup): Preparação do ambiente de testes, configuração de massa de dados, leitura de manuais, requisitos, diagramas, etc. !   Especificação (Design): Definição (modelo mental) dos casos de testes (hipóteses) baseados em heurísticas, idéias, checklists, etc. !   Execução (Execution): Execução propriamente dita do teste exploratório para demonstrar se as hipóteses/ expectativas foram atendidas (ou não). !   Oportunidades (Opportunities): Tempo gasto em atividades/explorações/Investigações que não estão no escopo ou foco da missão. !   Relato de defeitos (Bug investigation/Report): Investigação e registro de defeitos. Globalcode  –  Open4education
  • 36. SBTM: Testes exploratórios baseados em sessões !  Resultados: !   Durante o teste exploratório o testador registra os resultados no Relatório da Sessão. !   O relatório inclui notas sobre o que foi testado, o ambiente de testes, arquivos de dados, defeitos encontrados, algumas métricas básicas, etc. Globalcode  –  Open4education
  • 37. SBTM: Testes exploratórios baseados em sessões !  Resultados: !   Relatório da Sessão Globalcode  –  Open4education
  • 38. SBTM: Testes exploratórios baseados em sessões !  Resultados: !   Métricas (TBS): !   (T) Test Execution/Design: Percentual do tempo total gasto na criação e execução dos testes exploratórios !   (B) Bug Investigation/Report: Percentual do tempo total gasto na investigação e relato de defeitos !   (S) Setup: Preparação: Percentual do tempo total gasto em prepação (estudo, configuração de hardware/software, outras atividades não relacionadas ao teste, etc) !   Também é recomendado que seja relatado o tempo gasto em oportunidades. Já que o teste é exploratório, os testadores são encorajados a investir um tempo também em investigações em áreas não relacionadas ao escopo da missão. Session-Based Test Management http://www.satisfice.com/articles/sbtm.pdf Globalcode  –  Open4education
  • 39. SBTM: Testes exploratórios baseados em sessões !  Resultados: !   Métricas: !   Número de sessões completadas !   Número de defeitos encontrados !   Número de funcionalidades cobertas !   Tempo gasto em configuração de ambiente !   Tempo gasto testando !   Tempo gasto investigando problemas !   Entre outros Session-Based Test Management http://www.satisfice.com/articles/sbtm.pdf Globalcode  –  Open4education
  • 40. SBTM: Testes exploratórios baseados em sessões !  Resultados: !   Debrief (Prestação de contas) !   Visibilidade e feedback sobre o que foi feito !   Jon Bach, um dos idealizadores do teste exploratório baseado em sessões, recomenda que a prestação de contas siga a estrutura descrita pelo acrônimo PROOF: !   (P) Past (passado): O que aconteceu durante a sessão? !   (R) Results (resultados): Quais resultados foram atingidos durante a sessão? !   (O) Obstacles (obstáculos): Quais obstáculos atrapalharam a exploração? !   (O) Outlook (previsão/perspectiva): O que ainda falta fazer? !   (F) Feelings (sentimentos): Como o testador se sente (em relação ao teste ou qualidade)? How to Manage and Measure Exploratory Testing http://www.quardev.com/content/whitepapers/how_measure_exploratory_testing.pdf Globalcode  –  Open4education
  • 41. Agenda !   3. Ferramentas de apoio Globalcode  –  Open4education
  • 42. SBTM: Testes exploratórios baseados em sessões !  Ferramentas de apoio: !   Papel, caneta, notepad, Excel Globalcode  –  Open4education
  • 43. SBTM: Testes exploratórios baseados em sessões !  Ferramentas de apoio: !   Wink (Free) !   BB TestAssistant ($225) Globalcode  –  Open4education
  • 44. SBTM: Testes exploratórios baseados em sessões !  Ferramentas de apoio: !   Gravador de passos do Windows (Free) Globalcode  –  Open4education
  • 45. SBTM: Testes exploratórios baseados em sessões !  Ferramentas de apoio: !   Session Creator Globalcode  –  Open4education
  • 46. SBTM: Testes exploratórios baseados em sessões !  Ferramentas de apoio: !   Session Tester Globalcode  –  Open4education
  • 47. SBTM: Testes exploratórios baseados em sessões !  Ferramentas de apoio: !   Rapid Reporter Globalcode  –  Open4education
  • 48. SBTM: Testes exploratórios baseados em sessões !  Ferramentas de apoio: !   Testpad Globalcode  –  Open4education
  • 49. SBTM: Testes exploratórios baseados em sessões !  Ferramentas de apoio: !   KanbanFlow Globalcode  –  Open4education
  • 50. SBTM: Testes exploratórios baseados em sessões !  Ferramentas de apoio: !   TestLink Globalcode  –  Open4education
  • 51. Agenda !   4. Conclusão Globalcode  –  Open4education
  • 52. Conclusão !   Ciência !   Arte Testes baseados em Scripts Exploratórios ad-hoc Globalcode  –  Open4education
  • 53. Conclusão !   Método científico: Os progressos da ciência são acompanhados de muitas horas de trabalho cuidadoso, que segue um caminho mais ou menos sistemático na busca de respostas a questões científicas. É este o caminho denominado de método científico (Wikipédia) Globalcode  –  Open4education
  • 54. Conclusão !   Método científico: o v isto com deve ser software és de um trilho Teste de lha ao inv uma tri Cris tiano Ca etano ) ikipédia idade (W ncia, Serendip ç os na ciê da tes avan rel ou mais importan ri Becque nte. No uns dos por Hen ide cons iderar alg da radioatividade ocorrido por ac É comum s descobertas do a é que o a ming, c omo ten servaçã o científic lvidas tais com or Alexander Fle mar à luz da ob s pessoa s envo penicilina p afir que a rtanto, possível ma vez a ndo, po o que é entais, u te", est édia) entanto, cialm ente acid r cientificamen nte (Wikip o par "pensa interessa terão sid n dido a lg o novo e Os progressosadam apre e que observaram a h via ciência são acompanhados de muitas horas de trabalho tes d c nscien cuidadoso, queosegue um caminho mais ou menos sistemático na busca de respostas a questões científicas. É este o caminho denominado de método científico (Wikipédia) Globalcode  –  Open4education
  • 55. Conclusão !  Benefícios do teste exploratório !   Fornecer feedback rápido sobre a qualidade de um novo software ou nova funcionalidade !   Aprender rapidamente o funcionamento de um software !   Encontrar defeitos críticos rapidamente !   Investigar e isolar um defeito em particular !   Investigar áreas do software com alto nível de risco !   Quando não existem requisitos ou os requisitos mudam com frequência Globalcode  –  Open4education
  • 56. Conclusão Complementar com mais diversificação os testes tradicionais baseados em scripts Globalcode  –  Open4education
  • 57. Conclusão Testes exploratórios (manuais) Scripts de testes (manuais) Scripts de testes (automatizados) Testes unitários e de integração (Automatizados) Testes estáticos Revisões de artefatos Globalcode  –  Open4education
  • 58. Palestrante !  Cristiano Caetano !  Email: cristiano.caetano@qualister.com.br @c_caetano http://www.slideshare.net/cristianocaetano Globalcode  –  Open4education
  • 59. Para saber mais... !  Heuristic Test Strateg Model ! http://www.satisfice.com/tools/satisfice-tsm-4p.pdf !  A Tutorial in Exploratory Testing ! http://www.kaner.com/pdfs/QAIExploring.pdf !  Session-based testing ! http://en.wikipedia.org/wiki/Session-based_testing !  Dynamics of Exploratory Testing ! http://www.quardev.com/content/whitepapers/ExploratoryTestingasSport_JonBach_PNSQC06pdf.pdf !  Exploratory Testing in an Agile Context ! http://www.agilistry.com/downloads/ETinAgile-agile2011-final.pdf !  The Nature of Exploratory Testing ! http://www.testingeducation.org/a/nature.pdf !  How to Manage and Measure Exploratory Testing ! http://www.quardev.com/content/whitepapers/how_measure_exploratory_testing.pdf Globalcode  –  Open4education
  • 60. Para saber mais... !  Exploratory Testing in Pairs ! http://www.kaner.com/pdfs/exptest.pdf !  How to: Start an Exploratory Test Session in Microsoft Test Manager !  http://msdn.microsoft.com/en-us/library/hh191616(v=vs.110). Aspx !  Exploratory Testing – An Agile Approach ! http://xebee.xebia.in/wp-content/uploads/2009/11/Exploratory-Testing-an-Agile-approach.pdf !  Learning Styles and Exploratory Testing ! http://www.testingeducation.org/a/lset.pdf !  Session-Based Test Management ! http://www.satisfice.com/articles/sbtm.pdf !  Learning Styles and Exploratory Testing ! http://www.kaner.com/pdfs/ExploratoryTestingandLearningStyles(Final).pdf !  Testing in Session - How to measure exploratory testing ! http://sasqag.org/pastmeetings/ExploratoryTesting_SessionBasedTestManagement.pdf !  Test Heuristics Cheat Sheet ! http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf Globalcode  –  Open4education