본문 바로가기

IT기반지식/소프트웨어공학

테스트 케이스를 평가하는 뮤테이션 테스트 (Mutation Testing)

테스트 케이스가 얼마나 잘 작성했는지 평가하는 것은 "보통 얼마나 많은 결함을 찾았나?" 또는 "커버리지 (Coverge)가 얼마나 되나?"를 통해서 평가 받을 수 있을 것이다.

그리고 또 하나 Mutation Testing을 통해서도 평가 받을 수 있을 것이다.
원본 프로그램을 수정 한 Mutant를 테스트 케이스를 수행해서 수정된 부분으로 인해 실패한 테스트 케이스가 있는지를 통해서 테스트 케이스가 얼마나 테스트를 잘 하고 있는지 평가 할 수 있다.

즉, c = a+b; 라는 코그를 c = a-b; 수정 후 테스트 케이스를 돌려 실패한 테스트 케이스가 있는지 확인하는 것이다.

보통 생성한 총 Mutant 분에 테스트 케이스가 실패해서 Mutant임이 밝혀진 Killed Mutant 수인 Mutant Scroe로 테스트 케이스 수준을 평가한다.

Mutant Score = # of Killed Mutant / # of Total Mutant

Ref
[1] Mutation Testing 관련 Papers http://ise.gmu.edu/~ofut/rsrch/mut.html
[2] Mutation Testing 소개 PDF http://agile.csc.ncsu.edu/testing/MutationTesting.pdf

출처 : http://alones.kr/blog/28?category=32