Using Test Oracles and Formal Spectifications with Test-Driven Development

Shadi G. Alawneh,
Dennis K. Peters


This paper illustrates how Test Oracles and Formal Specifications, with appropriate tool support, can be used with Test-Driven Development (TDD). In TDD, the test code is a formal documentation of the required behavior of the component or system that is being developed, but this documentation is necessarily incomplete and often over-specific. We describe an alternative approach to TDD that is to develop the specification of the required behavior in a formal notation as a part of the TDD process and to generate test oracles from that specification. We present the results of using this approach to develop programs used in a project at the Faculty of Engineering and Applied Science at Memorial University.

Keywords: Test driven development; extreme programming; open mathematical documents; test oracle

back to Dennis Peters' homepage

Last modified: Tue 2006.07.25 at 09:57 NDT by Dennis Peters