SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
EATS 2012


       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



                                 s
                    Pontos forte
                                        a
                           o  da prátic
                  É o estad ustos
                      Baixos c        ado
                           a utomatiz
                  Pode ser mensurável
                           te
                  Facilmen


    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

!   Características:
   !   O projeto, execução, interpretação e aprendizado são realizados pela
       mesma pessoa;
   !   O projeto, execução, interpretação e aprendizado acontecem juntos, ao
       invés de serem executados em momentos diferentes no tempo;
   !   O testador faz as suas escolhas sobre o que será testado, quando testar e
       como testar, ao invés de seguir cegamente um roteiro;
   !   O testador enfoca em revelar novas informações sobre o produto, ao invés
       de confirmar coisas já conhecidas sobre o produto;
   !   Tudo o que o testador aprendeu de novo durante o teste, incluindo o
       resultado do último teste, serve como subsídio para decidir o que será
       testado a seguir;
   !   O testador pode usar qualquer tipo de ferramenta automática para apoiar o
       seu teste ou decidir não usar nenhuma ferramenta;
   !   O testador pode variar diversos aspectos durante a execução dos seus
       testes, ao invés de repeti-los da mesma forma
                                                             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
                                            freestyle
                       Globalcode	
  –	
  Open4education
SBTM: Testes exploratórios
baseados em sessões




Testes baseados
   em Scripts                                   Exploratórios
                                                  freestyle
                             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
                  !       Auto-gerenciamento




                                                     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í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


           !  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:
                   !   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:
              !   Testpad




                                  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
       (Sistemático)   (Criatividade)




Testes baseados
   em Scripts                                   Exploratórios
                                                  freestyle
                             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




            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

Contenu connexe

En vedette

Estratégia de testes ágeis
Estratégia de testes ágeisEstratégia de testes ágeis
Estratégia de testes ágeisCristiano Caetano
 
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013Cristiano Caetano
 
Nunca foi tao facil testar
Nunca foi tao facil testarNunca foi tao facil testar
Nunca foi tao facil testarElias Nogueira
 
Maturidade em automação de testes
Maturidade em automação de testesMaturidade em automação de testes
Maturidade em automação de testesCristiano Caetano
 
Tecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testesTecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testesCristiano Caetano
 
Teste sua app e aumente as chances de mantê-la no mercado
Teste sua app e aumente as chances de mantê-la no mercadoTeste sua app e aumente as chances de mantê-la no mercado
Teste sua app e aumente as chances de mantê-la no mercadoElias Nogueira
 
Testes em ambiente agil - TechTalks ADP Labs
Testes em ambiente agil - TechTalks ADP LabsTestes em ambiente agil - TechTalks ADP Labs
Testes em ambiente agil - TechTalks ADP LabsElias Nogueira
 
Teste avaliacao usabilidade software
Teste avaliacao usabilidade softwareTeste avaliacao usabilidade software
Teste avaliacao usabilidade softwareCristiano Caetano
 
TDC-2014 Automação de testes para não programadores com selenium e keyword dr...
TDC-2014 Automação de testes para não programadores com selenium e keyword dr...TDC-2014 Automação de testes para não programadores com selenium e keyword dr...
TDC-2014 Automação de testes para não programadores com selenium e keyword dr...Cristiano Caetano
 
Automação de testes: Teoria e Prática (SENAI) - Qualister
Automação de testes: Teoria e Prática (SENAI) - QualisterAutomação de testes: Teoria e Prática (SENAI) - Qualister
Automação de testes: Teoria e Prática (SENAI) - QualisterCristiano Caetano
 
Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosCristiano Caetano
 
O mercado de teste de software GUTS-SC 2016
O mercado de teste de software GUTS-SC 2016O mercado de teste de software GUTS-SC 2016
O mercado de teste de software GUTS-SC 2016Cristiano Caetano
 
Teste performance carga stress jmeter
Teste performance carga stress jmeterTeste performance carga stress jmeter
Teste performance carga stress jmeterCristiano Caetano
 
Automacao testes automatizados
Automacao testes automatizadosAutomacao testes automatizados
Automacao testes automatizadosCristiano Caetano
 
Análise de Riscos - Estratégia infalível no projeto de testes de software
Análise de Riscos - Estratégia infalível no projeto de testes de softwareAnálise de Riscos - Estratégia infalível no projeto de testes de software
Análise de Riscos - Estratégia infalível no projeto de testes de softwareGabi Linhares
 
Perspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwarePerspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwareCristiano Caetano
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingCristiano Caetano
 
Curso treinamento automação de testes com selenium
Curso treinamento automação de testes com seleniumCurso treinamento automação de testes com selenium
Curso treinamento automação de testes com seleniumCristiano Caetano
 

En vedette (20)

Estratégia de testes ágeis
Estratégia de testes ágeisEstratégia de testes ágeis
Estratégia de testes ágeis
 
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013
 
Nunca foi tao facil testar
Nunca foi tao facil testarNunca foi tao facil testar
Nunca foi tao facil testar
 
Maturidade em automação de testes
Maturidade em automação de testesMaturidade em automação de testes
Maturidade em automação de testes
 
Web performance e-book
Web performance e-bookWeb performance e-book
Web performance e-book
 
Tecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testesTecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testes
 
Teste sua app e aumente as chances de mantê-la no mercado
Teste sua app e aumente as chances de mantê-la no mercadoTeste sua app e aumente as chances de mantê-la no mercado
Teste sua app e aumente as chances de mantê-la no mercado
 
Testes em ambiente agil - TechTalks ADP Labs
Testes em ambiente agil - TechTalks ADP LabsTestes em ambiente agil - TechTalks ADP Labs
Testes em ambiente agil - TechTalks ADP Labs
 
