Metamorphic testing (MT) is a software testing technique that addresses test oracle problems by examining the relationships between outputs from multiple executions with altered inputs. It is especially useful for complex or non-deterministic systems, like machine learning, web services, and scientific computing, where correct outputs are hard to define. The process involves identifying metamorphic relations (MRs), generating test cases, executing them, and verifying MRs to detect potential defects.