Generating effective test cases based on satisfiability modulo theory solvers for service‐oriented workflow applications. (29th September 2015) - Wang, Hongda; Xing, Jianchun; Yang, Qiliang; Song, Wei; Zhang, Xuewei
Summary: Web Service Business Process Execution Language (WS‐BPEL) is one of the most popular service‐oriented workflow applications. The unique features (e.g. dead path elimination semantics and correlation mechanism) of WS‐BPEL applications have raised enormous problems to its test case generation, especially in unit testing. Existing studies mainly assume that each path in the control flow graphs that correspond to WS‐BPEL applications is feasible, which always yields imprecise test cases or complicates testing results. The current study tackles this problem based on satisfiability modulo theory solvers. First, a new coverage criterion is proposed to measure the quality of test sets for testing WS‐BPEL applications. Second, decomposition algorithms are presented to obtain test paths that meet the proposed coverage criterion. Finally, this paper symbolically encodes each test path with several constraints by capturing the unique features of WS‐BPEL. These constraints are solved and the test cases (test paths and test data) are obtained with the help of satisfiability modulo theory solvers to test WS‐BPEL applications effectively. Experiments are conducted using our approach and other typical approaches (e.g. message‐sequence generation‐based approach and concurrent path analysis approach) with 10 WS‐BPEL applications. Experimental results demonstrate that the test cases generated by our approach can avoid instantiating idle instance and expose more faults. Copyright © 2015 John Wiley & Sons, Ltd. Abstract : The paper tackles test case generation problem of Web Service Business Process Execution Language applications based on satisfiability modulo theory solvers. The approach symbolically encodes every test path with several constraints and determines the feasibility of it with the help of satisfiability modulo theory solvers. Furthermore, test cases that correspond to feasible paths are computed to test the path effectively and can avoid instantiating idle instance.