DOI QR코드

DOI QR Code

뮤테이션 테스트를 이용한 동적 다이어그램에 근거한 테스트 케이스의 효율 비교

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

  • 이혁수 (휴맥스 품질경영부문 SQE팀) ;
  • 최은만 (동국대학교 컴퓨터공학)
  • 발행 : 2009.08.31

초록

동적 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.

키워드

참고문헌

  1. B. H. Smith and L. Williams, 'An Empirical Evaluation of the MuJava Mutation Operators,' in Testing: Academic and Industrial Conference Practice and Research Techniques, pp.193-202, 2007 https://doi.org/10.1109/TAIC.PART.2007.12
  2. Y. Ma, Y. Kwon and J. Offutt, 'Inter-Class Mutation Operators for Java', in Proceedings. 13th International Symposium of Software Reliability Engineering, pp.352-363, 2002 https://doi.org/10.1109/ISSRE.2002.1173287
  3. Y. Ma, M. Harrold, Y. Kwon, 'Evaluation of Mutation Testing for Object-Oriented Programs', in Proceedings of the 28th international conference on Software engineering, pp.869-872, 2006 https://doi.org/10.1145/1134285.1134437
  4. M. Chen, X. Qiu and X. Li, 'Automatic test case generation for UML activity diagrams', in Proceedings of the 2006 international workshop on Automation of software test, Shanghai, China, May, 23-23, 2006 https://doi.org/10.1145/1138929.1138931
  5. H. C. Kim, S. W. Kang, J. M. Baik and I. Y. Ko, 'Test Cases Generation from UML Activity Diagrams', in Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing, pp.556-561, 2007 https://doi.org/10.1109/SNPD.2007.189
  6. S. Kansomkeat and W. Rivepiboon, 'Automated-generating test case using UML statechart diagrams, Proceedings of the 2003 annual research conference of the South African institute of computer scientists and information technologists on Enablement through technology', pp.296-300, September, 17-19, 2003
  7. P. Samuel, R. Mall and S. Sahoo, 'UML Sequence Diagram Based Testing Using Slicing', in INDICON, 2005 Annual IEEE, pp.176-178, 2005
  8. Y. S. Ma and J. Offut, 'Description of Class Mutation Operators for Java,' http://ise.gmu.edu/~ofut/mujava/mutopsClass.pdf, accessed 7/07/2008
  9. A. Abdurazik, J. Offutt, and A. Baldini. 'A controlled experimental evaluation of test cases generated from UML diagrams', Technical report, Information and Software Engineering Department, George Mason University, May 2004
  10. 'MuClipse', http://muclipse.sourceforge.net/index.php, accessed 7/07/2008
  11. M. Sarma, D. Kundu, R. Mall, 'Automatic Test Case Generation from UML Sequence Diagrams', in Proceedings of the 15th International Conference on Advanced Computing and Communications, pp.60-67, 2007 https://doi.org/10.1145/1138929.1138931
  12. Bao-Lin Li, Zhi-shu Li, Li Qing, Yan-Hong Chen, 'Test Case automate Generation from UML Sequence diagram and OCL expression', in Proceedings of the 2007 International Conference on Computational Intelligence and Security, pp. 1048-1052, 2007 https://doi.org/10.1109/CIS.2007.150
  13. S. W. Kim, J. A. Clark and J. A. Mcdermid, 'Investigating the Effectiveness of Object-Oriented Testing Strategies with the Mutation Method', Investigating the Effectiveness of Object-Oriented Testing Strategies with the Mutation Method, pp.207-225, 2001 https://doi.org/10.1002/stvr.238
  14. D. Kung, N. Suchak, J. Gao, P. Hsia, Y. Toyoshima and C. Chen, 'On Object State Testing', in Proceedings Computer Software and Applications Conference, pp.222-227, 1994 https://doi.org/10.1109/CMPSAC.1994.342801
  15. R. K. Doong and P. G. Frankl, 'The ASTOOT approach to testing object-oriented programs' ACM Transactions on Software Engineering and Methodology (TOSEM), Vol.3, No.2, pp.101-130, April, 1994 https://doi.org/10.1145/192218.192221
  16. B. Baudry B. F. Fleurey, J. Jezequel and Y. Le Traon, 'Genes and Bacteria for Automatic Test Cases Optimization in the .NET environment', Software Reliability Engineering, 2002. ISSRE 2002. Proceedings. 13th, pp.195-206, 2002 https://doi.org/10.1109/ISSRE.2002.1173246
  17. T. Yi, F. Wu and C. Gan, 'A comparison of metrics for UML class diagrams', ACM SIGSOFT Software Engineering Notes, Vol.29, No.5, September, 2004 https://doi.org/10.1145/1022494.1022523
  18. R. B. France, 'A Problem-Oriented Analysis of Basic UML Static Requirements Modeling Concepts' In Proc. of OOPSLA' 99, pp.57-69, 1999 https://doi.org/10.1145/320384.320390
  19. A. S. Evans, 'Reasoning with UML class diagrams' In Proceedings of the Workshop on Industrial Strength Formal Methods (WIFT'98), IEEE Press, 1998
  20. C. Nebut, F. Fleurey, Y. Le Traon and J. Jezequel, 'Automatic test generation: a use case driven approach', IEEE Transactions on Software Engineering, Volume 32, Issue 3, pp.140-155, March, 2006 https://doi.org/10.1109/TSE.2006.22
  21. A. Hartman and K. Nagin, 'The AGEDIS tools for model based testing', In International Symposium on Software Testing and Analysis, pp.129-132, July, 2004 https://doi.org/10.1145/1013886.1007529
  22. 'COTE: Context and Problem Statement', http://www.irisa.fr/cote/, accessed 18/09/2008
  23. E. Gery, D. Harrel and E. Palachi, 'Rhapsody: A complete life-cycle model-based development system', In Proceedings of the Third International Conference on Integrated Formal Methods, pp.1-10, 2002