There is a generally overlooked component in testing that might be compared with our autonomic nervous system. Like the autonomic functions, we don’t think about them, but things don’t work at all without them. Every test requires some kind of oracle to distinguish good behavior from bad. Many testers are not consciously aware of the oracles they use, and some testers don’t know the term or why it’s important. Without an oracle a test is just a bit-bucket – no data comes out. Unless the system catches fire we aren’t going to know if anything goes wrong. (Even then we don’t necessarily know that it was the test that caused the fire.)
A test oracle can be as simple as checking for crashes. They can also get more complex than the systems we are testing. Nearly always the oracle checks for expected behavior, but oracles can also check for unexpected behaviors (such as memory leaks). There are a dozen distinct oracle mechanisms we use to check program behavior during testing, many of which can be or require automation. This webinar focuses on these oracle mechanisms; what they are, and how, when, and why they are appropriate for different contexts.
Join us on Friday, May 3rd at 10:00am PST to learn more about Test Oracles!
Edit: we published a transcript of this webinar.
About our Presenter:
Doug Hoffman has been doing software testing for a few decades and was one of the initial members and past President of AST. He has degrees in CS, EE, and an MBA and a long list of other awards and credentials. His company is Software Quality Methods where he teaches and is a management consultant in software testing and quality assurance. He has been interested in automated tests and test oracles since starting testing and has published articles and presented classes and conference talks on them for over 20 years.