Observability and Controllability Issues in Conformance Testing of Web Service Compositions

Similar documents
Observability and Controllability Issues in Conformance Testing of Web Service Compositions

Transforming BPEL into Intermediate Format Language For Web Services Composition Testing

Checking the Behavioral Conformance of Web Services with Symbolic Testing and an SMT Solver

A TESTING METHODOLOGY FOR AN OPEN SOFTWARE E-LEARNING PLATFORM

Modeling and Testing of Web Based Systems

An approach for testing passively Web service compositions in Clouds

DIVERSITY TG Automatic Test Case Generation from Matlab/Simulink models. Diane Bahrami, Alain Faivre, Arnault Lapitre

Specification and Generation of Environment for Model Checking of Software Components *

A Formal Framework for Service Orchestration Testing Based on Symbolic Transition Systems

Automatic Timed Test Case Generation for Web Services Composition

A Passive Conformance Testing Approach for a Manet Routing Protocol

Lesson 11 Programming language

Pramila Mouttappa, Stephane Maag and Ana Cavalli. Institut Mines-Telecom/ Telecom SudParis FRANCE 24 October 2012

COMPOSITIONAL TESTING FOR FSM-BASED

2 STG: The Symbolic Test Generation Tool

Automatic Skeleton Generation for Data-Aware Service Choreographies

A Model-Checking Approach for Service Component Architectures

Towards the integration of security patterns in UML Component-based Applications

An Automated Passive Testing Approach for the IMS PoC Service

FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. DEVELOPER SPECIFIER TESTER

Managing test suites for services

Automatic Verification of Firewall Configuration with Respect to Security Policy Requirements

A QUERY BY EXAMPLE APPROACH FOR XML QUERYING

Using Component-oriented Process Models for Multi-Metamodel Applications

A passive testing approach for security checking and its practical usage for web services monitoring

Integration of Application Business Logic and Business Rules with DSL and AOP

Vesal Vojdani. Formal Methods (2013) Department of Computer Science University of Tartu. Formal Methods in SW Engineering.

Symbol Detection Using Region Adjacency Graphs and Integer Linear Programming

A Semantics for UML Specification to be validated with AGATHA

A Framework for Testing AIS Implementations

DISCRETE-event dynamic systems (DEDS) are dynamic

Enabling statistical testing for component-based systems

Testing Systems Specified as Partial Order Input/Output Automata

Data Flow Coverage for Circus-Based Testing

Online Testing Framework for Web Services

Automatic Testing with Formal Methods

Intro to DB CHAPTER 6

Automated Runtime Verification for Web Services

Supervised Variable Clustering for Classification of NIR Spectra

A Soft Constraint-Based Approach to QoS-Aware Service Selection

Topological Integer Additive Set-Sequential Graphs. Received: 7 April 2015 / Accepted: 26 June 2015 / Published: 3 July 2015

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

Model Checking VHDL with CV

First Steps Towards Conceptual Schema Testing

Validation of Timing Properties for Interoperability in. Distributed Real-Time Applications. 1 Introduction. Abstract

Model-based the gap from the functional requirements to TestStand test sequences!

2 Discrete Dynamic Systems

Conformance Testing of Distributed Concurrent Systems with Executable Designs

An automatic correction of Ma s thinning algorithm based on P-simple points

Integrated Security Context Management of Web Components and Services in Federated Identity Environments

MASSiVE, Unità di Torino

Automatic web service robustness testing from WSDL descriptions

Integration of Formal Methods and Testing for Model-Based Systems Engineering NII Shonan Meeting, Japan, Nov. 30 Dec. 4, 2014

Towards a Component Agent Service Oriented Model

TIMES A Tool for Modelling and Implementation of Embedded Systems

Palm Vein Verification System Based on SIFT Matching

Minimal Test Cost Feature Selection with Positive Region Constraint

CODE ANALYSES FOR NUMERICAL ACCURACY WITH AFFINE FORMS: FROM DIAGNOSIS TO THE ORIGIN OF THE NUMERICAL ERRORS. Teratec 2017 Forum Védrine Franck

Testing Security Policies for Distributed Systems: Vehicular Networks as a Case Study

Reverse Engineering Models from Traces to Validate Distributed Systems An Industrial Case Study

Implicit vs. Explicit Data-Flow Requirements in Web Service Composition Goals

A typology of adaptation patterns for expressing adaptive navigation in Adaptive Hypermedia

Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures

