Eng de testes aula2

301 visualizações

Publicada em

material do segundo dia do curso de testes para pós em eng de softwares

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
301
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Eng de testes aula2

  1. 1. Leonardo A Alves
  2. 2. • No processo de desenvolvimento de software, todos os defeitos são humanos e, apesar do uso dos melhores métodos de desenvolvimento, ferramentas ou profissionais, permanecem presentes nos produtos, o que torna a atividade de teste fundamental durante o desenvolvimento de um software.
  3. 3. • O tamanho do projeto a ser desenvolvido e a quantidade de pessoas envolvidas no processo são dois possíveis fatores que aumentam a complexidade dessa tarefa, e consequentemente aumentam a probabilidade de defeitos. Assim, a ocorrência de falhas é inevitável. Mas o que significa dizer que um programa falhou? Basicamente significa que o funcionamento do programa não está de acordo com o esperado pelo usuário.
  4. 4.  Esse tipo de falha pode ser originado por diversos motivos: • A especificação pode estar errada ou incompleta; • A especificação pode conter requisitos impossíveis de serem implementados devido a limitações de hardware ou software; • A base de dados pode estar organizada de forma que não seja permitido distinguir os tipos de usuário; • Pode ser que haja um defeito no algoritmo de controle dos usuários.
  5. 5. Níveis de teste de softwareO planejamento dos testes deve ocorrer em diferentes níveis eem paralelo ao desenvolvimento do software :• Teste de Unidade: também conhecido como testes unitários. Tem por objetivo explorar a menor unidade do projeto, procurando provocar falhas ocasionadas por defeitos de lógica e de implementação em cada módulo, separadamente. O universo alvo desse tipo de teste são os métodos dos objetos ou mesmo pequenos trechos de código.• Teste de Integração: visa provocar falhas associadas às interfaces entre os módulos quando esses são integrados para construir a estrutura do software que foi estabelecida na fase de projeto.
  6. 6. • Teste de Sistema: avalia o software em busca de falhas por meio da utilização do mesmo, como se fosse um usuário final. Dessa maneira, os testes são executados nos mesmos ambientes, com as mesmas condições e com os mesmos dados de entrada que um usuário utilizaria no seu dia-a-dia de manipulação do software. Verifica se o produto satisfaz seus requisitos.• Teste de Aceitação: são realizados geralmente por um restrito grupo de usuários finais do sistema. Esses simulam operações de rotina do sistema de modo a verificar se seu comportamento está de acordo com o solicitado.
  7. 7. • Teste de Regressão: Teste de regressão não corresponde a um nível de teste, mas é uma estratégia importante para redução de “efeitos colaterais”. Consiste em se aplicar, a cada nova versão do software ou a cada ciclo, todos os testes que já foram aplicados nas versões ou ciclos de teste anteriores do sistema. Pode ser aplicado em qualquer nível de teste
  8. 8. • Técnica Estrutural (ou teste caixa-branca)Técnica de teste que avalia o comportamento internodo componente de software. Essa técnica trabalhadiretamente sobre o código fonte do componente desoftware para avaliar aspectos tais como: teste decondição, teste de fluxo de dados, teste de ciclos eteste de caminhos lógicos (PRESSMAN, 2005)
  9. 9. • Teste Funcional (ou teste caixa-preta)Técnica de teste em que o componente de software a ser testado éabordado como se fosse uma caixa-preta, ou seja, não se considera ocomportamento interno do mesmo. Dados de entrada são fornecidos,o teste é executado e o resultado obtido é comparado a um resultadoesperado previamente conhecido. Haverá sucesso no teste se oresultado obtido for igual ao resultado esperado. O componente desoftware a ser testado pode ser um método, uma função interna, umprograma, um componente, um conjunto de programas e/oucomponentes ou mesmo uma funcionalidade. A técnica de testefuncional é aplicável a todos os níveis de teste (PRESSMAN, 2005).
  10. 10. • Análise do valor limitePor razões não completamente identificadas, umgrande número de erros tende a ocorrer nos limites dodomínio de entrada invés de no “centro”. Esse critériode teste explora os limites dos valores de cada classede equivalência para preparar os casos de teste.Se uma condição de entrada especifica uma faixa devalores limitada em a e b, casos de teste devem serprojetados com valores a e b e imediatamente acima eabaixo de a e b. Exemplo: Intervalo = {1..10}; Casos deTeste  {1, 10, 0,11}.
  11. 11. • Caixa-cinzaA técnica de teste de caixa-cinza é um mesclado do usodas técnicas de caixa-preta e de caixa-branca.
  12. 12. • Análise do valor limitePor razões não completamente identificadas, umgrande número de erros tende a ocorrer nos limites dodomínio de entrada invés de no “centro”. Esse critériode teste explora os limites dos valores de cada classede equivalência para preparar os casos de teste.Se uma condição de entrada especifica uma faixa devalores limitada em a e b, casos de teste devem serprojetados com valores a e b e imediatamente acima eabaixo de a e b. Exemplo: Intervalo = {1..10}; Casos deTeste  {1, 10, 0,11}.
  13. 13. • Grafo de causa-efeitoEsse critério de teste verifica o efeito combinado dedados de entrada. As causas (condições de entrada) eos efeitos (ações) são identificados e combinados emum grafo a partir do qual é montada uma tabela dedecisão, e a partir desta, são derivados os casos deteste e as saídas. (usado em alguns casos)
  14. 14. • Testes Manuais – Revelam muitas falhas; – Tarefa complexa, desgastante e consome muito tempo; – Pode não ser efetiva para certas partes do software.• Testes automatizados – Podem ser executados rapidamente; – Custo mais efetivo; – Requer um maior gerenciamento a fim de manter os casos de teste; – Necessário conhecimento técnico.
  15. 15. - Automação dos testes- Planejamento e execuçãode testes...

×