GRAFO CAUSA-EFEITO
Esse critério de teste verifica o efeito combinado de dados de entrada. As causas (condições de entrada) e os efeitos (ações) são identificados e combinados em um grafo a partir do qual é montada uma tabela de decisão, e a partir desta, são derivados os casos de teste e as saídas (ROCHA et al., 2001).
Aplicação da Técnica:
- Dividir a especificação do software em partes, pois a construção do grafo para grandes especificações torna-se bastante complexa. Identificar as causas e efeitos na especificação.
- As causas correspondem às condições de entrada, ou uma particular classe de equivalência, estímulos, ou qualquer coisa que provoque uma resposta do sistema em teste. Os efeitos correspondem às saídas, mudanças no estado do sistema ou qualquer resposta observável.
- Uma vez identificados, a cada um deve ser atribuído um único número.
- a semântica da especificação e transformar em um grafo booleano – o Grafo Causa-Efeito – que liga as causas e os efeitos.
Passo 1:
Passo 2:
Passo 3:
Passo 4:
LIGAÇÃO DE CAUSA - EFEITO
Identidade: o efeito 2 ocorre se a condição 1 é verdade.
Negação: o efeito 2 ocorre se a condição 1 não é verdade.
Conjunção: 3 ocorre se 1, 2 são verdades
Disjunção: o efeito 4 ocorre se pelo menos uma das causas 1, 2 ou 3 é verdade
RESTRIÇÃO DE CAUSA - EFEITO
Restrição E: no máximo um entre “1” e “2” pode ser igual verdade (1) (ou seja, “1” e “2” não podem ser verdade (1) simultaneamente)
Restrição I: no mínimo um entre “1”, “2” e “3” deve ser igual a verdade (1) (ou seja, “1”, “2” e “3” não podem ser falso (0) simultaneamente).
Restrição O: um e somente um entre “1” e “2” deve ser igual a verdade(1).
Restrição R: para que “1” seja igual a 1, “2” deve ser igual a verdade (1) (ou seja, é impossível que “1” seja verdade (1) se “2” for falso(0)).
Restrição M: se o efeito “1” é verdade (1) o efeito “2” é forçado a ser falso (0).
TABELA DE DECISÃO
Construção da Tabela de Decisões:
- Para cada efeito, percorra o grafo no sentido efeito-causa e selecione as combinações de causas que produzem o efeito considerado
- Crie uma coluna na tabela de decisões para cada combinação de causas
EXEMPLO
“Em um programa de compras pela Internet, a cobrança ou não do frete é definida seguindo tal regra: Se o valor da compra for maior que R$ 80,00 e foram comprados menos que 3 produtos, o frete é gratuito. Caso contrário, o frete deverá ser cobrado.”
A partir da especificação identificamos as causas e efeitos:
- Obs.: “C” será as causas e “E” o efeitos, logo depois será usado um numerador para identificar cada item.
Causas:
- C1 - Valor da compra > R$ 80,00
- C2 - Quantidade de produtos < 3
Efeitos:
- E1 - Frete Grátis
- E2 - Cobrar Frete
Com as causas e efeitos identificados e listados, vamos para a construção do grafo como dado abaixo:
Em seguida, temos que transforma esse grafo na tabela de decisões, como feito abaixo:
Causa | Valor da compra | >80 | >80 | <=80 |
---|---|---|---|---|
Produto | <3 | >=3 | - | |
Efeito | Frete Grátis | V | ||
Cobrar Frete | V | V |
A partir da tabela de decisão é derivado os casos de teste, na qual cada coluna representa um caso de teste, como na tabela abaixo:
Casos de Teste | Entrada | Saída Esperada |
---|---|---|
CT01 | Valor: R$ 81,00 Produtos: 2 | Frete Grátis |
CT02 | Valor: R$ 81,00 Produtos: 3 | Cobrar Frete |
CT03 | Valor: R$ 79,00 Produto: 1 | Cobrar Frete |
CT04 | Valor: -1 Produto:3 | Inválido |
CT05 | Valor: R$ 80,00 Produto:-1 | Inválido |
CT06 | Valor: R$ 80,00 Produto:0 | Inválido |