A New Approach for Interference Aware Cost Effective Routing Algorithm in Wireless Sensor Network

Object Oriented Programming. C++ 6 th Sem, A Div Ms. Mouna M. Naravani

TEST RESULT ANALYSIS WITH RESPECT TO FORMAL SPECIFICATIONS

A graphical user interface for service adaptation

Blazo Nastov. Journée des doctorant, Nîmes, France 19 June 2014

Prototyping Navigation in Web-Based Information Systems Using WebML

Mapping UML State Machine Diagram And WS-CDL For Modeling Participant s Behavioral Scenarios

An automatic off-line feature interaction detection method by static analysis of specifications. Hélène Jouve, Pascale Le Gall and Sophie Coudert

Prediction of Composite Service Execution Duration before Change in Service Composition

Alma. Resource Sharing - Borrowing. Limor Cohen Head of Circulation and Interlibrary Loan Department. Technion Israel Institute of Technology

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Fall 94-95

Model-checking with the TimeLine formalism

Service-Based Realization of Business Processes Driven by Control-Flow Patterns

INTRODUCTION Background of the Problem Statement of the Problem Objectives of the Study Significance of the Study...

lambda-min Decoding Algorithm of Regular and Irregular LDPC Codes

Authoring by Reuse for SCORM like Learning Objects

Importance and Interactions of World Universities from 24 Wikipedia Editions Célestin Coquidé1, José Lages1 and Dima L.

On Code Coverage of Extended FSM Based Test Suites: An Initial Assessment

Design of distributed Java application with JEstelle.

Predicting and Learning Executability of Composite Web Services

Preserving Rich User Interface State in Web Applications across Various Platforms

IEEE C802.16h-06/063r1. IEEE Broadband Wireless Access Working Group <

Chapter 1: Principles of Programming and Software Engineering

Testing Distributed Systems

Real-time Testing with Timed Automata Testers and Coverage Criteria

RSL Reference Manual

V&V: Model-based testing

On Source Code Optimization for Interpreted Languages using State Models

Domain Objects for Dynamic and Incremental Service Composition

The Specifications Exchange Service of an RM-ODP Framework

Fiona A Tool to Analyze Interacting Open Nets

Interoperability Test Generation: Formal Definitions and Algorithm

Model-Based Testing. Using TorXakis

Adaptation of Asynchronously Communicating Software

Network Working Group. Intended status: Informational Expires: October 24, 2013 April 22, 2013

Product Testing Program

Call Admission Control for Multimedia Cellular Networks Using Neuro-dynamic Programming

Transcription:

Observability and Controllability Issues in Conformance Testing of Web Service Compositions Jose Pablo Escobedo 1, Christophe Gaston 2, Pascale Le Gall 3, and Ana Cavalli 1 1 TELECOM & Management SudParis (ex INT) - CNRS SAMOVAR 9 rue Charles Fourier, 91011 Évry, France {jose.escobedo,ana.cavalli}@it-sudparis.eu 2 CEA LIST, Point Courrier 94, 91191, Gif-sur-Yvette, France christophe.gaston@cea.fr 3 Programme d Épigénomique Université d Évry-Val d Essonne, 91000 Évry, France Laboratoire MAS, Grande Voie des Vignes, 92195 Châtenay-Malabry, France pascale.legall@ecp.fr Abstract. We propose a model-based black-box testing approach to test conformance of Web Service Compositions (WSC). When a WSC under test makes use of implementations of Web Services, two situations may occur: either communications between the WSC and the Web Services are observable or hidden internal actions. We show by means of an example how to generate test cases whose verdicts are provided with explanations taking into account the status of the Web Services. Keywords: Conformance testing, Web Service composition, observability and controllability, verdict testing report. 1 Introduction Web Services (WS) are available through the network to be accessed by any computer that wants to communicate with them. Web Services Compositions (WSC) are mechanisms to produce new services by making use of already existing WSs. In this paper we address the problem of testing such kind of WSC following a model-based approach like in [4], using Input/Output Symbolic Transition System (IOSTS) to represent WSC specifications. Contrarily to systems considered in [4], the system under test may include not only the WSC system, but also some Web Services interacting with it. As the approach described in [1], the most natural solution to overcome that problem is to reduce it to the case of unit testing case by isolating WSCs from their Web Services so that the tester may directly interact with WSCs. Communication channels with Web Services are then qualified as controllable. However, it may occur that channels used to communicate with Web Services may technically be uncontrollable by the tester.insuchcases,twosituations may occur: either channels are observable, which means that the tester may observe exchanges of values through them, or M. Núñez et al. (Eds.): TESTCOM/FATES 2009, LNCS 5826, pp. 217 222, 2009. c IFIP International Federation for Information Processing 2009

