Automatically testing web services choreography with assertions

  • Authors:
  • Lei Zhou;Jing Ping;Hao Xiao;Zheng Wang;Geguang Pu;Zuohua Ding

  • Affiliations:
  • Shanghai Key Laboratory of Trustworthy Computing, Software Engineering Institute, East China Normal University, Shanghai, China;Shanghai Key Laboratory of Trustworthy Computing, Software Engineering Institute, East China Normal University, Shanghai, China;Shanghai Key Laboratory of Trustworthy Computing, Software Engineering Institute, East China Normal University, Shanghai, China;Shanghai Key Laboratory of Trustworthy Computing, Software Engineering Institute, East China Normal University, Shanghai, China;Shanghai Key Laboratory of Trustworthy Computing, Software Engineering Institute, East China Normal University, Shanghai, China;Center of Math Computing and Software Engineering, Institute of Science, Zhejiang Sci-Tech University, Hangzhou, Zhejiang, China

  • Venue:
  • ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Web Service Choreography Description Language gives a global view on the collaborations among a collection of services involving multiple participants or organizations. Since WS-CDL is aimed at a design specification for service composition, there are few approaches to be proposed to test WS-CDL programs. In this paper, we present an approach to testing WS-CDL programs automatically. The dynamic symbolic execution technique is applied to generate test inputs and assertions are treated as the test oracles. Moreover, a simulation engine for WS-CDL is used to perform the execution of WS-CDL programs during the process of symbolic execution. At the end of each execution, the path conditions collected by symbolic execution are put into a SMT solver to generate new input data that will guide the next simulation. Meanwhile, the SMT solver is applied to decide whether the assertion predicates can be satisfied under current path conditions for all test data which improves the quality of testing further.