Using Test Oracles in Automation
Google TechTalks April 25, 2006 Douglas Hoffman is an independent consultant with Software Quality Methods, LLC. He has been in the software engineering and quality assurance fields for over 30 years and now consults in it. ABSTRACT Software test automation is often a difficult and complex process. The most familiar aspects of test automation are organizing and running of test cases and capturing and verifying test results. A set of expected results are needed for each test case in order to check the test results. Verification of these expected results is often done using a mechanism called a test oracle. This talk describes the use of oracles in automated software verification and validation. Several relevant characteristics of automated test oracles are included with some advantages, disadvantages, and implications for test automation. Real world oracles vary widely in their characteristics. Although the mechanics of various oracles may be vastly different, I've identified a few classes of oracles and some strategies for automated results verification. The five basic types of oracle strategies are identified and outlined: True, Heuristic, Consistency, Self Referential and the all-too-popular None.