218 J.P. Escobedo et al. they are hidden, and in that case, exchanges of messages through them can only be considered as internal actions. The paper presents a model-based testing approach for testing WSC implementations in the context of a system also containing some Web Services. The paper is structured as follows. The test architecture and a running example are presented in Section 2. In Section3,wepresentthekeyideasofour approach by illustrating it on the example. 2 The Context: Test Architecture WS-BPEL stands for Web Services Business Process Execution Language [3], and is a standard for specifying Web Services Compositions in the form of orchestrations (or choreographies), where a central entity guides the composition. Basically, it defines how the interaction between Web Services is coordinated in order to achieve a business goal. Let us introduce the Loan Request example depicted in Fig. 1. Three partners interact in the process: the user (bank s client), the WS-BPEL process (LR- WSC) and the Loan Service (LS, the Web Service). The behavior of the Loan Request WS-BPEL is as follows. The client initiates the process by sending his ID, the amount of money he wants to borrow and the maximal reimbursement duration. The LR-WSC sends this information to the LS, which first decides whether the loan is approved or not. If approved, it returns the minimum duration and the monthly fee and then, the LR-WSC sends the monthly fee to the user. Otherwise, the process ends and the user gets a Good bye reply message. If the duration computed by the bank and the one proposed by the client are the same, the loan is approved by sending a Good bye message to the user. Otherwise, if the duration proposed by the client is greater than the duration computed by the LS, the client can try again by proposing a new value for the duration until the loan is approved or until he decides to finish the process. Following the classification given in the Introduction, a communication channel between the WSC and a WS is said to be (see Figure 2 for an illustration): Controllable, if communications over the channel are controllable by the tester through control points CP. The tester has a complete control over the channel, both for stimulating the System Under Test (SUT) implementing the WSC with inputs and for observing its outputs. If all communication channels Fig. 1. Diagram of the Loan Request (LR) example

Observability and Controllability Issues in Conformance Testing in WSC 219 Fig. 2. Testing scenarios according to the accessibility to the communication channels are controlled, the WSC becomes an independent component which can be tested according to a classical unit testing framework. Hidden, if the tester cannot access the communication channel. This is the usual case when using the implementations of Web Services. The SUT is not just the WSC in isolation but a system composed of the WSC providing an interface to the user and of some encapsulated Web Services. Observable, if the tester can only observe the communication channel through observation points OP. Figure 3 shows the Loan Request example written as an IOSTS [4]. The user is represented by the letter u. IOSTS contain attribute variables useful to store data values. In the case of the LR-WSC, attribute variables are: d, forthe (maximal) duration proposed by the client to pay the loan; a, fortheamountof money the user wants to borrow; id, for the client s ID; b, for the boolean variable indicating if the user wants to try (if possible) to get another loan proposition with a smaller duration; min, for the minimal duration computed by the LS for the reimbursement period allowed; approve, for the boolean variable used by LS to indicate if the duration proposed by the client is satisfactory or not; and mf, for the monthly fee computed by the LS. Channels are represented, for readability reasons, as EntityName ChannelName OperationName. The initial state is q 0 and the final state is q 9. Transitions of IOSTS are defined by a guard, an action (reception, emission or internal action) and assignments of attribute variables. Transition q 0 q 1 represents the initialization of the WS-BPEL process (LR-WSC). Transitions q 1 q 2, q 2 q 3 represent the first communication between the LR-WSC and the LS to check if the information given by the client is correct. Transition q 4 q 5 represents a positive answer from LS, and transition q 5 q 6 represents the corresponding following information sent by the LR-WSC to the user informing

