FERRAMENTAS CASE DE TESTEEngenharia de Software OO
Sistemas para a Internet – 3º Ciclo 2012Professor: Sergio Gustavo Medina Pereira – ESOB
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 2012Professor: Sergio Gustavo Medina Pereira - ESOOB
Etapas de TesteTeste 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 2012Professor: 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 2012Professor: 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 2012Professor: 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 2012Professor: Sergio Gustavo Medina Pereira - ESOOB
Divisão das Ferramentas de Teste
Sistemas para a Internet – 3º Ciclo 2012Professor: Sergio Gustavo Medina Pereira - ESOOB
• 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 2012Professor: Sergio Gustavo Medina Pereira - ESOOB
Divisão das Ferramentas de Teste
Sistemas para a Internet – 3º Ciclo 2012Professor: Sergio Gustavo Medina Pereira - ESOOB
O Modelo V
Sistemas para a Internet – 3º Ciclo 2012Professor: Sergio Gustavo Medina Pereira - ESOOB
Ferramentas Case de Teste
“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 2012Professor: Sergio Gustavo Medina Pereira - ESOOB
Selenium
Sistemas para a Internet – 3º Ciclo 2012Professor: Sergio Gustavo Medina Pereira - ESOOB
Vantagens e Desvantagens
• 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 2012Professor: Sergio Gustavo Medina Pereira - ESOOB
Qual teste devo utilizar?
“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")
Sistemas para a Internet – 3º Ciclo 2012Professor: Sergio Gustavo Medina Pereira - ESOOB
Tipos de Teste: Manual e Automatizado
Testes manual Automação de testes
Casos de teste. Scripts de teste.
O que testar? Como automatizar?
Aplicar conhecimentos. Desenvolver conhecimentos.
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 2012Professor: Sergio Gustavo Medina Pereira - ESOOB
O Analista de Teste
“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 2012Professor: Sergio Gustavo Medina Pereira - ESOOB
Conclusão
Sistemas para a Internet – 3º Ciclo 2012Professor: Sergio Gustavo Medina Pereira - ESOOB
Integrantes:
Beatriz Barbalho Marques 1110083-7Mariana Silveira Medeiros 1110104-8Mayra Araújo Maciel da Silva 102108-7Natália Guimarães dos S. Luna 1110106-6