Efficient Testing of Service-Oriented Applications Using Semantic Service Stubs

Service-oriented applications can be expensive to test because services are hosted remotely, are potentially shared among many users, and may have costs associated with their invocation. In this paper, we present an approach for reducing the costs of testing such applications. The key observation underlying our approach is that certain aspects of an application can be tested using locally deployed semantic service stubs, instead of actual remote services.A semantic service stub incorporates some of the service functionality, such as verifying preconditions and generating output messages based on post conditions. We illustrate how semantic stubs can enable the client test suite to be partitioned into subsets, some of which need not be executed using remote services. We also present a case study that demonstrates the feasibility of the approach, and potential cost savings for testing. The main benefits of our approach are that it can (1) reduce the number of test cases that need to be run to invoke remote services, (2) ensure that certain aspects of application functionality are well-tested before service integration occurs.

[1]  Nikolai Tillmann,et al.  Mock-object generation with behavior , 2006, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06).

[2]  Andrea Polini,et al.  The audition framework for testing Web services interoperability , 2005, 31st EUROMICRO Conference on Software Engineering and Advanced Applications.

[3]  Georg Ringwelski,et al.  POOC: A Platform for Object-Oriented Constraint Programming , 2002, International Workshop on Constraint Solving and Constraint Logic Programming.

[4]  Sungwon Kang,et al.  Generating Test Cases for Web Services Using Extended Finite State Machine , 2006, TestCom.

[5]  R. Kramer iContract - The Java(tm) Design by Contract(tm) Tool , 1998 .

[6]  MeyerBertrand,et al.  Design by Contract , 1997 .

[7]  Yannis Smaragdakis,et al.  JCrasher: an automatic robustness tester for Java , 2004, Softw. Pract. Exp..

[8]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[9]  Michael D. Ernst,et al.  Eclat: Automatic Generation and Classification of Test Inputs , 2005, ECOOP.

[10]  Wei-Tek Tsai,et al.  WSDL-based automatic test case generation for Web services testing , 2005, IEEE International Workshop on Service-Oriented System Engineering (SOSE'05).

[11]  Gerardo Canfora,et al.  Testing services and service-centric systems: challenges and opportunities , 2006, IT Professional.

[12]  Shihong Huang,et al.  WSDLTest - A Tool for Testing Web Services , 2006, 2006 Eighth IEEE International Symposium on Web Site Evolution (WSE'06).

[13]  Dong Wang,et al.  Extending WSDL to facilitate Web services testing , 2002, 7th IEEE International Symposium on High Assurance Systems Engineering, 2002. Proceedings..

[14]  Raymond A. Paul,et al.  A robust testing framework for verifying Web services by completeness and consistency analysis , 2005, IEEE International Workshop on Service-Oriented System Engineering (SOSE'05).

[15]  Westley Weimer,et al.  Automatic documentation inference for exceptions , 2008, ISSTA '08.

[16]  Monica S. Lam,et al.  Automatic extraction of object-oriented component interfaces , 2002, ISSTA '02.

[17]  Gerardo Canfora,et al.  Using Test Cases as Contract to Ensure Service Compliance Across Releases , 2005, ICSOC.

[18]  Nikolai Tillmann,et al.  White-box testing of behavioral web service contracts with Pex , 2008, TAV-WEB '08.

[19]  R. Kramer iContract-the Java/sup TM/ design by Contract/sup TM/ tool , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[20]  Steve Freeman,et al.  Endo-testing: unit testing with mock objects , 2001 .

[21]  Tao Xie,et al.  Automated Testing and Response Analysis ofWeb Services , 2007, IEEE International Conference on Web Services (ICWS 2007).

[22]  Gerardo Canfora,et al.  SOA: Testing and Self-Checking , 2006 .

[23]  James C. King,et al.  Symbolic execution and program testing , 1976, CACM.

[24]  Raymond A. Paul,et al.  Automated model checking and testing for composite Web services , 2005, Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'05).

[25]  Reiko Heckel,et al.  Towards Contract-based Testing of Web Services , 2005, Electron. Notes Theor. Comput. Sci..

[26]  Gary T. Leavens,et al.  Design by Contract with JML , 2006 .

[27]  Xiaoying Bai,et al.  Contract-Based Testing for Web Services , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[28]  Reiko Heckel,et al.  Automatic Conformance Testing of Web Services , 2005, FASE.

[29]  Debra J. Richardson,et al.  Structural specification-based testing: automated support and experimental evaluation , 1999, ESEC/FSE-7.