Metamorphic Testing
메타모픽 테스팅 (Metamorphic Testing, MT) 소프트웨어 테스트에서 “오라클 문제”(테스트 결과의 정확성을 판단하기 어려운 상황)를 해결하기 위해 개발된 방법으로, 메타모픽 테스팅은 소프트웨어의 의도된 기능에 대한 필수적인 속성인 메타모픽 관계(Metamorphic Relations, MRs)를 활용하여 테스트를 수행한다. 이 방법은 정확한 출력값을 알지 못해도 테스트가 가능하다는 점에서 특징적이다. 메타모픽 테스팅의 핵심 원리는 입력값들 사이의 관계와 그에 따른 출력값들 사이의 관계를 활용하는 것이다. 예를 들어, 어떤 숫자에 2를 곱한 값과 원래 숫자의 제곱을 비교한다고 생각해보자. 입력값이 3일 때, 3 × 2 = 6이고 3² = 9이다. 여기서 우리는 “어떤 숫자에 2를 곱한 값은 항상 그 숫자의 제곱보다 작다"라는 메타모픽 관계를 발견할 수 있다. ...