Buscar

Aula 04 - Testes de Software

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
*
Unidade 2 – Parte I
Técnicas de 
Teste de Software
*
*
*
2.1 Introdução
Objetivam a criação de casos de teste que atendam aos objetivos globais da atividade de teste.
A atividade de teste é um passo do processo de Engenharia de Software que visa destruir/encontrar erros ao longo do software que foi construído.
*
*
*
2.1 Introdução
Testes podem ser usados para descobrir a presença de erros, mas não para mostrar a sua ausência.
[DIJKSTRA]
Testes de software é o processo de executar o software de uma maneira controlada com o objetivo de descobrir diferenças entre o comportamento previsto e o comportamento observado.
*
*
*
Objetivos da atividade de Teste
A atividade de teste é o processo de executar um programa com a intenção de descobrir um erro.
Um bom caso de teste é aquele que possui uma elevada probabilidade de revelar um erro ainda não descoberto.
Um teste bem-sucedido é aquele que revela um erro ainda não descoberto.
*
*
*
Diretrizes para o Teste de Software
Determinar quando o teste deve ser interrompido.
Atribuir a responsabilidade do teste a um testador.
Descrever os resultados esperados para cada caso de teste.
Escrever casos de teste para condições de entrada válidas e inválidas.
Inspecionar o resultado de cada teste por completo.
Alocar os programadores mais criativos para teste.
*
*
*
Etapas Principais de Teste
Selecionar o que deve ser medido pelo teste. Antes de desenvolver um teste, é preciso identificar as metas do mesmo. Tais metas poderiam ser diferentes ( ex.: teste de confiabilidade, de fidedignidade dos requisitos)
Decidir como tudo que está sendo testado deve ser testado. É preciso decidir como efetuar um teste relevante, ou seja, o teste mais apropriado.
Desenvolver os casos de teste. Para o tipo de itens de teste já aceito, é preciso criar uma coleção de casos teste para exercitar o sistema.
*
*
*
Etapas Principais de Teste
Determinar quais são os resultados esperados do teste e formar a massa de teste. Estes são resultados previstos para um conjunto de testes.
Executar os casos de teste.
Comparar os resultados obtidos no teste com os resultados esperados e previamente determinados (massa de testes).
*
*
*
Atividade de Teste
 Plano de teste  indica a abrangência, abordagem, os recursos e a programação da atividade de teste.
 Projeto de Teste  identificam características específicas a serem testadas. È recomendável que os testes sejam destinados ao teste de regressão (testes anteriormente executados podem ser repetidos sempre que uma mudança ocorrer)
 Casos Teste  Testes são custosos e demorados, portanto, devemos procurar critérios de seleção de casos teste que apontem a o maior número de erros diferentes, com o menor número de experimentos.
*
*
*
Atividade de Teste
 Procedimento de Teste  Identifica todas as etapas necessárias para operar o sistema e exercitar os casos de teste especificados para implementar o projeto de teste definido.
 Execução do Teste  É o exercício dos procedimentos de teste.
 Relatório de Teste  Resume todos os resultados e destaca as discrepâncias detectadas
*
*
*
Fluxo de Informações de Teste
Atividade de Teste
Configuração de Software
 Especificação de requisitos de Software
 Especificação de Projeto
 Código Fonte
Configuração de Teste
 Plano e Procedimento de Teste
 Ferramentas de Teste
 Casos de Teste
 Massa de Testes
Avaliação
Resultados
De Teste
Resultados Esperados
Modelo de
Confiabilidade
Dados
Da taxa
De erros
Confiabilidade Prevista
Depuração
Erros
Correções
*
*
*
Devemos projetar testes que tenham a mais alta probabilidade de descobrir a maioria dos erros com uma quantidade mínima de tempo e esforço;
Os métodos de projeto de casos de teste oferecem ao desenvolvedor uma abordagem sistemática ao teste.
Oferecem ainda um mecanismo que ajuda a garantir a integridade do teste e proporciona a mais alta probabilidade de revelar erros no software.
Projeto de Casos de Teste
*
*
*
Qualquer produto trabalhado por engenharia pode ser testado de duas maneiras:
1 - Conhecendo-se a função específica que um produto projetado deve executar, testes podem ser realizados para demonstrar que cada função é totalmente operacional;
Abordagem de teste: Teste de Caixa Preta
		
Projeto de Casos de Teste
*
*
*
Projeto de Casos de Teste
2 - Conhecendo-se o funcionamento interno de um produto, testes podem ser realizados para garantir que a operação interna do mesmo tenha desempenho de acordo com as especificações e que os componentes internos foram postos à prova.
	 Abordagem de Teste: Teste de Caixa Branca
*
*
*
Teste de Caixa Branca
Teste de caixa branca é uma abordagem de projeto de casos de teste que usa a estrutura de controle do projeto procedimental para derivar casos de teste.
Baseia-se num minucioso exame dos detalhes procedimentais. Os caminhos lógicos através do software são testados, fornecendo-se casos de teste que põem à prova conjuntos específicos de condições e/ou laços. O status do programa pode ser examinado em vários pontos para determinar se o esperado corresponde ao real.
*
*
*
Teste de Caixa Branca
Usando métodos de teste de caixa branca, o Engenheiro de Software pode derivar casos de teste que:
Garantam que todos os caminhos independentes dentro de um módulo tenham sido exercitados pelo menos uma vez;
Exercitem todas as decisões lógicas para valores falsos ou verdadeiros;
Executem todos os laços em suas fronteiras e dentro de seus limites operacionais; e
Exercitem as estruturas de dados internas para garantir a sua validade.
*
*
*
Teste de Caixa Branca
Por que gastar tempo testando minúcias lógicas quando poderia-se ocupá-lo demonstrando que os requisitos do programa foram cumpridos?
Por que não usar o teste de caixa preta apenas?
*
*
*
Teste de Caixa Branca
A resposta reside na natureza dos defeitos de software:
Erros lógicos e pressuposições incorretas são inversamente proporcionais à probabilidade de que um caminho de programa seja executado; 
Por diversas vezes podemos cometer erros de projeto que serão descobertos somente quando se inicia a atividade de teste de caminho;
Quando um programa é traduzido para código-fonte, é provável que erros de digitação ocorram. Muitos serão descobertos por mecanismos de verificação de sintaxe, mas outros passarão sem ser detectados até que os testes se iniciem.
*
*
*
Teste de Caixa Branca
Cada uma das razões anteriores oferecem um argumento para a realização dos testes de caixa branca.
Testes de caixa preta, por mais cuidadosos que sejam, podem não revelar os tipos de erros mencionados anteriormente.
Testes de Caixa Branca têm maior probabilidade de descobrir bugs.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes