Test Oracles

April, 2010 IV EBTS

Designing tests includes both exercising the software and determining whether the resultant behavior is expected.  Capturing and comparing results can be tricky and difficult. An oracle is the principal or mechanism we use to tell whether  or not the software behaves as expected.

The talk describes the nine types (listed below), explains what each is, and goes into some of their applications and possible mechanisms to use them.

The nine types are:

1. Complete
2. Heuristic
3. Statistical
4. Consistency
5. Self-verifying
6. Model-based
7. Inverse function
8. Hand crafted
9. None

Talk presented at IV Encontro Brasileiro de Testes de Software (IV EBTS).

Test Oracles (Slides)