In software testing, an oracle refers to a mechanism against which testers can decide whether or not outcomes of test case executions are correct. The oracle problem refers to situations when either an oracle is not available, or it is too expensive to apply. Metamorphic testing has emerged as an effective and efficient approach to alleviating the oracle problem. This article introduces the basic concepts and procedures of metamorphic testing, and gives examples to show its applications, and integration with other methods. © 2012 IEEE.