뮤테이션 테스팅 (Mutation Testing)
별점: ★★★★★ | ★133회 기출
답안.
Ⅰ. 개요
뮤테이션 테스팅: 소스코드에 의도적으로 결함(변이)을 주입한 뮤턴트(Mutant)를 만들고, 기존 테스트가 해당 결함을 탐지(Kill)하는지 확인하여 테스트 스위트의 실효성을 측정하는 기법.
Ⅱ. 핵심 구성요소
[뮤테이션 테스팅 프로세스]
원본 코드
↓ 변이 연산자(Mutation Operator) 적용
뮤턴트 생성 (변이 코드들)
↓ 기존 테스트 스위트 실행
결과 분류:
- Kill (사망): 테스트가 뮤턴트 탐지 ✓
- Survive (생존): 테스트가 탐지 못함 ✗ → 테스트 보강 필요
- Equivalent: 의미적으로 원본과 동일 (제외)
뮤테이션 점수 = Kill된 뮤턴트 수 / 전체 뮤턴트 수 × 100%
목표: 80% 이상 권장
산술 연산자 변이: +→-, *→/
관계 연산자 변이: >→>=, ==→!=
논리 연산자 변이: &&→||, !제거
경계값 변이: >→>=, <→<=
상수 변이: 0→1, true→false
문장 삭제: 특정 문장 제거
해당 키워드의 기술적 구성요소와 동작 원리를 서술한다.
Ⅲ. 특징 및 비교
핵심 기술의 장단점과 유사 기술과의 차이를 분석한다.
Ⅳ. 적용 사례
실무 환경에서의 적용 사례와 기대효과를 제시한다.
Ⅴ. 전망
최신 기술 동향과 향후 발전 방향을 서술한다.