motorola confidential
Testes para Paradigma Orientado a Objetos
Testes caixa preta, caixa branca, integração, herança e exceções
Mirielly Alves, Renan Marques
motorola confidential
Teste de Unidade e Herança - Caixa preta
● Maquina de estado da Classe de Conta
Conta não Vazia Conta Vazia
debitar
debitar/ creditar
getSaldo / setSaldo
render juros
creditarsetSaldo
getSaldo
motorola confidential
Teste de Unidade - Caixa preta
● Casos de teste - Classe Conta
T1 = Conta(), AssertEquals(0, getSaldo) Testa criação de conta com saldo 0
T2 = Conta(), Debitar(100), AssertEquals(400, getSaldo())
Testa debitar com saldo suficiente.
T3 = ContaPoupanca(), creditar(100), renderJuros(0.01), AssertEquals(101, getSaldo())
Testa a função de render juros com uma taxa de 0.01
motorola confidential
Teste de Unidade - Caixa preta
repositório vazio
repositório não vazio
procurar
repositório cheio
existe
atualizar existe
procurar remover
atualizar existe
procurar
inserir inserir
remover remover
● Maquina de estado da Classe Conta
motorola confidential
Teste de Unidade - Caixa preta● Casos de teste - Classe RepositorioContasArray
T1 = RepositorioContasArray(), inserir(conta), assertEquals(true, existe(“123”)).
Testa inserção de contas e verifica se a mesma existe
T2 = RepositorioContasArray() , inserir(conta), remover(“123”), assertEquals(false, existe(“123”)).
Testa inserção de contas, remoção e verifica se a mesma existe
T3 = RepositorioContasArray() , inserir
(conta), atualizar(), remover(“123”),
assertEquals(false, existe(“123”)).
Testa inserção de contas, atualização , remoção e verifica se existe.
T4 = RepositorioContasArray(), inserir(conta1),inserir(conta2),inserir(conta3),inserir(conta4),inserir(conta5),inserir(conta6), ArrayCheioExpection.
Verifica array cheio
motorola confidential
Teste de Unidade - Caixa branca
● Teste de Instrução - Método Atualizar
1
2
3 4
i == -1i != -1
motorola confidential
Teste de Unidade - Caixa branca
● Casos de Teste - Teste de Instrução - Método Atualizar
Nós Predicados Dados
{1,2,3} i != -1 nº da conta - “123”
{1,2,4} i == -1 nº da conta - “000”
1
2
3 4
i == -1i != -1
motorola confidential
Teste de Unidade - Caixa branca
● Teste de Decisão - Método Existe
1
2
3 4
i == -1i != -1
motorola confidential
Teste de Unidade - Caixa branca
● Casos de Teste - Teste de Decisão - Método Existe
Nós Predicados Dados
{(1,2), (2,3), (3,4)}
i != -1 nº da conta - “123”
{(1,2),(2,4)} i == -1 nº da conta - “000”
1
2
3 4
i == -1i != -1
motorola confidential
Top-downdriver
A
B C
D
A - Fachada
B - Cadastrar
C - Creditar
D - Transferir
E - Procurar
E
motorola confidential
Teste de Integração
● Casos de teste
T1 = cadastrar(), creditar (procurarConta(“001”), 100), AssertTrue(procurarConta(“001”).getSaldo()==100)
T2 = cadastrar(), creditar(procurarConta(“003”),200), transferir(), AssertTrue(procurarConta(“002”).getSaldo()==100)
motorola confidential
Teste de Exceções
T1 = Conta(), RepositorioContaArray(), inserir(conta1), atualizar(conta2)
- Lança exceção de Conta Inexistente
T2 = Conta(), RepositorioContaArray(), inserir(conta2), procurar(conta1)
- Lança exceção de Conta Inexistente
T3 = Cliente(), Conta(), debitar(valor) - Lança exceção de Saldo Insuficiente