testing-mutation
Installation
SKILL.md
Mutation Testing - Test Suite Effectiveness Verification
뮤테이션 테스팅을 통해 테스트 스위트의 결함 탐지 능력을 정량적으로 측정하고 품질 게이트를 적용하는 스킬.
Overview
뮤테이션 테스팅은 소스 코드에 의도적인 결함(뮤턴트)을 삽입한 후 기존 테스트 스위트가 이를 탐지(killed)하는지 확인하여 테스트의 효과성을 검증하는 메타-테스팅 기법이다.
핵심 개념
| 용어 | 정의 |
|---|---|
| 뮤턴트 (Mutant) | 소스 코드에 의도적으로 삽입된 작은 변경. 예: > -> >=, + -> -, true -> false |
| Killed | 테스트가 뮤턴트를 탐지하여 실패한 경우. 테스트가 해당 로직을 효과적으로 검증하고 있음을 의미 |
| Survived | 테스트가 뮤턴트를 탐지하지 못하고 통과한 경우. 테스트 스위트에 갭이 존재함을 의미 |
| Timeout | 뮤턴트로 인해 무한 루프 등이 발생하여 시간 초과된 경우. 일반적으로 killed로 분류 |
| No Coverage | 해당 코드 영역을 커버하는 테스트가 없는 경우. 테스트 커버리지 갭 |
| 뮤테이션 스코어 | killed / (killed + survived) * 100%. 테스트 스위트의 결함 탐지 능력 지표 |