Service-oriented architectures introduce some important issues that need to be considered when performing software testing. In a service-oriented scenario, users just invoke a service, instead of physically integrating it (as it happens for components). The service provider can decide to maintain the service, and the user could not be aware of that. The dynamically constructed service-based system has to be tested dynamically and automatically at runtime without human intervention. This paper examines the use of Design by Contract for web service descriptions, and explores the issues and solutions of automatic test case generation and test oracle generation in the context of WS testing based on contracts. In our approach, the traditional concept of contracts (pre-condition, post-condition, and invariant) is extended to contain richer information, such as process control, to support automatic test generation. Contracts are used to specify the relation between a component and its clients as a formal agreement, expressing each party's rights and obligations. Contracts can be expressed in the OWL-S process model. By checking whether the web service respects its contracts, we can ascertain its validity. Therefore, contracts provide the basis for the automation of the testing process. Test case generation includes test data generation and test process generation. Valid test data are generated for all WS behaviors using the complete WS input and precondition. The control constructs of contracts are transformed to Petri-Net model, and then generated test process based on the Petri-Net behavior analysis. A test oracle provides a means for determining whether an implementation functions according to its specification. Using the output and effect of the contract of a web service and corresponding test cases, it can automatically derive the expected state for every Perform in the test case. The actual state of an executing web service in terms of Perform and their properties can be monitored and collected. Using the actual state acquired from an execution monitor, it can automatically compares the expected and actual states after each Perform to verify the correctness of the web service for the test case.
Web service composition is an emerging paradigm for enabling application integration within and across organizational boundaries. Model checking is a promising technique for the verification and validation of software systems. In this paper, we present a model checking framework to specifying and verifying the compositions of Web services workflow based on BPEL4WS(Business Process Execution Language for Web Services). By using annotation layers, a BPEL4WS model can be extended with constraints (properties) information. An underlying BPEL4WS model and one or more constraint annotation layers compose a complete specification of a business process imposed specific constraints. By transforming the annotated BPEL4WS model to an extended TPPN(Timed Predicate Petri-net) model, a business process can be automatically verified and analyzed. The method allows us to add conveniently constraints information to a business process model, and state whether a process satisfies given properties without actual execution based on its specification.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.