Comparison of Test Case Effectiveness Based on Dynamic Diagrams Using Mutation Testing

Hyuck-Su Lee, Eun-Man Choi · The KIPS Transactions PartD · 2009

동적 UML 다이어그램은 객체 지향 언어로 구현된 프로그램의 복잡한 실행 동작에 대한 표현이 가능하다. 이로 인하여 동적 다이어그램 중, 순서, 상태, 액티비티 다이어그램을 이용하여 테스트 케이스를 추출하고 테스트 하는 방법이 많이 쓰이고 있다. 그러나 테스트 자원과 시간이 제한되어 있을 때 어떤 명세를 이용하여 테스트 케이스를 만드는 것이 더 효율적인지, 또한 어떤 특성이 있는지 알 필요가 있다. 이 논문에서는 ATM 시뮬레이션 프로그램을 세 가지 다이어그램으로 표현하고 이를 이용하여 서로 다른 테스트 케이스를 생성한다. 또한 뮤테이션 테스팅(Mutation Testing)을 실시하여 각 테스트 케이스에 대한 효율을 평가 하였다. 뮤턴트(Mutant) 생성은 절차적 방식과 객체 지향 방식에 의한 뮤테이션 연산자(Mutation Operator)를 구분해서 적용하였으며 뮤클립스(Muclipse)라는 이클립스(Eclipse) 기반의 플러그인 도구를 이용하였다. 생성된 테스트 케이스와 뮤턴트를 이용해서 뮤테이션 점수(Mutation Score)를 측정하고 이를 기반으로 각 테스트 케이스 및 여러 관점에서 테스트 케이스의 효율을 평가하였다. 이런 과정을 통해 테스트 케이스 생성 방식의 선택에 대한 힌트를 얻을 수 있었다. It is possible to indicate the complex design and execution of object-oriented program with dynamic UML diagram. This paper shows the way how to make several test cases from sequence, state, and activity diagram among dynamic UML diagram. Three dynamic UML diagrams about withdrawal work of ATM simulation program are drawn. Then different test cases are created from these diagrams using previously described ways. To evaluate effectiveness of test cases, mutation testing is executed. Mutants are made from MuClipse plug-in tool based on Eclipse which supports many traditional and class mutation operators. Finally we've got the result of mutation testing and compare effectiveness of test cases, etc. Through this document, we've known some hints that how to choose the way of making test cases.

Read the paper · More papers on PaperTik