Skip to Content
Suffering builds character
아카이브26.mutation Testing돌연변이 테스트2. 돌연변이 테스트

2. 돌연변이 테스트

1. 핵심 아이디어

돌연변이 테스트(Mutation Testing)는 테스트의 품질 or 강도(Strength) 를 측정하는 기법

기본 발상은 단순함

소스 코드에 일부러 작은 버그(돌연변이)를 심었을 때, 테스트가 그 버그를 잡아내는가?

ex. score >= 90 → score > 90, >= 연산자를 >로 변경하는 돌연변이 주입

이후 변이된 코드에 대해 테스트 코드를 다시 실행했을 때,
테스트가 버그를 잡아내면 그 돌연변이는 제거(killed) 되었다고 하고,
잡아내지 못하면 돌연변이가 생존(survived) 했다고 함

2. 핵심 용어 정리

핵심 용어는 다음과 같음

용어의미
Mutant (돌연변이)원본 코드에 작은 변경을 가한 변형 코드
Mutator (변이 규칙)돌연변이를 생성하는 규칙. 예: >=를 >로 바꾸기
Killed (제거)테스트가 돌연변이를 탐지하여 실패한 경우
Survived (생존)테스트가 돌연변이를 탐지하지 못하고 통과한 경우
Mutation Score전체 돌연변이 중 제거된 비율, 높을수록 테스트 품질이 좋음
Last updated on