220 J.P. Escobedo et al. Fig. 3. The Loan Request example expressed as an IOSTS him about the monthly fees. Transition q 4 q 9 represents a negative answer from LS and the corresponding Good bye message sent to the user. Transition q 6 q 9 represents the approval of the loan request and the corresponding Good bye message notifying the user. Transitions q 6 q 7, q 7 q 8 q 8 q 2, q 8 q 9 represent respectively, the case where, if min m, the user is asked to propose a new value for the duration of the reimbursement and start the process again or to finish the loan request process. 3 Our Approach of Conformance Testing for WSC The first step consists in symbolically executing the IOSTS representing the WSC under test. The technique uses symbols instead of concrete data and allows us to represent all behaviors in a symbolic execution tree. The tree is then modified to take into account observable and hidden communication channels. The symbolic tree is first enriched by transitions carrying on the quiescence action δ and indicating that the WSC is waiting for a request either from the user or from a WS on an hidden or observable channel. Then, WS requests on observable channels are transformed into special observations (denoted as outputs). Finally, all transitions on hidden channels are translated into internal actions and the resulting symbolic tree is reduced by removing all internal actions which are useless from a testing point of view. Fig. 4 shows the dedicated symbolic execution tree of the LR example with the assumption that the LS s communication channels are all hidden. With the dedicated symbolic execution tree, we adapt the rule-based algorithm of test case generation presented in [4] and defined for the classical ioco conformance relation. In few words, the algorithm consists in a simultaneous traversal of the modified execution tree and a test purpose defined as selected finite paths of the tree, in order to stimulate and observe the SUT in such a way that, as long as possible, the sequence of stimulations and observations corresponds to a trace of the test purpose. In practice, each path of the tree beginning in the initial state and ending in the final one can be used as a test purpose. Each

Observability and Controllability Issues in Conformance Testing in WSC 221 Fig. 4. Observable behaviors of LR-WSC, assuming that LS is hidden. Transitions labeled by [1] (resp. [2]) are introduced by applying enrichment by quiescence (resp. by hiding transitions on hidden channels and internal actions reduction). Fig. 5. Verdicts for hidden channels algorithm step involves the computation of constraints issued from the values of messages exchanged in the beginning of the test sequence and the constraints stored in the symbolic states of the tree and of the test purpose. This process is repeated until a verdict is emitted together with a testing report illustrating the trace (exchange of values) and explaining which conditions lead to that verdict. Fig. 5 shows results when the algorihm is performed with the test purpose characterised as the restriction of the tree in Fig. 4 with η 8 as the (accept) state. In case (a), the tester sends the stimulation u client duration 12,

222 J.P. Escobedo et al. Fig. 6. Two possible scenarios when observing δ after sending the client information u client amount 1000, u client id 42 and observes δ. The observation belongs to a trace of the execution tree but not of the test purpose. So, we obtain the inconclusive verdict. The report produces the two scenarios as shown in Fig. 6: (1) the LS does not send the approve answer or, (2) the LS sends the approve answer, but does not send the monthly fee and minimum duration. In case (b), the tester stimulates the SUT with the sequence u client duration 12, u client amount 1000, u client id 42 and observes the monthly fee proposed by the LR-WSC, followed by the message Good bye. The algorithm produces the verdict pass with its corresponding scenario report (Fig. 5). In [2], more examples are available. In this article, we have shown an example of how to test a WSC (orchestration) from its specification taking into account that WSs are connected to it during the testing phase. This corresponds to a situation of test in context or embedded testing for which no knowledge is available of the rest of the system (made of WSs invoked by the WSC). The complete formal description can be found in [2]. References 1. Bentakouk, L., Poizat, P., Zaïdi, F.: A Formal Framework for Service Orchestration Testing based on Symbolic Transition Systems. In: Núñez, M., et al. (eds.) TEST- COM/FATES 2009. LNCS, vol. 5826, pp. 16 32. Springer, Heidelberg (2009); Long version as technical report of LRI, University of Paris-Sud 2. Escobedo, J., Le Gall, P., Gaston, C., Cavalli, A.: Examples of testing scenarios for web service composition. Technical Report 09003 LOR, TELECOM & Management SudParis, 22 pages (2009), http://www.it-sudparis.eu/ 3. Alves, A., et al.: Web Services Business Process Execution Language Version 2.0 (April 2007), http://docs.oasis-open.org/wsbpel/2.0/os/wsbpel-v2.0-os.html 4. Gaston, C., Le Gall, P., Rapin, N., Touil, A.: Symbolic Execution Techniques for Test Purpose Definition. In: Uyar, M.Ü., Duale, A.Y., Fecko, M.A. (eds.) TestCom 2006. LNCS, vol. 3964, pp. 1 18. Springer, Heidelberg (2006)