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를 통해서 쉽게 확인할 수 있다. 이 논문에서 제안하는 테스트 프레임워크를 통해 분산 시스템 테스트에 드는 노력을 감소할 수 있고 시스템의 신뢰성을 향상 시킬 수 있을 것이다.