Metamorphic Testing: Beyond Testing Numerical Computations
The concept of metamorphic testing (MT) is often illustrated using numerical computation programs that implement mathematical functions. This is because mathematical functions have well-known properties that can be readily understood by the audience. It is to be noted, however, that the application domain of MT is far larger than numerical computations. Hence, this talk will cover some of our research on MT beyond the testing of numerical programs. We first look at the potential of MT for cybersecurity and show how MT was used to detect bugs in real-life obfuscators. Obfuscators are a type of software that can be as important as compilers, but the testing of obfuscators was almost never studied in the past. We then look at the application of MT to search related services such as Google Maps and search engines, and show how the concept of MT has evolved from a verification technique to a more unified framework that covers verification, validation and other types of quality assessment.