DOI QR코드

DOI QR Code

Development of a Test Framework for Functional and Non-functional Verification of Distributed Systems

분산 시스템의 기능 및 비기능 검증을 위한 테스트 프레임워크 개발

  • Yun, Sangpil (Healthcare Sector, Siemens) ;
  • Seo, Yongjin (Department of Computer Science & Engineering, Chungnam National University) ;
  • Min, Bup-Ki (Department of Computer Science & Engineering, Chungnam National University) ;
  • Kim, Hyeon Soo (Department of Computer Science & Engineering, Chungnam National University)
  • Received : 2014.03.28
  • Accepted : 2014.07.22
  • Published : 2014.10.31

Abstract

Distributed systems are collection of physically distributed computers linked by a network. General use of wired/wireless Internet enables users to make use of distributed service anytime and anywhere. The explosive growth of distributed services strongly requires functional verification of services as well as verification of non-functional elements such as service quality. In order to verify distributed services it is necessary to build a test environment for distributed systems. Because, however, distributed systems are composed of physically distributed nodes, efforts to construct a test environment are required more than those in a test environment for a monolithic system. In this paper we propose a test framework to verify functional and non-functional features of distributed systems. The suggested framework automatically generates test cases through the message sequence charts, and includes a test driver composed of the virtual nodes which can simulate the physically distributed nodes. The test result can be checked easily through the various graphs and the graphical user interface (GUI). The test framework can reduce testing efforts for a distributed system and can enhance the reliability of the system.

분산 시스템은 물리적으로 분산된 컴퓨터들이 네트워크에 의해 유기적으로 연결된 것을 의미한다. 유무선 인터넷의 보편적인 사용으로 인해 사용자는 언제 어디서나 분산 서비스의 이용이 가능하게 되었다. 분산 서비스의 폭발적인 증가는 서비스의 기능적 측면에서의 검증뿐만 아니라 서비스 품질과 관련된 비기능적 요소의 검증도 강하게 요구하고 있다. 분산 서비스를 검증하기 위해서는 분산 시스템에 맞는 테스트 환경을 구축해야 한다. 하지만 분산 시스템은 물리적으로 분산된 노드로 구성되기 때문에 테스트 환경을 구축함에 있어서 단일 시스템의 테스트 환경보다 많은 노력이 요구된다. 이 논문에서 우리는 분산 시스템의 기능 및 비기능 요소의 검증을 위한 테스트 프레임워크를 제안한다. 제안하는 테스트 프레임워크는 메시지 시퀀스 차트(Message Sequence Chart)를 기반으로 테스트 케이스를 자동 생성하며, 물리적으로 분산된 노드를 흉내 낼 수 있는 가상의 분산 노드로 구성된 테스트 드라이버를 포함한다. 테스트 수행 결과는 다양한 그래프와 GUI를 통해서 쉽게 확인할 수 있다. 이 논문에서 제안하는 테스트 프레임워크를 통해 분산 시스템 테스트에 드는 노력을 감소할 수 있고 시스템의 신뢰성을 향상 시킬 수 있을 것이다.

Keywords

References

  1. Coulouris, G., "Distributed Systems: Concepts and Design", 5th Ed, Addison-Wesley, 2012.
  2. Abbas, H., Hoxha, B., Fainekos, G., "Conformance Testing as Falsification for Cyber-Physical Systems", In Proceedings of CoRR, 2014.
  3. Nogueira, S., Sampaio, A., Mota, A., "Test generation from state based use case models", Formal Aspects Computing, no. 1, pp. 1-50, 2012.
  4. Guo, H.-F., Subramaniam, M., "Model-based test generation using extended symbolic grammars", Int. J. Softw. Tools Technol. Transf., 2014.
  5. Hierons, R., "Oracles for Distributed Testing", IEEE Transaction on Software Engineering, Vol. 38, No. 3, pp. 629-641, 2012. https://doi.org/10.1109/TSE.2011.45
  6. Hierons, R., Ural, H., "The effect of the distributed test architecture on the power of testing", The Computer Journal, Vol. 51, No. 4, pp. 497-510, 2008.
  7. Dumitrescu, C., Raicu, I., Ripeanu, M., Foster, I., "DiPerF: an automated distributed performance testing framework", Proc. of the 5th IEEE/ACM Int'l Workshop on Grid Computing, pp. 289-296, 2004.
  8. Andre, P., Mottu, J., Ardourel, G., "Building Test Harness from Service-based Component Models", MoDeVVa 2013 Workshop on Model Driven Engineering, Verification and Validation, pp. 11-20, 2013.
  9. Wu, J., Yang, L., Luo, X., "Jata: A Language for Distributed Component Testing", Proc. of the 15th Asia-Pacific Software Engineering Conference (APSEC), pp. 145-152, 2008.
  10. Tomasson, H., Neukirchen, H., "Distributed testing of cloud computing applications using the TTCN-3-based Jata test framework", Proc. of the 2nd Nordic Symposium on Cloud Computing & Internet Technologies, pp. 22-29, 2013.
  11. JUnit [Online], Available:https://github.com/junit-team/junit/wiki, 2014.
  12. ETSI ES 201 873-1, "Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 1: TTCN-3 Core Language", 2014.
  13. Caspar, M., Lippmann, M., Hardt, W., "Automated system testing using dynamic and resource restricted clients", In Proc. of the conference on Design, Automation & Test in Europe, pp. 1-4, 2014.
  14. Gupta, D., Vishwanath, K., McNett, M., et al, "DIECAST: Testing Distributed Systems with an Accurate Scale Model", Journal ACM Transactions on Computer Systems (TOCS), vol. 29, no. 2, Article 4, 2011.
  15. Mathur, A., "Foundations of Software Testing", Pearson Education, 2008.
  16. MSC-Generator, "Tool for Message Sequence Charts" [Online], Available: https://sites.google.com/site/mscgen2393/, 2013.
  17. Turanyi, Z., "MSC-Generator Manual" [Online], Available: http://msc-generator.sourceforge.net/help/4.0/msc-gen.pdf, 2014.
  18. OMG, "Application Management and System Monitoring for CMS Systems(AMSM)" [Online], Available: http://www.omg.org/spec/AMSM, 2010.