2. 돌연변이 테스트
1. 핵심 아이디어
돌연변이 테스트(Mutation Testing)는 테스트의 품질 or 강도(Strength) 를 측정하는 기법
기본 발상은 단순함
소스 코드에 일부러 작은 버그(돌연변이)를 심었을 때, 테스트가 그 버그를 잡아내는가?
ex. score >= 90 → score > 90, >= 연산자를 >로 변경하는 돌연변이 주입
이후 변이된 코드에 대해 테스트 코드를 다시 실행했을 때,
테스트가 버그를 잡아내면 그 돌연변이는 제거(killed) 되었다고 하고,
잡아내지 못하면 돌연변이가 생존(survived) 했다고 함
2. 핵심 용어 정리
핵심 용어는 다음과 같음
| 용어 | 의미 |
|---|---|
| Mutant (돌연변이) | 원본 코드에 작은 변경을 가한 변형 코드 |
| Mutator (변이 규칙) | 돌연변이를 생성하는 규칙. 예: >=를 >로 바꾸기 |
| Killed (제거) | 테스트가 돌연변이를 탐지하여 실패한 경우 |
| Survived (생존) | 테스트가 돌연변이를 탐지하지 못하고 통과한 경우 |
| Mutation Score | 전체 돌연변이 중 제거된 비율, 높을수록 테스트 품질이 좋음 |
Last updated on