Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Casos de teste a partir de casos de uso: Correção
➢ A partir do Caso de Uso – Depositar Fundos elabore pelo menos 3 
fluxos alternativos + 4 casos de testes utilizando o modelo de caso de 
teste fornecido.
Curso: Análise e Desenvolvimento de Sistemas
Disciplina: Verificação e Validação de Software
Aula 07: Teste Funcional e Teste Estrutural
Prof. Hemir da C. Santiago
hemir.santiago@pe.senac.br
mailto:hemircsantiago@fac.pe.senac.br
Agenda
➢ Resolução de exercício: Casos de 
Testes
➢ Teste Funcional:
▪ Introdução
▪ Particionamento de Equivalência
▪ Análise de Valor Limite
▪ Tabela de Decisão
➢ Teste Estrutural:
▪ Introdução
▪ Teste de Condição
▪ Teste de Ciclo
➢ Conclusões
Teste Funcional: Introdução
• A derivação de casos de teste a partir da especificação do 
programa (ou de um caso de uso) é chamada teste funcional.
• “Quais casos de teste usarei para executar o programa?”
• Também conhecido como teste caixa-preta.
• É eficaz para encontrar alguns tipos de falhas que normalmente 
escapam no teste caixa-branca.
• Tem por objetivo validar as entradas e saídas do sistema.
Teste Funcional: Introdução
• Ele é comumente realizado utilizando-se a experiência do 
usuário.
• Todas as entradas/saídas possíveis precisam ser testadas.
• A falta de clareza dos requisitos pode (e vai) impactar nas 
entradas e saídas aceitas para o teste.
• Exemplo: imagine que você utiliza apenas números para testar 
um campo de CPF, mas o desenvolvedor declara o campo 
como string.
Teste Funcional: Particionamento de Equivalência
• Imagine que em um programa há um campo que receba apenas 
números pares. É necessário validar que o tal campo não recebe 
todos os números ímpares?
• Segundo a técnica de partição de equivalência, não.
• O número 5 e o número 11 possuem a mesma saída (são 
ímpares), logo, basta testar com um deles.
Teste Funcional: Particionamento de Equivalência
• Divide o domínio de possíveis entradas de um software em 
classes de equivalência (partições ou subconjuntos), a partir das 
quais os casos de teste serão derivados. 
• Assume que todos os valores presentes em uma mesma classe 
(partição) possuem a capacidade de revelar as mesmas falhas.
Teste Funcional: Análise de Valor Limite
• Utilizar apenas os valores que estejam no limite permitido.
• Exemplo:
▪ Para uma dada operação o usuário deve ter idade superior a 
dezoito anos, os melhores valores para o teste são: 17, 18 e 
19.
Teste Funcional: Análise de Valor Limite
• Um número considerável de erros tende a ocorrer nos 
valores limites do domínio de entrada. 
• Este critério de teste utiliza os limites dos valores de cada 
classe de equivalência para gerar casos de teste.
Teste Funcional: Tabela de Decisão
• Pressuponha que você testará uma funcionalidade que 
possui uma série de condições. Como saber se todos os 
casos estão apresentando as saídas esperadas?
• Exemplo para o teste de uma baixa de estoque:
Teste Funcional: Tabela de Decisão
• Exemplo para o teste de uma baixa de estoque:
Cenário 1 2 3 4
Funcionário tem 
permissão?
Sim Sim Sim Não
Produto válido? Sim Não Sim X
Produto tem 
estoque 
disponível?
Sim X Não X
Saída esperada Baixa do produto 
no estoque
Produto inválido
Produto sem 
estoque
Funcionário não 
tem permissão
Teste Funcional: Tabela de Decisão
• A tabela de decisão se baseia na verificação do resultado 
esperado para os conjuntos formados através da 
combinação desses parâmetros.
• Para o nosso exemplo, temos certeza de que ao menos 4 
das combinações possíveis possuem cobertura por 4 
testes.
Teste Estrutural: Introdução
• O testador tem acesso à estrutura interna da aplicação.
• Também conhecido como: caixa branca ou caixa de vidro.
• Busca garantir a qualidade da implementação do sistema.
• Ele é comumente realizado no código-fonte.
Teste Estrutural: Teste de condição
• Avaliar se os operadores/variáveis lógicos (booleanos – 
true / false) estão consistentes.
• Exemplos:
▪ Em um sistema de controle de estoque, testar se as 
condições para cadastro de produtos (data de validade, 
fornecedor etc.) são respeitadas.
▪ Em um sistema que controla empréstimos a pessoas 
físicas, verificar se a pessoa está com pagamento em dia e 
pode solicitar outro empréstimo.
Teste Estrutural: Teste de ciclo
• Valida / testa estruturas de repetição.
• Considera 3 tipos de ciclos:
▪ Simples: estrutura de repetição sendo testada.
Teste estrutural: Teste de ciclo
• Considera 3 tipos de ciclos:
▪ Desestruturado: conjunto de blocos de repetição utilizados de 
maneira desordenada.
Teste estrutural: Teste de ciclo
• Considera 3 tipos de ciclos:
▪ Aninhados (encadeados): são estruturas de repetição dentro 
de outras estruturas de repetição.
Conclusões
• Os testes funcionais e estruturais são complementares.
• Não existe uma técnica melhor que a outra, depende do 
tipo de teste que se quer realizar.
• O importante é garantir a qualidade do sistema.
Plano de Aulas
DATA AULA
1 09/08/2023
Apresentação da disciplina | Revisão: Qualidade 
de Software
2 16/08/2023 Introdução à Verificação e Validação de Software
3 19/08/2023 Sábado letivo (atividade online)
4 23/08/2023 Fundamentos de Teste de Software
5 30/08/2023 Processo e Planejamento de Testes
6 06/09/2023 Projeto de Testes
7 13/09/2023 Casos de Teste a partir de Casos de Uso
8 20/09/2023
Congresso Internacional de Tecnologia na 
Educação - CITE
9 27/09/2023 Teste Funcional e Teste Estrutural
10 04/10/2023 Atividade avaliativa
Plano de Aulas
DATA AULA
11 11/10/2023 1ª Devolutiva | Proposta de Projeto e Seminário
12 18/10/2023
Ferramentas para automação e realização de 
testes
13 25/10/2023 Metodologia de Teste: TDD
14 01/11/2023 Reunião de acompanhamento dos projetos
15 08/11/2023 Entrega e apresentação de projetos
16 11/11/2023 Sábado letivo (atividade online)
17 22/11/2023 Atividade avaliativa
18 29/11/2023 2ª Devolutiva
19 06/11/2023 Revisão para a Recuperação
20 13/12/2023 Recuperação | Devolutiva da recuperação
	Slide 1
	Slide 2: Curso: Análise e Desenvolvimento de Sistemas Disciplina: Verificação e Validação de Software Aula 07: Teste Funcional e Teste Estrutural
	Slide 3: Agenda
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20

Mais conteúdos dessa disciplina