Web services utilize a standard communication infrastructure such as XML and SOAP to communicate through the Internet. Even though Web services are becoming more and more widespread as an emerging technology, it is hard to test Web services because they are distributed applications with numerous aspects of runtime behavior that are different from typical applications. This paper presents a new approach to testing Web services based on EFSM (Extended Finite State Machine). WSDL (Web Services Description Language) file alone does not provide dynamic behavior information. This problem can be overcome by augmenting it with a behavior specification of the service. Rather than domain partitioning or perturbation techniques, we choose EFSM because Web services have control flow as well as data flow like communication protocols. By appending this formal model of EFSM to standard WSDL, we can generate a set of test cases which has a better test coverage than other methods. Moreover, a procedure for deriving an EFSM model from WSDL specification is provided to help a service provider augment the EFSM model describing dynamic behaviors of the Web service. To show the efficacy of our approach, we applied our approach to Parlay-X Web services. In this way, we can test Web services with greater confidence in potential fault detection.
웹 서비스는 인터넷을 통해 통신하기 위해 XML 과 SOAP 같은 기반 기술을 활용한다. 비록 웹 서비스가 응용 서비스들 간의 통합을 위한 최신 기술로서 점차 더 확산되고 있으나, 기존 응용들과는 다른 실행시간 동작 특성들로 인하여 웹 서비스를 테스트하는 것은 어렵다. 이 논문은 확장된 유한 상태 기계에 기반한 새로운 웹 서비스 테스트 방법을 제공한다. WSDL 파일은 동적인 정보를 제공하지 않고 있고, 이 문제는 서비스의 동적 명세를 부가함으로써 해결할 수 있다. 웹 서비스는 통신 프로토콜과 마찬 가지로 데이터 흐름과 제어 흐름을 동시에 가지고 있으므로 영역 분할 방식이나 섭동 방식 보다는 확장된 유한 상태 기계를 동적 명세로서 선택했다. 표준 WSDL 파일에 형식 모델인 확장된 유한 상태 기계를 부가해줌으로써 다른 방법들보다 좋은 테스트 커버리지를 만족시키는 테스트 케이스를 생성할 수 있었다. 또한 서비스 개발자가 웹 서비스의 동작을 기술하는 확장된 유한 상태 기계를 쉽고 체계적으로 부가하기 위해 WSDL 로부터 확장된 유한 상태 기계를 도출하는 절차를 제공한다. Parlay-X 웹 서비스를 대상으로 시험을 수행한 결과, 테스트 커버리지와 오류 발견 관점에서 좋은 결과를 얻을 수 있었다. 이 논문에서 제안하는 새로운 웹 서비스 테스트 방법은 숨어있는 오류를 최대한 찾아줌으로써 고품질의 웹 서비스를 제공하는 기반을 마련한다.