FERRAMENTAS CASE DE TESTE
  Engenharia de Software OO
         Sistemas para a Internet – 3º Ciclo 2012
    Professor: Sergio Gustavo Medina Pereira – ESOB
Sistemas para a Internet – 3º Ciclo 2012
                        Professor: Sergio Gustavo Medina Pereira - ESOOB




                                                O que é Teste?
       “Processo de executar um programa ou sistema com a intenção de
                         encontrar defeitos (teste negativo).”
                                (Glen Myers - 1979)
 “Testar é verificar se o software está fazendo o que deveria fazer, de acordo
      com os seus requisitos, e não está fazendo o que não deveria fazer.”
                              (Rios e Moreira - 2002)

Visão histórica da execução dos testes:
• Demonstração – década de 70
• Detecção – década de 80/90
• Prevenção – década de 90/00
Sistemas para a Internet – 3º Ciclo 2012
                           Professor: Sergio Gustavo Medina Pereira - ESOOB




                                                Etapas de Teste
Teste unitário: São testes que buscam testar unitariamente cada parte do sistema.
Algumas ferramentas para este tipo de teste:
Java: nUnit, mockito, jBehave, EasyMock, etc.
Ruby: testUnit, rspec, rspec-mocks, steak, shoulda-matchers, etc.
C#: nUnit, Moq, etc.

Teste de Integração: o objetivo é encontrar falhas oriundas da integração interna. Em
  geral, os tipos de falhas encontrados são referentes a transmissão de dados.

Teste de Aceitação: são realizados por um grupo de usuários restritos de usuários finais
   do sistema, simulando a execução do mesmo na rotina a qual será utilizado, de
   modo a verificar se está reagindo de acordo com a solicitação do projeto.

Teste de Sistema: o objetivo do teste, é rodar o sistema na visão de seu usuário final,
   sempre em busca de falhas em relação ao objetivo final do projeto.
Sistemas para a Internet – 3º Ciclo 2012
                      Professor: Sergio Gustavo Medina Pereira - ESOOB




                                                          Teste V&V
 Teste de Validação
• Refere-se a um conjunto de atividades que garante que o software
   construído é “rastreável” às exigências do cliente.
• A pergunta que deve ser feita é: "Estamos desenvolvendo o produto
   certo?"
• Requer interação com o cliente.

Teste de Verificação
• Refere-se ao conjunto de atividades que garante que o software
   implemente corretamente uma função específica.
• A pergunta que deve ser feita é: "Estamos desenvolvendo corretamente o
   produto?"
• Requer interação com o software.
Sistemas para a Internet – 3º Ciclo 2012
                Professor: Sergio Gustavo Medina Pereira - ESOOB




         Teste é garantia de qualidade de software?

“A reprodutibilidade dos testes permite simular identicamente e
  inúmeras vezes situações específicas, garantindo que passos
importantes não serão ignorados por falha humana e facilitando a
   identificação de um possível comportamento não desejado.”
                     (Bernardo & Kon, 2008)
Sistemas para a Internet – 3º Ciclo 2012
                    Professor: Sergio Gustavo Medina Pereira - ESOOB




     Objetivo esperado da utilização das ferramentas de teste


•   Redução de envolvimento humano.
•   Redução no tempo de testes.
•   Maior efetividade no encontro de erros.
•   Melhoria na criação de casos de teste
    novos e que possam ser reutilizados.
Sistemas para a Internet – 3º Ciclo 2012
       Professor: Sergio Gustavo Medina Pereira - ESOOB




Divisão das Ferramentas de Teste
Sistemas para a Internet – 3º Ciclo 2012
                            Professor: Sergio Gustavo Medina Pereira - ESOOB




         Divisão das Ferramentas de Teste
•   Ferramentas de Teste de arquitetura e inspeção: Ferramentas que ajudam a decidir quais
    testes precisam ser executados. São Geradores de teste de dados e teste de casos.
