White-Box Testing of Service Compositions Via Event Interfaces

Service-oriented applications are usually composed of services from different organizations. To protect the business interests of service providers, the implementation details of services are usually invisible to service consumers. This makes it challenging to white-box test service-oriented applications because of the difficulty to determine accurately the test coverage of a service composition as a whole and the difficulty to design test cases effectively. To address this problem, we propose an approach to white-box test service compositions based on events exposed by services. By deriving event interfaces to explore test coverage information from service implementations, our approach allows service consumers to determine accurately test coverage during testing based on events exposed by services at runtime. We also develop an approach to design test cases effectively based on services’ event interfaces. The experimental results show that our approach outperforms existing testing approaches for service compositions with 35% more test coverage rate, 19% more fault-detection rate and 80% fewer test cases needed.

[1]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[2]  T. H. Tse,et al.  Data flow testing of service choreography , 2009, ESEC/FSE '09.

[3]  Andrea Polini,et al.  Model-Based Generation of Testbeds for Web Services , 2008, TestCom/FATES.

[4]  David Luckham,et al.  The power of events - an introduction to complex event processing in distributed enterprise systems , 2002, RuleML.

[5]  Rocco De Nicola,et al.  Testing Equivalence for Processes , 1983, ICALP.

[6]  T. H. Tse,et al.  Data flow testing of service-oriented workflow applications , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[7]  Hong Zhu,et al.  Software unit test coverage and adequacy , 1997, ACM Comput. Surv..

[8]  D. Lambert,et al.  SUPPLY CHAIN MANAGEMENT , 2003 .

[9]  Wei Sun,et al.  A Graph-Search Based Approach to BPEL4WS Test Generation , 2006, 2006 International Conference on Software Engineering Advances (ICSEA'06).

[10]  Thomas A. Henzinger,et al.  Web service interfaces , 2005, WWW '05.

[11]  Fatiha Zaïdi,et al.  A Formal Framework for Service Orchestration Testing Based on Symbolic Transition Systems , 2009, TestCom/FATES.

[12]  Jan Tretmans,et al.  Test Generation with Inputs, Outputs, and Quiescence , 1996, TACAS.

[13]  Lori A. Clarke,et al.  A System to Generate Test Data and Symbolically Execute Programs , 1976, IEEE Transactions on Software Engineering.

[14]  Corina S. Pasareanu,et al.  Assume-Guarantee Verification for Interface Automata , 2008, FM.

[15]  Xiang Fu,et al.  Analysis of interacting BPEL web services , 2004, WWW '04.

[16]  Kathrin Kaschner,et al.  Automatic Test Case Generation for Interacting Services , 2009, ICSOC Workshops.

[17]  Hans-Arno Jacobsen,et al.  A distributed service-oriented architecture for business process execution , 2010, TWEB.

[18]  Jun Zhu,et al.  Business-process-driven gray-box SOA testing , 2008, IBM Syst. J..

[19]  Sebastián Uchitel,et al.  Model-based verification of Web service compositions , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

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

[21]  T. H. Tse,et al.  Tag-Based Techniques for Black-Box Test Case Prioritization for Service Testing , 2009, 2009 Ninth International Conference on Quality Software.

[22]  Wei Sun,et al.  BPEL4WS unit testing: framework and implementation , 2005, IEEE International Conference on Web Services (ICWS'05).

[23]  Eda Marchetti,et al.  Whitening SOA testing , 2009, ESEC/FSE '09.

[24]  Shing-Chi Cheung,et al.  Atomicity Analysis of Service Composition across Organizations , 2009, IEEE Transactions on Software Engineering.

[25]  Thomas J. Ostrand,et al.  Experiments on the effectiveness of dataflow- and control-flow-based test adequacy criteria , 1994, Proceedings of 16th International Conference on Software Engineering.

[26]  Johannes Mayer,et al.  An empirical analysis and comparison of random testing techniques , 2006, ISESE '06.