Sciweavers

ICST
2009
IEEE

Using JML Runtime Assertion Checking to Automate Metamorphic Testing in Applications without Test Oracles

14 years 6 months ago
Using JML Runtime Assertion Checking to Automate Metamorphic Testing in Applications without Test Oracles
It is challenging to test applications and functions for which the correct output for arbitrary input cannot be known in advance, e.g. some computational science or machine learning applications. In the absence of a test oracle, one approach to testing these applications is to use metamorphic testing: existing test case input is modified to produce new test cases in such a manner that, when given the new input, the application should produce an output that can be easily be computed based on the original output. That is, if input x produces output f(x), then we create input x’ such that we can predict f(x’) based on f(x); if the application or function does not produce the expected output, then a defect must exist, and either f(x) or f(x’) (or both) is wrong. By using metamorphic testing, we are able to provide built-in “pseudo-oracles” for these so-called “nontestable programs” that have no test oracles. In this paper, we describe an approach in which a function’s met...
Christian Murphy, Kuang Shen, Gail E. Kaiser
Added 24 May 2010
Updated 24 May 2010
Type Conference
Year 2009
Where ICST
Authors Christian Murphy, Kuang Shen, Gail E. Kaiser
Comments (0)