Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 14 - 07/05/2006 13 Testes • Qual é a diferença entre verificação e validação? • A verificação garante que o software implementa corretamente uma função específica. • A validação garante que o software construído corresponde aos requisitos do cliente. Aula 14 - 07/05/2006 14 Testes • Qual é a vantagem de se criar um ITG (grupo independente de teste)? • Um ITG não tem o “conflito de interesses” que os desenvolvedores do software podem ter e assim podem testar o software de maneira mais imparcial. Aula 14 - 07/05/2006 15 Testes • Quais são os quatro passos da estratégia global de teste de software? • Os quatro passos são: – Teste de unidade – Teste de integração – Teste de validação – Teste de sistema Aula 14 - 07/05/2006 16 Testes • Dê dois exemplos de erros comumente encontrados no teste de unidade. • Inicialização incorreta, precedência aritmética incorreta, comparação incorreta de variáveis, terminação de ciclo inadequada, etc. • O que é teste de regressão? • É a reexecução de algum subconjunto de testes que já foi conduzido para garantir que as modificações não gerem efeitos colaterais. Aula 14 - 07/05/2006 17 Testes • O que é um pseudo-controlador (driver)? • É um programa que recebe os dados do caso de teste, passa os dados ao componte a ser testado e imprime os resultados relevantes. • O que é um pseudo-controlado (stub)? • É um programa que substitui módulos que são chamados pelo componente a ser testado. Ele tem a mesma interface do módulo sendo substituído, mas com o mínimo de funcionalidade. Aula 14 - 07/05/2006 18 Testes • Por que um módulo altamente acoplado é difícil de submeter ao teste de unidade? • Porque é difícil isolar a funcionalidade a ser testada. Nesse caso, pseudocontrolados simples não poderão substituir os módulos chamados tornando o teste de unidade quase impossível. Aula 14 - 07/05/2006 19 Testes • O que é a abordagem de integração big-bang? Por que ela deve ser evitada? • Na integração big-bang todos os componente são integrados de uma vez. Ela deve ser evitada porque torna difícil isolar e corrigir erros. Aula 14 - 07/05/2006 20 Testes • Dê uma vantagem e uma desvantagem do teste de integração ascendente. • Vantagem: elimina a necessidade de pseudo- controlados complexos. • Desvantagem: o programa principal só é testado no final. • Dê uma vantagem e uma desvantagem do teste de integração descendente. • Vantagem: demonstração de capacidade funcional logo no início. • Desvantagem: necessidade de criação de pseudo- controlados. Aula 14 - 07/05/2006 21 Testes • O que é um “módulo crítico” e por que devemos identificá-lo? • É um módulo que aborda vários requisitos, tem um alto nível de controle, é complexo OU tem requisitos de desempenho. Devemos identificá-lo para priorizá-lo nos testes. Aula 14 - 07/05/2006 22 Testes • Em que tipo de situação os testes de aceitação são apropriados? • Nas situações em que o software é construído sob encomenda para um determinado cliente. • Em que tipo de situação os testes alfa e beta são apropriados? • Nas situações em que o software é desenvolvido como um produto a ser utilizado por vários clientes. Aula 14 - 07/05/2006 23 Testes • O que é o teste de estresse? • É um teste que executa um sistema de tal forma que demande recursos em quantidade, freqüência ou volume anormais. • O que é depuração? • A depuração é o processo de encontrar a causa de um erro e corrigí-lo. • O que um programador deve fazer depois de tentar depurar um defeito no programa por mais de uma hora? • Deve pedir ajuda a outro programador. Aula 14 - 07/05/2006 24 Testes • O que deve ser feito depois que uma causa provável é encontrada para um defeito de software? • Testes adicionais para isolar a conexão da causa com o sintoma. • O que deve ser feito depois da correção de um defeito de software? • Deve-se testar o software novamente para se assegurar de que o defeito foi realmente corrigido e que outros defeitos não foram introduzidos. Aula 14 - 07/05/2006 25 Testes • Por que não é possível realizar testes exaustivos? • Porque o número de caminhos lógicos de programas reais é muito grande, impossibilitando o teste de todas as combinações possíveis de caminhos. • Qual é a diferença entre o teste caixa preta e o teste caixa branca? • O teste caixa preta ignora a estrutura interna do programa, testando apenas a entrada e a saída. • O teste caixa branca é baseado em um exame rigoroso da estrutura interna. Aula 14 - 07/05/2006 26 Testes • Transforme o fluxograma em um grafo de fluxo. A B D C E Aula 14 - 07/05/2006 27 Testes • Qual é a complexidade ciclomática? • V(G) = E – N + 2 = 6 – 5 + 2 = 3 • V(G) = 3 regiões • V(G) = P + 1 = 2 + 1 = 3 • Dê um conjunto base de caminhos independentes. • A-B-C-E • A-C-D-E A B D C E Aula 14 - 07/05/2006 28 Testes • Prepare casos de teste para exercitar cada caminho independente. • A-B-C-E – Entrada: x = 20 – Saída: x = 10 • A-C-D-E – Entrada: x=3 – Saída: x=3 Aula 14 - 07/05/2006 29 Testes • Como deve ser feito o teste de ciclos simples? • Se n é o número máximo de iterações, deve-se testar: – Nenhuma passagem pelo ciclo – Apenas uma passagem pelo ciclo – Duas passagens pelo ciclo – m passagens pelo ciclo onde m < n. – n-1, n e n+1 passagens pelo ciclo • Como deve ser feito o teste de ciclos aninhados? • Os testes devem ser conduzidos do ciclo mais interno para o ciclo mais externo. Quando os ciclos internos são testados, os ciclos externos devem ser mantidos no número mínimo de repetições. Quando os ciclos externos são testados, os ciclos internos devem ser mantidos em valores típicos. Aula 14 - 07/05/2006 30 Testes • Se uma condição de entrada especifica um intervalo válido, quantas classes de equivalência são necessárias para testar essa condição? • Três. Uma correspondente ao intervalo válido, outra correspondente a valores inválidos menores que os do intervalo e outras correspondente a valores inválidos maiores que os do intervalo. Aula 14 - 07/05/2006 31 Testes • O que é análise de valor limite? • A análise de valor limite é uma técnica de teste de software que focaliza os testes nos limites das classes de equivalência. • Que falhas são detectadas pelo teste de matriz ortogonal e não por testes de modo singular? • Falhas de modo duplo, isto é, falhas que involvem uma combinação de dois parâmetros.
Compartilhar