본문 바로가기
소프트웨어공학

[소프트웨어공학] L9 - Verification, Validation, and Test: White-box Test (2)

by Lizardee 2023. 11. 29.
Fault Injection (예: Mutation Test)

▶ Mutation Test

  • 뮤턴트(mutant): 결함이 있는 프로그램 (대상의 일부를 변경시켜서 만든다.)

:P(프로그램)과 M(뮤턴트)를 구분해주는 결과값을 내는 뮤턴트를 찾아서, 결함을 감지해내는지 테스트한다.

--> P와 M에 대해 다른 결과가 나오면(뮤턴트를 한 번 제대로 이용하고 나면): M is killed. 

 

예: Mutant operator: SRV(scalar variable replacement)

▶ SRV(scalar variable replacement)

: 변수를 다른 값으로 바꿔서 뮤턴트를 만든다.

  • muant operator: mutant operator를 이용하면, 다양한 뮤턴트를 만들 수 있다.

예: Mutant operator: SRV(scalar variable replacement)

  • Mutant score: 전체 뮤턴트 중, 결함 검출에 성공한 뮤턴트 비율

 

Mutation Test

Mutation Test

: Mutation test는 뮤턴트를 굉장히 많이 만들어야 하기 때문에, 오버헤드가 커서 잘 사용하지 않는 방법이다.

  • Muatation test 이용 예: 자동차 --> 사전에 예외적인 상황을 결함으로 만들어서 테스트한다.

 

 

 

 

 

출처: 이화여자대학교 박지현교수님 소프트웨어공학