Plano e Casos de Testes
Engenharia de Software 2
Objetivo
Compreender as técnicas de particionamento
de equivalência e análise de valor limite para
testes funcionais
Elaborar e executar um plano de teste
funcional para minimizar os defeitos em
sistemas web
2
Casos de Testes
Testes de Software
Definição
Casos de Teste são conjuntos de
condições usadas para teste de software
Identificam defeitos no software ao
exercitar adequadamente as estruturas
utilizadas na codificação
Garantem que os requisitos sejam
plenamente atendidos
4
Casos de Uso x Casos de Teste
Casos de Uso descrevem as
funcionalidades do sistema do ponto de
vista do usuário
Para testar se as “funcionalidades estão
funcionando” criamos casos de teste a
partir dos casos de uso
5
Criando um Caso de Teste
Selecione o caso de uso que será testado
Identifique o cenário principal, cenários
alternativos e cenários de exceção
Desenhe um diagrama de atividades
(ajuda a visualizar todos os cenários que
o usuário pode utilizar)
A ideia é testar cada cenário possível
6
Criando um Caso de Teste
Escreva um caso de teste para cada
cenário detalhando os passos
O testador vai executar as ações do ator e
validar se a resposta do sistema está de
acordo com o que foi especificado
7
Estrutura
Seção Descrição
Resumo Descrição do caso de teste com a sua finalidade
Pré-condições O estado do sistema antes do teste
Lista das entradas necessárias para o teste. Geralmente serão os
Entradas objetos ou os campos de interação e os valores que serão inseridos
nestes campos
Ação As ações que o testador deverá executar
Resultados O resultado observável da ação executada pelo testador. Isto pode
esperados incluir respostas positivas e negativas (como condições de erro e falhas).
Pós-condições O estado do sistema depois da execução do teste
8
Exemplo de Caso de Teste
Testes de Software
Contexto
uc Use Case Model
UC 01. Cadastra
produto
UC 02. Deleta
produto
usuario
UC 03. Altera produto
UC 04. Vê detalhes
do produto
10
Exemplo1 - Cadastro de Produto
Seção Descrição
Resumo Teste de cadastro de produto com todos os campos em branco
Pré-condições O usuário deve estar na página onde é exibido o formulário de cadastro
Entradas Todos os campos ficam em branco
Ação Clicar no botão salvar
Resultados
Uma mensagem de erro avisando sobre os campos não preenchidos
esperados
Pós-condições Nenhum produto deve ser adicionado ao banco de dados
11
Exemplo2 - Cadastro de Produto
Seção Descrição
Resumo Teste de cadastro de produto informando todos os campos
Pré-condições O usuário deve estar na página onde é exibido o formulário de cadastro
Nome: Chinelo havaina
Código: 01
Entradas Preço: 15,5
Descrição: Chinelo da marca havaiana
Ação Clicar no botão salvar
Resultados
Os dados do produto cadastrado aparecem na tela
esperados
Pós-condições Um novo produto é adicionado ao banco de dados
12
Técnicas de Testes Funcionais
Testes de Software
Particionamento de Equivalência
Técnica de teste utilizada para reduzir o
número de casos de teste garantindo boa
cobertura do domínio de entrada
Empregado intuitivamente pelos
programadores mesmo sem
conhecimento
14
Exemplo
Sistema de Recursos Humanos –
empregar pessoas com base na idade
(classes de equivalência):
●
0-16: não empregar
●
16-18: período parcial
●
18-55: período integral
●
55+: não empregar
15
Quando Aplicar?
Deve ser testado considerando as idades:
0, 1, 2, …, 97, 98, 99?
Para cada classe de equivalência,
somente um valor precisa ser testado!
Parte do princípio que, se um caso de
teste de uma classe de equivalência
revela um erro, qualquer caso de teste da
mesma classe também revelaria
16
Como Aplicar?
1. Identificar as classes de equivalência
2. Criar casos de testes para as classes de
equivalência válidas
3. Criar casos de teste para as classe de
equivalência inválida
4. Casos de teste adicionais podem ser
criados caso haja tempo e recursos
17
Definindo as Classes
Diferentes tipos de dados exigem
diferentes classe de equivalência
Exemplo: campo contendo os meses do
ano (valor inteiro)
01 12
18
Análise por Valor Limite
Técnica de teste utilizada para exercitar
os limites do domínio de entrada
Complemento do Particionamento de
Equivalência
Foco nas bordas da classe, ou seja, nos
valores próximos às extremidades das
classes
19
Quando Aplicar?
Meses do Ano (expressos como inteiros)
Limites são os valores que envolvem o
começo e o fim das classes de
equivalência (0, 1, 2 e 11, 12, 13)
Parte-se do princípio que os erros
ocorrem principalmente ao modelar as
operações de comparação
20
Como Aplicar?
1. Identificar as classes de equivalência
2. Identificar os limites de cada classe
3. Criar casos de teste para cada limite
identificado
4. Casos de teste adicionais podem ser
criados caso haja tempo e recursos
21
Encontrando os Valores-Limite
Um ponto abaixo do limite
O limite
Um ponto acima do limite
-1 0 1 11 12 13
22
Exemplo3 - Cadastro de Produto
Seção Descrição
Resumo Teste de cadastro de produto explorando os limites do campo preço
Pré-condições O usuário deve estar na página onde é exibido o formulário de cadastro
Nome: Qualquer nome
Código: qualquer número inteiro positivo
Entradas Preço: testar os valores: -1; 0,001; 9.999.999,99
Descrição: qualquer texto
Ação Clicar no botão salvar
Resultados
Mensagem de erro avisando sobre valor do preço inválido
esperados
Pós-condições Nenhum produto deve ser adicionado ao banco de dados
23
Plano de Testes
Testes de Software
Definição
Documento com uma abordagem
sistemática para o teste de sistemas
como hardware ou software
Um conjunto de casos de teste forma um
plano de teste
●
Exemplo de Plano de Teste
●
Template do RUP
25
Executando
Pode ser executado manualmente ou de
forma automatizada
Em ambos os casos o objetivo é seguir
exatamente o que está descrito no plano
de teste e ver se o resultado obtido é o
esperado descrito no plano
26
Executando
Se executados manualmente, uma linha
de código pode ser adicionada na
estrutura para indicar o resultado do
teste (output)
27
Registrando
Após cada execução, registar os
resultados (sucessos e falhas)
As falhas devem embasar novas tarefas
corretivas, ao fim das quais o teste deve
ser novamente aplicado
Cada registro deve conter a data e
responsável pela execução
28
Exercício
Testes de Software
Exercício
Cada equipe deve se dividir
em dois
grupos, cada qual escolhendo um caso de
uso implementado
Elaborar o documento do plano de teste
para o caso de uso escolhido
Disponibilizar o documento de plano de
testes para o outro grupo realizá-lo
30
Exercício
Elaborar um relatório contendo
resultados da execução de testes
Inclua imagens dos erros encontrados
Publicar o resultado do plano de testes
no Ambiente Sophia
31
Referências
Teste de Software
Referências
PAULA FILHO, Wilson de Padua. Engenharia de
software: fundamentos, métodos e padrões - 3. ed. /
c2009 fundamentos, métodos e padrões. Rio de
Janeiro, RJ: Livros Técnicos e Científicos, c2009.
PRESSMAN, Roger S. Engenharia de software /
c1995, 2006 Sao Paulo: Makron Books, c1995, 2006.
33