BPEL-Unit: JUnit for BPEL Processes
Thanks to unit test frameworks such as JUnit, unit testing has become a common practice in object-oriented software development. However, its application in business process programming is far from prevalent. Business process unit testing treats an individual process as the unit under test, and tests its internal logic thoroughly by isolating it from the partner processes. This types of testing cannot be done by current web service testing technologies that are black-box based. This paper proposes an approach to unit testing of Business Process Execution Language for Web services (BPEL4WS, or WS-BPEL as the new name), and introduces a tool prototype named BPEL-Unit, which extends JUnit. The key idea of this approach is to transform process interaction via web service invocations to class collaboration via method calls, and then apply object-oriented test frameworks. BPEL-Unit provides the following advantages: allow developers simulate partner processes easily, simplify test case writing, speed test case execution, and enable automatic regression testing. With BPEL-Unit, BPEL process unit testing can be performed in a standardized, unified and efficient way.
KeywordsBusiness Process Unit Testing Service Proxy Test Logic Service Invocation
Unable to display preview. Download preview PDF.
- 2.Process Markup Languages, http://www.ebpml.org/status.htm
- 3.Li, Z.J., Sun, W., Jiang, Z.B., Zhang, X.: Bpel4ws unit testing: framework and implementation. In: ICWS 2005, July 11-15, vol. 1, pp. 103–110 (2005)Google Scholar
- 4.Test Driven Development, http://www.testdriven.com
- 5.WS-Unit. The Web Service Testing Tool, https://wsunit.dev.java.net/
- 6.ANTEater. Ant based functional testing, http://aft.sourceforge.net/
- 7.WebServiceTester, http://www.optimyz.com
- 8.SOAPtest, http://www.parasoft.com/soaptest
- 9.Mayer, P., Lubke, D.: Towards a BPEL unit testing framework. In: TAVWEB 2006, pp. 33–42 (2006)Google Scholar
- 10.JUnit, http://www.junit.org
- 11.MockObjects, http://www.mockobjects.com
- 12.EasyMock Projects, http://www.easymock.org/EasyMock12Java13Documentation.html