Mutation testing is a fault-based testing technique which provide strong quality assurance. Mutation testing has a very long history for the procedural programs at unit-level testing, but the research on mutation testing of object-oriented programs is still immature.
Recently, inter-class mutation operators are proposed as a comprehensive set of mutation operators for inter-class testing based on classification of object-oriented fault types. However, any analysis has not conducted on inter-class mutation operators.
To evaluate the orthogonality of inter-class mutation operators, this paper verifies the design of inter-class mutant operators through three experiments. This thesis apply N-Selective mutation technique to the three experiments.
The results of the experiments have shown that each operator in the inter-class mutation operators is orthogonal. It is also shown that the number of the inter-class mutation operators that is used to generate mutants are only two or three operators. Third experiment also says that inter-class mutation operators detect faults which are rarely occurred. As a result, inter-class mutation operators are designed well.
뮤테이션 테스팅 기법은 오류기반 테스팅 방법으로, 소프트웨어의 높은 질을 보장해 준다. 뮤테이션 테스팅은 순차적 언어 때부터 오랫동안 연구되어 왔다. 그러나 객체지향 기반의 프로그램에 대한 연구는 역사가 짧고 아직 초기 단계이다.
최근에 객체지향 프로그램의 오류 타입들을 명세한 것을 바탕으로 객체간 뮤테이션 테스팅을 할 수 있는 통합적인 뮤테이션 오퍼레이터가 제시 되었다. 그러나, 이 오퍼레이터에 대한 분석은 아직 이뤄지지 않고 있다.
이 논문에서는 객체간 뮤테이션 오퍼레이터가 얼마나 디자인이 잘 되었는지를 측정하기 위해 3가지 실험을 통해서 직교성을 검증하였다. 선택적 뮤테이션 테스팅 기법을 객체간 뮤테이션 오퍼레이터의 실험에 응용하였다.
실험 결과, 이 객체간 뮤테이션 오퍼레이터 들은 서로 직교 하는 것으로 나타났다. 즉 오퍼레이터들은 각각의 특성을 가지면서 잘 디자인 되어 있는 것으로 나타났다. 그러나, 뮤턴트를 만드는데 사용된 뮤테이션 오퍼레이터 들의 개수가 무척 작았다. 이것은 이 뮤테이션 오퍼레이터의 일반적인 특성임이 세 번째 실험에서 밝혀졌다. 또한, 실험을 통해 객체간 뮤테이션 오퍼레이터는 실제로는 매우 드물게 일어나는 오류를 찾아주는 오퍼레이터로 나타났다.