FL-4.2.5 (K2) Explicar como derivar casos de teste de um caso de uso
TESTE POR CASO DE USO

Com os métodos orientados a objetos para desenvolvimento de software, a Unified Modeling Language (UML) tem sido usada com alguma frequência.
Existem abordagens para derivar diretamente os casos de teste de diagramas UML, e gerar os testes mais ou menos automático.
Vamos estudar como a partir de casos de uso e diagramas de casos de uso gerar os casos de teste.
Os casos de uso (textual) e o diagrama de casos de uso (gráfico) são descritos para identificar os requisitos.

Os casos de uso neste exemplo são: Sacar dinheiro, Consultar PIN e Comer Cartão.
Os casos de uso podem estabelecer relacionamentos do tipo “include” e “extend”:
“Include” é uma relação obrigatória – para sacar dinheiro será necessário consultar PIN.
“Extend” é uma relação opcional – consultar PIN pode executar Comer Cartão.
Sobre os Casos de Uso
Descreve uma sequência de ações do ator com o sistema, através de um resultado observável e de valor para o ator.
A UML não especifica como o texto deve ser estruturado, organizado ou descrito.
A forma de escrita dos casos de uso influência a criação de casos de testes.

Casos de Testes a partir de Casos de Uso
Benefícios
- Permite que testadores escrevam os casos de testes antes do código ser escrito;
- Fornece um método claro de teste;
- Dá aos testadores um ponto de partida para entender o que a aplicação supostamente faz.
A cobertura pode ser medida pela porcentagem de comportamentos de casos de uso testados dividida pelo número total de comportamentos de casos de uso, normalmente expressos como uma porcentagem.
Casos de Uso x Casos de Teste
- Cliente insere seu cartão no caixa eletrônico;
- Sistema apresenta solicitação de senha;
- Cliente digita senha;
- Sistema valida a senha e exibe menu de operações disponíveis;
- Cliente indica que deseja realizar um saque;
- Sistema requisita o valor da quantia a ser sacada;
- Cliente fornece o valor da quantia que deseja sacar;
- Sistema fornece a quantia desejada e imprime o recibo para o Cliente;
- Cliente retira a quantia e o recibo, e o caso de uso termina.

Como criar casos de testes a partir de casos de uso?
- Identificar todos os cenários do caso de uso

Cenários:
- Descrevem o que o ator pode fazer;
- Cobre o fluxo básico e o fluxo alternativo;
- Inicia e termina dentro do caso de uso;
- Não se pode testar fluxos alternativos sem o fluxo básico.
Encontrando cenários
- Cada combinação possível do fluxo básico e alternativo identifica o conjunto completo de cenários;
- O número mínimo de cenários é igual ao número de fluxos alternativos + o fluxo básico;
- Muito frequentemente há mais cenários que o número mínimo graças a combinação de cenários e múltiplas “condições” de um fluxo alternativo (este tipo de fluxo não é “atômico”);
- Ao encontrar cenários é útil desenhar os fluxos.
Matriz de Cenários

- Identificar todos os cenários do caso de uso.
- Para cada cenário, crie um caso de teste e identifique as condições nas quais cada caso de teste será executado.
- Revise e reconsidere cada cenário. Adicione valores de dados para cada condição de teste.