Teste avaliacao usabilidade software
Teste avaliacao usabilidade softwareTeste avaliacao usabilidade software
Teste avaliacao usabilidade software
 
TDC-2014 Automação de testes para não programadores com selenium e keyword dr...
TDC-2014 Automação de testes para não programadores com selenium e keyword dr...TDC-2014 Automação de testes para não programadores com selenium e keyword dr...
TDC-2014 Automação de testes para não programadores com selenium e keyword dr...
 
Automação de testes: Teoria e Prática (SENAI) - Qualister
Automação de testes: Teoria e Prática (SENAI) - QualisterAutomação de testes: Teoria e Prática (SENAI) - Qualister
Automação de testes: Teoria e Prática (SENAI) - Qualister
 
Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticos
 
O mercado de teste de software GUTS-SC 2016
O mercado de teste de software GUTS-SC 2016O mercado de teste de software GUTS-SC 2016
O mercado de teste de software GUTS-SC 2016
 
Teste performance carga stress jmeter
Teste performance carga stress jmeterTeste performance carga stress jmeter
Teste performance carga stress jmeter
 
Automacao testes automatizados
Automacao testes automatizadosAutomacao testes automatizados
Automacao testes automatizados
 
Análise de Riscos - Estratégia infalível no projeto de testes de software
Análise de Riscos - Estratégia infalível no projeto de testes de softwareAnálise de Riscos - Estratégia infalível no projeto de testes de software
Análise de Riscos - Estratégia infalível no projeto de testes de software
 
Perspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwarePerspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de software
 
Teste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testingTeste seguranca aplicacoes web security testing
Teste seguranca aplicacoes web security testing
 
Mini Curso Testes Ageis
Mini Curso Testes AgeisMini Curso Testes Ageis
Mini Curso Testes Ageis
 
Curso treinamento automação de testes com selenium
Curso treinamento automação de testes com seleniumCurso treinamento automação de testes com selenium
Curso treinamento automação de testes com selenium
 

Similaire à Eats2012

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
 
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 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
 
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
 

Similaire à Eats2012 (6)

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 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)
 
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 Testes Funcionais Caixa-Preta
Técnicas de Testes Funcionais Caixa-PretaTécnicas de Testes Funcionais Caixa-Preta
Técnicas de Testes Funcionais Caixa-Preta
 
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
 

Eats2012

  • 1. EATS 2012 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 s Pontos forte a o da prátic É o estad ustos Baixos c ado a utomatiz Pode ser mensurável te Facilmen 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 !   Características: !   O projeto, execução, interpretação e aprendizado são realizados pela mesma pessoa; !   O projeto, execução, interpretação e aprendizado acontecem juntos, ao invés de serem executados em momentos diferentes no tempo; !   O testador faz as suas escolhas sobre o que será testado, quando testar e como testar, ao invés de seguir cegamente um roteiro; !   O testador enfoca em revelar novas informações sobre o produto, ao invés de confirmar coisas já conhecidas sobre o produto; !   Tudo o que o testador aprendeu de novo durante o teste, incluindo o resultado do último teste, serve como subsídio para decidir o que será testado a seguir; !   O testador pode usar qualquer tipo de ferramenta automática para apoiar o seu teste ou decidir não usar nenhuma ferramenta; !   O testador pode variar diversos aspectos durante a execução dos seus testes, ao invés de repeti-los da mesma forma Globalcode  –  Open4education
  • 17. 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
  • 18. Testes exploratórios Testes baseados em Scripts Exploratórios freestyle Globalcode  –  Open4education
  • 19. SBTM: Testes exploratórios baseados em sessões Testes baseados em Scripts Exploratórios freestyle Globalcode  –  Open4education
  • 20. 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
  • 21. 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
  • 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 !  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 !   Auto-gerenciamento Globalcode  –  Open4education
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. SBTM: Testes exploratórios baseados em sessões !  Resultados: !   Relatório da Sessão Globalcode  –  Open4education
  • 32. 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
  • 33. Agenda !   3. Ferramentas de apoio Globalcode  –  Open4education
  • 34. SBTM: Testes exploratórios baseados em sessões !  Ferramentas de apoio: !   Papel, caneta, notepad, Excel Globalcode  –  Open4education
  • 35. SBTM: Testes exploratórios baseados em sessões !  Ferramentas de apoio: !   Wink (Free) !   BB TestAssistant ($225) Globalcode  –  Open4education
  • 36. SBTM: Testes exploratórios baseados em sessões !  Ferramentas de apoio: !   Gravador de passos do Windows (Free) Globalcode  –  Open4education
  • 37. SBTM: Testes exploratórios baseados em sessões !  Ferramentas de apoio: !   Session Creator Globalcode  –  Open4education
  • 38. SBTM: Testes exploratórios baseados em sessões !  Ferramentas de apoio: !   Session Tester Globalcode  –  Open4education
  • 39. SBTM: Testes exploratórios baseados em sessões !  Ferramentas de apoio: !   Testpad Globalcode  –  Open4education
  • 40. SBTM: Testes exploratórios baseados em sessões !  Ferramentas de apoio: !   TestLink Globalcode  –  Open4education
  • 41. Agenda !   4. Conclusão Globalcode  –  Open4education
  • 42. Conclusão Ciência Arte (Sistemático) (Criatividade) Testes baseados em Scripts Exploratórios freestyle Globalcode  –  Open4education
  • 43. 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
  • 44. Conclusão Complementar com mais diversificação os testes tradicionais baseados em scripts Globalcode  –  Open4education
  • 45. 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
  • 46. Palestrante !  Cristiano Caetano !  Email: cristiano.caetano@qualister.com.br @c_caetano http://www.slideshare.net/cristianocaetano Globalcode  –  Open4education
  • 47. 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
  • 48. 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