•   Ferramentas teste de condutores GUI: Ferramentas que automatizam a execução de testes
    para produtos com interfaces gráficas.
•   Ferramentas de tempo de carregamento e Desempenho(Load/Stress): Ferramentas que se
    especializam em colocar uma carregamento pesado sobre os sistemas (especialmente cliente-
    servidor).
•   Ferramentas de Gestão de Testes: Ferramentas que automatizam a execução de testes de
    produtos sem interfaces gráficas de usuário. Também ferramentas que ajudam a trabalhar com
    grandes conjuntos de testes.
•   Ferramentas de teste de Implementação: Diversas ferramentas que ajudam a implementar
    testes.
•   Ferramentas de Teste de Avaliação: Ferramentas que ajudam a avaliar a qualidade dos seus
    testes. Também são ferramentas de cobertura de código.
•    Ferramentas de análise estática: Ferramentas que analisam programas sem executá-los.
    Ajudam a testar na fase de codificação.
Sistemas para a Internet – 3º Ciclo 2012
Professor: Sergio Gustavo Medina Pereira - ESOOB




                                   O Modelo V
Sistemas para a Internet – 3º Ciclo 2012
 Professor: Sergio Gustavo Medina Pereira - ESOOB




Ferramentas Case de Teste
Sistemas para a Internet – 3º Ciclo 2012
             Professor: Sergio Gustavo Medina Pereira - ESOOB




                                                      Selenium

“O Selenium é um conjunto de ferramentas Open
   Source que também é utilizado na criação de
    testes funcionais para aplicações web. Ele
    permite a execução de testes em qualquer
   navegador e possui suporte para JavaScript,
      provendo um rico conjunto de funções
   específicas para implementação dos testes”
               (Santos & Neto,2009)
Sistemas para a Internet – 3º Ciclo 2012
 Professor: Sergio Gustavo Medina Pereira - ESOOB




Vantagens e Desvantagens
Sistemas para a Internet – 3º Ciclo 2012
                       Professor: Sergio Gustavo Medina Pereira - ESOOB




                           Qual teste devo utilizar?
•   Caixa-branca, ou teste estrutural, é o teste baseado na analise da
    estrutura interna do componente ou sistema.
•   Caixa-preta, é a execução de teste, funcional ou não funcional, sem levar
    em consideração a estrutura interna do componente ou sistema.
•   Teste de regressão é realizado em um programa previamente testado
    após alguma modificação feita e com a finalidade de assegurar que defeitos
    não tenham sido introduzidos ou mascarados nas áreas não alteradas do
    soft
•    Teste funcional é baseado em uma análise da especificação de
    funcionalidade de um componente ou sistema.
•   Teste não funcional testa os atributos de um componente ou sistema que
    não se relacionam com a funcionalidade.
Sistemas para a Internet – 3º Ciclo 2012
                        Professor: Sergio Gustavo Medina Pereira - ESOOB




               Tipos de Teste: Manual e Automatizado

“O propósito da automação de testes pode ser resumidamente descrito como a
       aplicação de estratégias e ferramentas tendo em vista a redução do
            envolvimento humano em atividades manuais repetitivas.”
      (Cem Kaner, autor do livro "Lessons Learned in Software Testing")


      Testes manual                           Automação de testes
      Casos de teste.                         Scripts de teste.
      O que testar?                           Como automatizar?
      Aplicar conhecimentos.                  Desenvolver conhecimentos.
Sistemas para a Internet – 3º Ciclo 2012
                Professor: Sergio Gustavo Medina Pereira - ESOOB




                                            O Analista de Teste

                 Tendências de Mercado
Faltam especialistas em testes que tenham conhecimento
     de desenvolvimento. Mas apesar dessa carência, o
     mercado encontra-se em expansão. Cada vez mais
     empresas se preocupam com a qualidade de seus
    sistemas e com isso profissionais especializados em
    teste e com conhecimento em ferramentas CASE de
    teste, ganham cada vez mais espaço e credibilidade.
