Teste Orientado a Objetos

O teste orientado a objetos consiste em realizar seqüências de envios de mensagens. Essas sequências devem ser escolhidas de maneira a explorar o maior número possível de estados que um objeto possa assumir e as transições entre eles.

Para que esse tipo de verificação seja eficiente, é interessante reduzir ao mínimo o número de casos de teste aplicados. Considere estas duas seqüências em C++ usando a biblioteca STL:

Seqüência 1:
v.erase (v.begin() + 3);
v.insert (v.begin() + 3, 100);

Seqüência 2:
v.insert (v.begin() + 3, 100);
v.erase (v.begin() + 4);


As duas seqüências de chamadas provocam exatamente o mesmo efeito: substituir o terceiro elemento de um vetor. É possível criar inúmeros casos de teste diferentes que levam um objeto exatamente ao mesmo estado. Se não for relevante testar diferentes caminhos, isto é, as transições que provocam a mudança, é melhor utilizar um único caso de teste.

Existem ferramentas para geração de casos de teste para orientação a objetos, como JCrasher, gratuita, Jtest e JC++, da Parasoft, que evitam testes redundantes.

Veja também:

Teste de Caixa-Preta
Teste de Caixa-Branca
Testes de Estresse
Teste de Integração
Teste de Aceitação

Comentários

Postagens mais visitadas deste blog

Teste de Caixa-Preta

Teste de Estresse

Teste de Caixa-Branca

Plano de Teste - Padrão IEEE 829-1998

Teste de Integração

Teste de Aceitação