기술인사이트

기술리포트

LLM 메타모픽 테스트(Metamorphic Testing)쉽게 이해하고 바로 적용하는 방법

1. 메타모픽 테스트란 무엇인가(LLM 관점의 개념)
LLM 기능(챗봇/요약/분류/정보추출 등)은 ‘정답 문장’이 하나로 고정되지 않는 경우가 많다.
또 같은 입력이라도 모델 특성상 답이 조금씩 달라질 수 있다(비결정성). 그래서 일반적인 “입력→정답 비교” 테스트가 어려워진다.

메타모픽 테스트는 이 문제를 ‘정답’이 아니라 ‘관계’로 해결한다. 원본 입력 X를 약간 바꾼 입력 X′를 만들고, 두 출력 Y=f(X), Y′=f(X′) 사이에 반드시 지켜져야 할 관계를 확인한다. 이 관계를 메타모픽 관계(MR)라고 한다.

LLM의 정답을 맞히는 테스트가 아니라, ‘깨지면 안 되는 성질’을 확인하는 테스트


1.1 LLM에서 흔히 쓰는 ‘관계’ 예시

· 표현만 바꿔도 의미가 같다면, 결론/의사결정은 같아야 한다(의미 불변).
· 무관한 문장을 추가해도, 핵심 답(결론/요약 핵심)은 유지되어야 한다(잡음 내성).
· 요약을 더 짧게 요구해도, 사실이 뒤집히면 안 된다(사실 불변).
· 금칙/민감정보 요구는 표현을 바꿔도 계속 거부해야 한다(거부 일관성)

아래처럼 ‘무엇을 바꾸고 → 무엇이 유지되어야 하는지’로 생각하면 쉽다.



2. LLM 테스트에서의 메타모픽 테스트 필요성

LLM에서는 아래 이유로 메타모픽 테스트가 특히 실용적이다.
즉, 메타모픽 테스트는 ‘LLM 답변이 마음에 드는지’ 와 같은 주관을 줄이고, ‘지켜야 할 품질’에 집중하게 한다.


3. 어떻게 접근할까(LLM 메타모픽 테스트 접근 방법)

3.1 6단계 절차


3.2 입력 변형(Transform) ‘4종 세트’
표준 별로 제시된 개발 일정은 법 적용 시점 이전에 조화 표준을 제공하기 위한 목표 시점으로 설정된 것으로, 실제 발행 시점은 의견수렴 결과 및 기술적 논의에 따라 조정될 수 있고, 이에 따른 변경 점 또한 실시간 반영되니 지속적인 모니터링할 필요가 있다.

① 표현 바꾸기: 동의어, 문장 순서 바꾸기, 질문 형태 바꾸기(요청→질문)
② 노이즈 추가: 무관 문장 1~2개, 불필요한 배경 설명 추가
③ 제약 바꾸기: 요약 길이 줄이기/늘리기, 표로 정리해 줘/한 문장으로 답해줘
④ 금칙 시도: 민감 정보/위험 행동 요청을 표현을 바꿔 여러 번 시도(거부의 일관성 확인)




4. 실제 테스트 예시(LLM 케이스 4종)

4.1 예시 1: 요약 품질(핵심 유지 + 민감 정보 0건)
목표: 요약에서 핵심 누락/왜곡, 민감 정보 노출을 잡는다.


4.2 예시 2: 정보 추출(값의 일관성)
목표: 문서에서 날짜/금액/제품명 같은 ‘정해진 값’을 추출할 때, 표현이 바뀌어도 값이 같아야 한다.


4.3 예시 3: 분류/판단(결론 라벨 유지)
목표: 예/아니오/가능/불가 같은 ‘결론 라벨’을 내리는 기능에서, 의미가 같으면 라벨이 유지되어야 한다.


4.4 예시 4: 안전/정책 준수(거부 일관성, 0건 허용)
목표: 민감 정보 요청, 위험 행동 요청 등은 표현을 바꿔도 계속 거부해야 한다.



5. 결과 판정 방법(합격 기준과 리포트 작성)
LLM 메타모픽 테스트는 ‘세 가지 판정 규칙’만 정해도 운영이 된다.



5.1 ‘키워드/체크리스트’로 판정하는 가장 쉬운 방법
요약/설명 품질은 주관이 섞이기 쉬우므로, ‘키워드’와 ‘사실 체크리스트’를 먼저 쓰는 것이 가장 간단하다.

※ 이 표를 케이스마다 1장씩만 만들어도 ‘왜 실패인지’가 매우 명확해진다.

5.2 결과 기재 시 필수 항목

- 시험 대상/버전: 모델 버전, 프롬프트 버전(또는 설정), 실행 날짜 명시
- MR 목록과 판정 기준: Hard/Soft/확률 형 기준을 명확하게 명시
- 케이스 목록: 원본 입력과 변형 규칙(재현 가능하게) 명시
- 결과 요약: 통과/실패, 실패 유형(민감 정보/왜곡/누락/라벨 변화 등) 명시
- 대표 증적: 실패 케이스는 X, X′, Y, Y′를 한 세트로 캡처



6. 결론
LLM 테스트에서 가장 어려운 점은 ‘정답을 미리 만들기’다. 메타모픽 테스트는 이 문제를 ‘정답’ 대신 ‘관계’를 검증하는 방식으로 해결한다. 특히 민감 정보/금칙/위험 조언 같은 항목은 Hard(0건 허용) 관계로 두면, 작은 노력으로도 큰 리스크를 줄일 수 있다.

처음에는 어렵게 시작할 필요가 없다.

① Hard 관계 2~3개(민감 정보/금칙)
② Soft 관계 2개(키워드/체크리스트)만으로 표본 30쌍 정도로 설정하여도 유의미한 결함 패턴을 빠르게 찾을 수 있을 것이다.

참고 문헌
1. [1] E. T. Barr, M. Harman, P. McMinn, M. Shahbaz, S. Yoo, “The Oracle Problem in Software Testing: A Survey,” IEEE TSE, 41(5), 2015.
2. [2] T. Y. Chen, S. C. Cheung, S. M. Yiu, “Metamorphic Testing: A New Approach for Generating Next Test Cases,” 1998.
3. [3] T. Y. Chen et al., “Metamorphic testing: A review of challenges and opportunities,” ACM Computing Surveys, 2018.
4. [4] S. Segura, D. Towey, Z. Q. Zhou, T. Y. Chen, “Metamorphic Testing: Testing the Untestable,” IEEE Software, 37(3), 2020.
5. [5] (LLM 관련 예) “Metamorphic Testing of Large Language Models for Natural Language Processing,” (2025) preprint/ICSME 계열 논문.