DOI QR코드

DOI QR Code

A Test Scenario Generation Method from Activity Diagram with Concurrency

동시성을 포함한 액티비티 다이어그램 기반 테스트 시나리오 생성 기법

  • 백승찬 (서울시립대학교 컴퓨터과학과) ;
  • 최효린 (서울시립대학교 컴퓨터과학과) ;
  • 이병정 (서울시립대학교 컴퓨터과학과) ;
  • 이정원 (아주대학교 전자공학과)
  • Received : 2016.03.18
  • Accepted : 2016.06.09
  • Published : 2016.09.15

Abstract

Currently, software testing is becoming increasingly important in the industrial field and a large body of research supports the improvement of efficient software testing. Model-based testing is generally used to formalize user requirement data for test design. Complex system that includes loop and concurrency has a high probability of path explosion problem. Specially, as threads are added to concurrency, test scenarios have also increased exponentially. However, it is difficult to solve this problem using existing techniques. In this paper, we propose novel path-search technique that focuses on behavioral features of concurrency path in order to avoid path explosion problem. A system that contains concurrent paths is represented by activity diagram in case study section. Efficiency of our study is shown through comparison with several generated test scenarios of other studies. The result indicate that our approach is efficient for finding faults in loop and concurrency with fewer test scenario.

소프트웨어 테스트에 대한 중요도는 오늘날의 산업 전반적으로 커지고 있으며 효과적인 테스트를 지원하기 위한 많은 방법들이 연구되고 있다. 이에 테스트 설계를 위해 시스템의 요구사항을 정형화하는 방법으로 모델 기반 테스트가 주로 사용되고 있는데, 반복과 동시성 작업을 포함하는 복잡한 시스템의 경우 경로 폭발을 야기하기 쉬운 문제가 있다. 특히 동시성 작업의 경우 Thread가 추가될수록 기하급수적인 수의 테스트 시나리오가 발생하게 되는데, 기존의 방법으로는 이를 해결하기 어렵다는 문제가 있다. 본 논문에서는 동시성 경로가 가지는 작업적 특성에 주안점을 두고, 이를 탐색하는 새로운 기법으로 경로 폭발 문제를 회피하는 방법을 제안한다. 사례 연구에서는 동시성 작업을 포함하는 시스템을 액티비티 다이어그램으로 표현하고, 기존의 기법이 생성할 테스트 시나리오의 수와 비교하여 본 기법의 효과를 보인다. 본 방법은 적은 수의 테스트 시나리오를 통해 반복과 동시성 작업의 결함을 효과적으로 발견할 것임을 기대한다.

Keywords

Acknowledgement

Supported by : 한국연구재단

References

  1. G. J. Myers, C. Sandler, and T. Badgett, The Art of Software Testing, John Wiley & Sons, pp. 41-84, 2011.
  2. P.C. Jorgensen, Software Testing: a Craftsman's Approach, CRC press, pp. 3-52, 2013.
  3. B. Legeard, and M. Utting, Practical Model-Based Testing, Morgan Kaufmann, pp. 7-53, 2010.
  4. C. Mingsong, Q. Xiaokang, and L. Xuandong, "Automatic test case generation for UML activity diagrams," Proc. of the 2006 International Workshop on Automation of Software test, pp. 2-8, 2006.
  5. D. Kundu, and D. Samanta, "A Novel Approach to Generate Test Cases from UML Activity Diagrams," Journal of Object Technology, Vol. 8, No. 3, pp. 65-83, 2009.
  6. P. Kaur, P. Bansal, and R. Sibal, "Prioritization of test scenarios derived from UML activity diagram using path complexity," Proc. of the CUBE International Information Technology Conference, pp. 355-359, 2012.
  7. S. Kansomkeat, P. Thiket, and J. Offutt, "Generating test cases from UML activity diagrams using the Condition-Classification Tree Method," Proc. of Software Technology and Engineering (ICSTE), pp. V1-62-V1-66, 2010.
  8. S.K Swain, and D.P. Mohapatra, "Test case generation from Behavioral UML Models," International Journal of computer applications, Vol. 6, No. 8, pp. 5-10, 2010. https://doi.org/10.5120/1098-1436
  9. M. Khandai, A. Acharya, and D. Mohapatra, "A Novel Approach of Test Case Generation for Concurrent Systems Using UML Sequence Diagram," Proc. of 3rd International Conference on Electronics Computer Technology, Vol. 1, pp. 157-161, 2011.
  10. H. Kim, S. Kang, and I. ko, "Test cases generation from UML activity diagrams," Proc. of ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing, pp. 556-561, 2007.
  11. C. Sharma, S. Sabharwal, and R. Sibal, "Applying genetic algorithm for prioritization of test case scenarios derived from UML diagrams," IJCSI, Vol. 8, No. 2, pp. 433-444, 2011.
  12. Lu, Shan, P. Soyeon, S. Eunsoo, and Z. Yuanyuan, "Learning from mistakes: a comprehensive study on real world concurrency bug characteristics," ACM Sigplan Notices, Vol. 43, No. 3, pp. 329-339, 2008. https://doi.org/10.1145/1353536.1346323
  13. J. Bach, and P.J. Schroeder, "Pairwise testing: A best practice that isn't," Proc. of 22nd Pacific Northwest Software Quality Conference, pp. 180-196, 2004.
  14. H. A. Watson, T. McCabe, and R. Dolores, "Structured testing: A testing methodology using the cyclomatic complexity metric," NIST Special Publication, Vol. 500, No. 235, pp. 1-114, 1996.
  15. McCabe, and Thomas J, "A complexity measure," IEEE Transactions on Software Engineering, Vol. SE-2, No. 4, pp. 308-320, 1976. https://doi.org/10.1109/TSE.1976.233837
  16. S. Jiang, Y. Zhang, and D. Yi, "Test data generation approach for basis path coverage," ACM SIGSOFT Software Engineering Notes, Vol. 37, No. 3, pp. 1-7, 2012.