Sistemas para a Internet – 3º Ciclo 2012
            Professor: Sergio Gustavo Medina Pereira - ESOOB




                                                        Conclusão


“Quanto mais tarde um defeito for identificado
mais caro ficará para corrigi-lo e mais ainda, os
   custos de descobrir e corrigir defeitos no
  software aumentam exponencialmente na
  proporção que o trabalho evolui através da
    fases do projeto de desenvolvimento.”
               (Boehm -1976)
Sistemas para a Internet – 3º Ciclo 2012
           Professor: Sergio Gustavo Medina Pereira - ESOOB




                     Integrantes:

Beatriz Barbalho Marques                              1110083-7
Mariana Silveira Medeiros                             1110104-8
Mayra Araújo Maciel da Silva                          102108-7
Natália Guimarães dos S. Luna                         1110106-6

Ferramentas Case de Teste

  • 1.
    FERRAMENTAS CASE DETESTE Engenharia de Software OO Sistemas para a Internet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira – ESOB
  • 2.
    Sistemas para aInternet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira - ESOOB O que é Teste? “Processo de executar um programa ou sistema com a intenção de encontrar defeitos (teste negativo).” (Glen Myers - 1979) “Testar é verificar se o software está fazendo o que deveria fazer, de acordo com os seus requisitos, e não está fazendo o que não deveria fazer.” (Rios e Moreira - 2002) Visão histórica da execução dos testes: • Demonstração – década de 70 • Detecção – década de 80/90 • Prevenção – década de 90/00
  • 3.
    Sistemas para aInternet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira - ESOOB Etapas de Teste Teste unitário: São testes que buscam testar unitariamente cada parte do sistema. Algumas ferramentas para este tipo de teste: Java: nUnit, mockito, jBehave, EasyMock, etc. Ruby: testUnit, rspec, rspec-mocks, steak, shoulda-matchers, etc. C#: nUnit, Moq, etc. Teste de Integração: o objetivo é encontrar falhas oriundas da integração interna. Em geral, os tipos de falhas encontrados são referentes a transmissão de dados. Teste de Aceitação: são realizados por um grupo de usuários restritos de usuários finais do sistema, simulando a execução do mesmo na rotina a qual será utilizado, de modo a verificar se está reagindo de acordo com a solicitação do projeto. Teste de Sistema: o objetivo do teste, é rodar o sistema na visão de seu usuário final, sempre em busca de falhas em relação ao objetivo final do projeto.
  • 4.
    Sistemas para aInternet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira - ESOOB Teste V&V Teste de Validação • Refere-se a um conjunto de atividades que garante que o software construído é “rastreável” às exigências do cliente. • A pergunta que deve ser feita é: "Estamos desenvolvendo o produto certo?" • Requer interação com o cliente. Teste de Verificação • Refere-se ao conjunto de atividades que garante que o software implemente corretamente uma função específica. • A pergunta que deve ser feita é: "Estamos desenvolvendo corretamente o produto?" • Requer interação com o software.
  • 5.
    Sistemas para aInternet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira - ESOOB Teste é garantia de qualidade de software? “A reprodutibilidade dos testes permite simular identicamente e inúmeras vezes situações específicas, garantindo que passos importantes não serão ignorados por falha humana e facilitando a identificação de um possível comportamento não desejado.” (Bernardo & Kon, 2008)
  • 6.
    Sistemas para aInternet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira - ESOOB Objetivo esperado da utilização das ferramentas de teste • Redução de envolvimento humano. • Redução no tempo de testes. • Maior efetividade no encontro de erros. • Melhoria na criação de casos de teste novos e que possam ser reutilizados.
  • 7.
    Sistemas para aInternet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira - ESOOB Divisão das Ferramentas de Teste
  • 8.
    Sistemas para aInternet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira - ESOOB Divisão das Ferramentas de Teste • Ferramentas de Teste de arquitetura e inspeção: Ferramentas que ajudam a decidir quais testes precisam ser executados. São Geradores de teste de dados e teste de casos. • Ferramentas teste de condutores GUI: Ferramentas que automatizam a execução de testes para produtos com interfaces gráficas. • Ferramentas de tempo de carregamento e Desempenho(Load/Stress): Ferramentas que se especializam em colocar uma carregamento pesado sobre os sistemas (especialmente cliente- servidor). • Ferramentas de Gestão de Testes: Ferramentas que automatizam a execução de testes de produtos sem interfaces gráficas de usuário. Também ferramentas que ajudam a trabalhar com grandes conjuntos de testes. • Ferramentas de teste de Implementação: Diversas ferramentas que ajudam a implementar testes. • Ferramentas de Teste de Avaliação: Ferramentas que ajudam a avaliar a qualidade dos seus testes. Também são ferramentas de cobertura de código. • Ferramentas de análise estática: Ferramentas que analisam programas sem executá-los. Ajudam a testar na fase de codificação.
  • 9.
    Sistemas para aInternet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira - ESOOB O Modelo V
  • 10.
    Sistemas para aInternet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira - ESOOB Ferramentas Case de Teste
  • 11.
    Sistemas para aInternet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira - ESOOB Selenium “O Selenium é um conjunto de ferramentas Open Source que também é utilizado na criação de testes funcionais para aplicações web. Ele permite a execução de testes em qualquer navegador e possui suporte para JavaScript, provendo um rico conjunto de funções específicas para implementação dos testes” (Santos & Neto,2009)
  • 12.
    Sistemas para aInternet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira - ESOOB Vantagens e Desvantagens
  • 13.
    Sistemas para aInternet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira - ESOOB Qual teste devo utilizar? • Caixa-branca, ou teste estrutural, é o teste baseado na analise da estrutura interna do componente ou sistema. • Caixa-preta, é a execução de teste, funcional ou não funcional, sem levar em consideração a estrutura interna do componente ou sistema. • Teste de regressão é realizado em um programa previamente testado após alguma modificação feita e com a finalidade de assegurar que defeitos não tenham sido introduzidos ou mascarados nas áreas não alteradas do soft • Teste funcional é baseado em uma análise da especificação de funcionalidade de um componente ou sistema. • Teste não funcional testa os atributos de um componente ou sistema que não se relacionam com a funcionalidade.
  • 14.
    Sistemas para aInternet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira - ESOOB Tipos de Teste: Manual e Automatizado “O propósito da automação de testes pode ser resumidamente descrito como a aplicação de estratégias e ferramentas tendo em vista a redução do envolvimento humano em atividades manuais repetitivas.” (Cem Kaner, autor do livro "Lessons Learned in Software Testing") Testes manual Automação de testes Casos de teste. Scripts de teste. O que testar? Como automatizar? Aplicar conhecimentos. Desenvolver conhecimentos.
  • 15.
    Sistemas para aInternet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira - ESOOB O Analista de Teste Tendências de Mercado Faltam especialistas em testes que tenham conhecimento de desenvolvimento. Mas apesar dessa carência, o mercado encontra-se em expansão. Cada vez mais empresas se preocupam com a qualidade de seus sistemas e com isso profissionais especializados em teste e com conhecimento em ferramentas CASE de teste, ganham cada vez mais espaço e credibilidade.
  • 16.
    Sistemas para aInternet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira - ESOOB Conclusão “Quanto mais tarde um defeito for identificado mais caro ficará para corrigi-lo e mais ainda, os custos de descobrir e corrigir defeitos no software aumentam exponencialmente na proporção que o trabalho evolui através da fases do projeto de desenvolvimento.” (Boehm -1976)
  • 17.
    Sistemas para aInternet – 3º Ciclo 2012 Professor: Sergio Gustavo Medina Pereira - ESOOB Integrantes: Beatriz Barbalho Marques 1110083-7 Mariana Silveira Medeiros 1110104-8 Mayra Araújo Maciel da Silva 102108-7 Natália Guimarães dos S. Luna 1110106-6