DOI QR코드

DOI QR Code

An Automatic Test Case Generation Method from Checklist

한글 체크리스트로부터 테스트 케이스 자동 생성 방안

  • 김현동 (아주대학교 전자공학과) ;
  • 김대준 (아주대학교 컴퓨터공학과) ;
  • 정기현 (아주대학교 전자공학과) ;
  • 최경희 (아주대학교 컴퓨터공학과) ;
  • 박호준 (한국산업기술시험원 의료기기연구센터) ;
  • 이용윤 (한국산업기술시험원 의료헬스본부)
  • Received : 2016.12.02
  • Accepted : 2017.06.17
  • Published : 2017.08.31

Abstract

This paper proposes a method to generate test cases in an automatic manner, based on checklist containing test cases used for testing embedded systems. In general, the items to be tested are defined in a checklist. However, most test case generation strategies recommend to test a system with not only the defined test items but also various mutated test conditions. The proposed method parses checklist in Korean file and figures out the system inputs and outputs, and operation information. With the found information and the user defined test case generation strategy, the test cases are automatically generated. With the proposed method, the errors introduced during manual test case generation may be reduced and various test cases not defined in checklist can be generated. The proposed method is implemented and the experiment is performed with the checklist for an medical embedded system. The feasibility of the proposed method is shown through the test cases generated from the checklist. The test cases are adequate to the coverages and their statistics are correct.

본 논문에서는 임베디드 시스템 테스트에 많이 사용되는 테스트 항목이 기술된 체크리스트를 기반으로 테스트 케이스를 자동으로 생성하기 위한 방법을 제안한다. 일반적으로 체크리스트에는 테스트하고자 하는 항목이 정의되어 있다. 하지만 대부분의 테스트 케이스 생성 전략에서는 테스트 하고자하는 항목뿐만 아니라 다양한 변이 조건에서도 테스트하기를 권하고 있다. 제안하는 방법은 한글로 기술된 체크리스트를 분석하여 시스템 입출력과 연산 정보를 찾아낸다. 그리고 찾아낸 정보와 설정하는 테스트 케이스 생성 전략에 따라 테스트 케이스를 자동으로 생성한다. 이 방법은 테스트 케이스를 수동으로 생성할 때, 일으킬 수 있는 오류를 줄일 수 있을 뿐만 아니라, 체크리스트에는 기술되지 않는 다양한 변이 테스트 케이스도 생성할 수 있다. 제안된 방법은 구현되고, 실제 의료기기용 임베디드 시스템의 체크리스트를 사용하여 실험을 진행한다. 실험에서는 체크리스트로부터 여러 커버리지에 적절한 테스트 케이스가 오류 없이 통계적으로 정확히 생성되었음을 확인할 수 있어서 제안된 방법의 유용성을 보여준다.

Keywords

References

  1. J. Y. Seo, A. Y. Sung, B. J. Choi, and S. B. Kang, "Automating Embedded software Testing on an Emulated Target Board," Proc. of the Second International Workshop on Automation of Software Test, p.9, Aug., 2007.
  2. T. Y. Chen, H. Leung, and I. K. Mak, "Adaptive random testing," In Proceedigns of the 9th Asian Computaing Science Conference, Volum 3321 of Lecture Notes in Computer Science, pp.320-329, 2004.
  3. Kuo Chung Tai and Yu Lei, "A Test Generation Strategy for Pairwise Testing," IEEE Transactions on Software Engineering, Vol.28, No.1, pp.109-111, Jan., 2002. https://doi.org/10.1109/32.979992
  4. K. P. Chan, T. Y. Chen, and Dave Towey, "Restricted Random Testing," In Proceedings of the 7th European Conference on Software Quality Helsinki, Finland, Vol.2349/2002 of Lecture Notes in Computer Science, pp.321-330, Jun., 9-13, 2002.
  5. M. Conrad, H. Dorr, I. Fey, and A. Yap, "Model-based Generation and Structured Representation of Test Scenarios," Workshop on Software-Embedded Systems Testing (WSEST), Gaithersburg, USA, Nov., 1999.
  6. P. S. Loo, and W. K. Tsai, "Random Testing Revisited," Information and Software Technology, Vol.30, Issue 7, pp.402-417, Sep., 1988. https://doi.org/10.1016/0950-5849(88)90037-7
  7. T. Y. Chen, F. C. Kuo, Huai Liu, and W. E. Wong, "Does Adaptive Random Testing Deliver a Higher Confidence than Random Testing?," The Eighth International Conference on Quality Software, 2008, QSCI'08, pp.145-154, Aug., 2008.
  8. M. Grochtmann and K. Grimm, "Classification Trees for Partition Testing," Software Testing, Verification & Reliability, Vol.3, No.2, pp.63-82, Jun., 1993. https://doi.org/10.1002/stvr.4370030203
  9. P. M. Kruse and M. Luniak, "Automated test case generation using classification trees," Software Quality Professional Magazine, Vol.13, No.1, pp.4-12, 2011.
  10. H. S. Park, "Generating Structural Test Cases for MATLAB Stateflow Model Using Rapidly-exploring Random Tree," Ph.D. dissertation, Ajou University, 2014.
  11. M. Utting and B. Legeard, "Practical Model-Based Testing: A Tools Approach," Morgan kaufmann, 2007.
  12. A. P. Mathur, "Foundations of Software Testing," Pearson Education, 2008.
  13. Joseph Schmuller, "Teach yourself UML in 24 Hours, 3/E," SAMS, 2004.
  14. U. S. NRC, "Fault Tree Handbook (NUREG-0492)," US, 1981.
  15. Yu Lei and K. C. Tai, "In-Parameter-Order: A Test Generation Strategy for Pairwise Testing," In Proceedings of the 3rd IEEE International High-Assurance Systems Engineering Symposium, pp.254-261, 1998.
  16. Rick Kuhn, Raghu Kacker, Yu Lei, and Justin Hunter, "Combinatorial Software Testing," IEEE Computer Society, Vol.42, Issue 8, pp.94-96, Aug., 2009.
  17. Kang Tae Hoon, Kim Dae Joon, Chung Ki Hyun, and Choi Kyung Hee, "A Method to Automatically Generate Test Scripts from Checklist for Testing Embedded System," KIPS, Vol.5, No.12, pp.641-652, 2016.
  18. GitHub, Inc. [Internet], https://github.com/modamoda/TwitterKoreanProcessorCS.
  19. S. Zhang et al., "Combined Static and Dynamic Automated Test Generation," Proceedings of ISSTA'11, Toronto, Canada, pp.353-363, Jul., 2011.
  20. S. Ananad et. al., "An orchestrated survey of methodologies for automated software test case generation," Journal of Systems and Software, Vol.86, No.8, pp.1978-2001, 2013. https://doi.org/10.1016/j.jss.2013.02.061
  21. O. Olajubu et. al., "Automated test case generation from domain specific models of high-level requirements," Proceedings of RACS'15, ACM, pp.505-508, Oct., 2015.
  22. Dae Joon Kim, Ki Hyun Chung, and Kyung Hee Choi, "A Hierarchical Checklist to Automatically Generate Test Scripts," KIPS Tr. Software and Data Eng., Vol.6, No.5, pp.245-257, 2017. https://doi.org/10.3745/KTSDE.2017.6.5.245