Specification-Based Test Oracles

"Efficient Specification-Based Test Oracles for Critical Systems", by T. Owen O'Malley, Debra J. Richardson and Laura K. Dillon in Proceedings of 1996 California Software Symposium, April 1996

Abstract

Effective testing of critical systems has been hampered by the lack of a cost-effective method for deciding the correctness of a program's behavior under test. Using formal specifications to describe the critical system properties and then checking test results against these specifications overcomes these problems. If these test oracles, which are mechanisms for determining whether a test passes or fails, are efficient, they can be combined with automatic test generation to cost-effectively automate the testing of large numbers of testcases that more adequately cover the system requirements and structure. This paper presents a algorithm for automatically deriving efficient test oracles from Graphical Interval Logic (GIL), which is a graphical temporal logic that is easier for non-experts to understand than many formal languages. To develop efficient test oracles from GIL, we convert the specifications into automata that can be checked in time linear in the length of the trace. Additionally, the automata can be checked incrementally to identify the failure when it occurs, which provides the opportunity to obtain useful information about the erroneous state of the system. We have implemented a tool that converts GIL specifications into automata based on the algorithms presented in this paper.
from Debra J. Richardson
djr@ics.uci.edu
Department of Information and Computer Science, 
University of California, Irvine CA 92717-3425