Figure 1 - uploaded by Richard Castanet
Content may be subject to copyright.
Source publication
This paper presents an automatic conformance testing tool with timing constraints from a formal specification (TEFSM: Timed Extended Finite State Machine) of web services composition (WSOTF: Web Service composition, Online Testing Framework), that is implemented by an online testing algorithm. This algorithm combines simultaneously idea of test exe...
Contexts in source publication
Context 1
... s ′ , s ′′ , s ′′′ ∈ S such that s τ,...,τ −→ s ′′ → a s ′′′ τ,...,τ −→ s ′ . We define Γ = ( E I ∪ E O × IR + ) as the set of observable actions (actions and delays) and Γ τ = ( E τ × IR + ) as the set of observable actions including internal actions. A timed sequence σ ∈ Seq (Γ) is composed of actions a and non-negative reals d such that: s ( a,d → ) s ′ ⊕ d , where d is a timing delay. Let Γ ′ ⊆ Γ and σ ∈ Seq (Γ) be a timed sequence. π Γ ′ ( σ ) denotes the projection of σ to Γ ′ obtained by deleting from σ all actions not present in Γ ′ . The observable timed traces of an IUT is defined by: σ T race ( IU T ) = { π Γ ( σ ) | σ ∈ Seq (Γ τ ) ∧ s 0 ⇒} . It Definition is straightforward 2: (Conformance to derive Relation): a test An architecture implementa- that describes tion of Web the services test environment under test consisting (denotes IU of T simulated I ) is conform services. to its specification A Web service (denotes Under IU Test T S ) (SUT) ⇐⇒ and ∀ T race its ( partners IU T I ) , (including ∃ T race ( IU also T S ) the such client) that communicate T race ( IU T I ) by ⊆ exchanging T race ( IU T input S ) . and An output implementation SOAP messages. of Web When services the SUT under is being test is tested con- (unit form testing), to its specification, the tester plays Iff for the each role timed of the trace environment that are (i.e. generated its partner by the services). implementation, In WSOTF, we we must use find a central at least test a architecture timed trace (from that the initial client state and s its 0 to partners a final will state) be belonging simulated by to its only specification. tester. This tester A fault will verdict send and will receive be immediately the SOAP message assigned to/from for current SUT and trace it if is concentratelly exists an output controlled or delay by a that controller. are not The belong controller to any will observable generate timed the test traces case of and its give specification the verdict. (i.e. The ∃ T race figure 1 ( IU T shows I ) , ∀ T an race abstract ( IU T model S ) such of that SUT T (A) race (a ( IU client T I ) and ∈ / T two race partners) ( IU T S ) and ). a correspondent central III. test WSOTF: architecture AN (B). AUTOMATIC TESTING TOOL B. This Test section algorithm presents an overview of WSOTF tool that consists In WSOTF, of a test we distinguish architecture, two a following test algorithm, transition the types: architecture • The of action WSOTF transition and finally (discrete an experience transition), example denoted using by WSOTF. s → a s ′ such that s a [ −→ g ] { u } s ′ ∈ T , indicates that A. Test if the architecture guard (on variables and clocks) g is true, then the automaton fires the transition by executing the It is straightforward to derive a test architecture that describes the test environment consisting of simulated services. A Web service Under Test (SUT) and its partners (including also the client) communicate by exchanging input and output SOAP messages. When the SUT is being tested (unit testing), the tester plays the role of the environment (i.e. its partner services). In WSOTF, we use a central test architecture that the client and its partners will be simulated by only tester. This tester will send and receive the SOAP message to/from SUT and it is concentratelly controlled by a controller. The controller will generate the test case and give the verdict. The figure 1 shows an abstract model of SUT (A) (a client and two partners) and a correspondent central test architecture (B). B. Test algorithm In WSOTF, we distinguish two following transition types: • The action transition (discrete transition), denoted by s → a s ′ such that s a [ −→ g ] { u } s ′ ∈ T , indicates that if the guard (on variables and clocks) g is true, then the automaton fires the transition by executing the C. WSOTF input/output architecture action a , changing the current values of the The data detail variables architecture by executing of WSOTF all is assignments, shown in the changing figure 2 that consists the current of values five main of the components: clocks and loader, timers by data executing genera- all time setting/resetting, updating the buffers contents of the system by consuming the first signal required by input actions and by appending all signals required by output actions, where u is a set of update functions, and moving into the next state s ′ . • The timestamps transition (timing transition), denoted by s c → = d s ′ where c is a local clock (or s gc → = dl s ′ where gc is a global clock), indicates that TEFSM will move to state s ′ when local clock c reaches a time duration d (or global clock gc reaches a deadline ( dl )), for example, the transition of the wait activity. As we present in the introduction section, from the current action, we have a next possible transition list (consists of action transitions and timestamps transitions) based on the data value at the current action. If this list is empty, we arrive a final state. Else, if the set of input action and synchronous timed delay (timestamps transitions) are not empty, we will randomly choice a transition (note t ) of this list, generate the data and execute the correspondent action (the test execution phase) if t belongs to the set of input action, else ( t belongs to the set of timestamps transitions) we do a synchronous time. After that, the current action will be updated by this action (the debug phase). The same of output action, we wait a message from SUT, check it (give a fail verdict if the receivable message is not correct) and update current action. A timeout verdict is also given if we do not receive a message after a duration. After execution of each transition action (input/output), we must update the data variable with values of the SOAP message. The detail of algorithm is provided in [10]. In the current version, we process the activities of a flow activity as the sequence activities. The next version, we will improve this algorithm to process simultaneously the activities of a flow activity. C. WSOTF architecture The detail architecture of WSOTF is shown in the figure 2 that consists of five main components: loader, data ...
Context 2
... s ′ , s ′′ , s ′′′ ∈ S such that s τ,...,τ −→ s ′′ → a s ′′′ τ,...,τ −→ s ′ . We define Γ = ( E I ∪ E O × IR + ) as the set of observable actions (actions and delays) and Γ τ = ( E τ × IR + ) as the set of observable actions including internal actions. A timed sequence σ ∈ Seq (Γ) is composed of actions a and non-negative reals d such that: s ( a,d → ) s ′ ⊕ d , where d is a timing delay. Let Γ ′ ⊆ Γ and σ ∈ Seq (Γ) be a timed sequence. π Γ ′ ( σ ) denotes the projection of σ to Γ ′ obtained by deleting from σ all actions not present in Γ ′ . The observable timed traces of an IUT is defined by: σ T race ( IU T ) = { π Γ ( σ ) | σ ∈ Seq (Γ τ ) ∧ s 0 ⇒} . It Definition is straightforward 2: (Conformance to derive Relation): a test An architecture implementa- that describes tion of Web the services test environment under test consisting (denotes IU of T simulated I ) is conform services. to its specification A Web service (denotes Under IU Test T S ) (SUT) ⇐⇒ and ∀ T race its ( partners IU T I ) , (including ∃ T race ( IU also T S ) the such client) that communicate T race ( IU T I ) by ⊆ exchanging T race ( IU T input S ) . and An output implementation SOAP messages. of Web When services the SUT under is being test is tested con- (unit form testing), to its specification, the tester plays Iff for the each role timed of the trace environment that are (i.e. generated its partner by the services). implementation, In WSOTF, we we must use find a central at least test a architecture timed trace (from that the initial client state and s its 0 to partners a final will state) be belonging simulated by to its only specification. tester. This tester A fault will verdict send and will receive be immediately the SOAP message assigned to/from for current SUT and trace it if is concentratelly exists an output controlled or delay by a that controller. are not The belong controller to any will observable generate timed the test traces case of and its give specification the verdict. (i.e. The ∃ T race figure 1 ( IU T shows I ) , ∀ T an race abstract ( IU T model S ) such of that SUT T (A) race (a ( IU client T I ) and ∈ / T two race partners) ( IU T S ) and ). a correspondent central III. test WSOTF: architecture AN (B). AUTOMATIC TESTING TOOL B. This Test section algorithm presents an overview of WSOTF tool that consists In WSOTF, of a test we distinguish architecture, two a following test algorithm, transition the types: architecture • The of action WSOTF transition and finally (discrete an experience transition), example denoted using by WSOTF. s → a s ′ such that s a [ −→ g ] { u } s ′ ∈ T , indicates that A. Test if the architecture guard (on variables and clocks) g is true, then the automaton fires the transition by executing the It is straightforward to derive a test architecture that describes the test environment consisting of simulated services. A Web service Under Test (SUT) and its partners (including also the client) communicate by exchanging input and output SOAP messages. When the SUT is being tested (unit testing), the tester plays the role of the environment (i.e. its partner services). In WSOTF, we use a central test architecture that the client and its partners will be simulated by only tester. This tester will send and receive the SOAP message to/from SUT and it is concentratelly controlled by a controller. The controller will generate the test case and give the verdict. The figure 1 shows an abstract model of SUT (A) (a client and two partners) and a correspondent central test architecture (B). B. Test algorithm In WSOTF, we distinguish two following transition types: • The action transition (discrete transition), denoted by s → a s ′ such that s a [ −→ g ] { u } s ′ ∈ T , indicates that if the guard (on variables and clocks) g is true, then the automaton fires the transition by executing the C. WSOTF input/output architecture action a , changing the current values of the The data detail variables architecture by executing of WSOTF all is assignments, shown in the changing figure 2 that consists the current of values five main of the components: clocks and loader, timers by data executing genera- all time setting/resetting, updating the buffers contents of the system by consuming the first signal required by input actions and by appending all signals required by output actions, where u is a set of update functions, and moving into the next state s ′ . • The timestamps transition (timing transition), denoted by s c → = d s ′ where c is a local clock (or s gc → = dl s ′ where gc is a global clock), indicates that TEFSM will move to state s ′ when local clock c reaches a time duration d (or global clock gc reaches a deadline ( dl )), for example, the transition of the wait activity. As we present in the introduction section, from the current action, we have a next possible transition list (consists of action transitions and timestamps transitions) based on the data value at the current action. If this list is empty, we arrive a final state. Else, if the set of input action and synchronous timed delay (timestamps transitions) are not empty, we will randomly choice a transition (note t ) of this list, generate the data and execute the correspondent action (the test execution phase) if t belongs to the set of input action, else ( t belongs to the set of timestamps transitions) we do a synchronous time. After that, the current action will be updated by this action (the debug phase). The same of output action, we wait a message from SUT, check it (give a fail verdict if the receivable message is not correct) and update current action. A timeout verdict is also given if we do not receive a message after a duration. After execution of each transition action (input/output), we must update the data variable with values of the SOAP message. The detail of algorithm is provided in [10]. In the current version, we process the activities of a flow activity as the sequence activities. The next version, we will improve this algorithm to process simultaneously the activities of a flow activity. C. WSOTF architecture The detail architecture of WSOTF is shown in the figure 2 that consists of five main components: loader, data ...
Similar publications
Testing conceptually consists of three activities: test case generation, test case execution and verdict assignment. Using online testing, test cases are generated and simultaneously executed (i.e. the complete test scenario is built during test execution). This paper presents a framework that automatically generates and executes tests "online" for...
Many techniques used for discovering faults and vulnerabilities in distributed systems and services require as inputs formal behavioral models of the systems under validation. Such models are traditionally written by hand, according to the specifications which are known, leading to a gap between the real systems which have to be validated and their...
Citations
... It shows how EMOD can be used to model a particular site, and validate its predictions. An automatic conformance testing tool with timing constraints from a formal specification Timed Extended Finite State Machine of web services composition has been implemented in [14] by an online testing algorithm. This algorithm combines simultaneously the idea of test execution and debug to generate and simultaneously execute the test cases. ...
... The work examines properties such as soundness and completeness of the design model according to the operational and control behaviors. An automatic testing tool called WSOTF [16] is developed for Services Composition Verification. The testing tool includes an online testing algorithm, which integrates ideas of test execution, and test debug is used to produce and execute the test cases. ...
Service composition process generates composite services in order to fullfill service consumer’s requirements that cannot be satisfied by a single service. Literature review addressed services composition but ignored verifying the existence of several serious issues, which may affect Service composition and may lead to failure of the given composite services in the execution time, including consistency of the functionality and QoS Criteria. This paper adopts Colored Petri Nets based model for Services Composition and proposes a QoS aware algorithm for verifying the consistency of composite services. A case study is provided for demonstrating the applicability of the proposed model and algorithm using concepts and values of QoS Criteria of composite services.
... It is necessary to verify the internal logic of a business process to determine if the output received for a given set of arguments is valid. Tools to conduct service composition testing [9], [10] exist. According to Bucchiarone et al. [11] even though several testing techniques can be used when testing service composition, the techniques are not sufficiently mature to handle the complex operations in a composition. ...
... WSOTF is an open-source tool that can create, execute and debug test cases using a TEFSM (Timed Extended Finite State Machines) model, which allows for timing constraints (Cao, Felix, & Castanet, 2010). WSOTF can be considered an improvement over the "off-line" TGSE framework. ...
Web services are changing software development thanks to their loosely coupled nature and simple adoption. They can be easily composed to create new more powerful services, allowing for large programming systems. Verification and validation techniques try to find defects in a program to minimize losses that its malfunction could cause. Although many different approaches have been developed for “traditional” program testing, none of them have proven definitive. The problem is even more challenging for new paradigms like web services and web service compositions, because of their dynamic nature and uncommon web service-specific instructions. This chapter surveys the different approaches to web service and web service composition verification and validation, paying special attention to automation. When no tools are available for a given technique, academic efforts are discussed, and challenges are presented.
... [6] developed a web application model and set of tools for the evaluation and automation of testing web applications. [10] presented an automatic conformance testing tool with timing constraints from a formal specification of web services composition. [11] focused on automatic test data generation from a stand-alone executable. ...
... In (Diaz et al., 2005), the BPEL and WS-CDL descriptions are translated into a system of communicating timed automata. In most papers, the extracted finite state models are used for automatic composition of services (Beek, Bucchiarone, & Gnesi, 2006) or testing and verification purposes (Tien-Dung, Felix, & Castanet, 2010;Honghao & Ying, 2011). As mentioned in (Héam, Kouchnarenko, & Voinot, 2010;Kondratyeva, et al., 2013b), finite state models can also be helpful for more precise quality evaluation. ...
... At this step, formal descriptions using finite state models can essentially help as there are many tools which allow automatic code generation (see, for example, Mtsweni, 2012). A developed implementation is then verified and tested for checking that the implementation conforms to its specification (Tien-Dung, Felix, & Castanet, 2010;Lallali, et al., 2008;Honghao & Ying, 2011). Other properties of the implementation such as security and robustness can be also tested at this level. ...
This paper presents a short study on evaluating the web service quality based on finite state models using the well‐known metrics of Quality of Service (QoS) and Quality of Experience (QoE). These metrics represent objective and subjective assessments. The development of any web service involves several steps and the final values of the service QoS and QoE can be essentially improved/deteriorated based on the quality reached at each development step. In this paper, five service development steps are considered: those are requirements specification, provisioning, composition, implementation, and usage and management. At each step different finite state models for refining the service quality estimation are utilized. A running example of a vacation planner service illustrates the application of finite state models to improve the accuracy of the QoS and QoE evaluation
... It provides end-to-end testing of service layer, service composition and coordination and business process. Another tool is WSOTF presented for the automated testing [36]. WSOTF is an automatic conformance testing tool with timing constraints from a formal specification of web services composition that is implemented by an online testing algorithm. ...
... It provides end-to-end testing of Service layer, Service Composition and coordination and business process. Another tool is WSOTF presented for the automated testing [42]. WSOTF is an automatic conformance testing tool with timing constraints from a formal specification of web services composition that is implemented by an online testing algorithm. ...
Service oriented architecture (SOA) is one of the latest software
architectures. This architecture is created in direction of the business
requirements and removed the gap between softwares and businesses. The software
testing is the rising cost of activities in development software. SOA has
different specifications and features proportion of the other software
architectures. First this paper reviews SOA testing challenges and existing
solution(s) for those challenges. Then that reports a survey of recent research
to SOA systems testing, that covers both functional and non-functional testing.
Those are presented for different levels of functional testing, including unit,
integration, and regression testing.
... WSOTF is an open-source tool that can create, execute and debug test cases using a TEFSM (Timed Extended Finite State Machines) model, which allows for timing constraints (Cao, Felix, & Castanet, 2010). WSOTF can be considered an improvement over the "off-line" TGSE framework. ...
Web services are changing software development thanks to their loosely coupled nature and simple adoption. They can be easily composed to create new more powerful services, allowing for large programming systems. Verification and validation techniques try to find defects in a program to minimize losses that its malfunction could cause. Although many different approaches have been developed for "traditional" program testing, none of them have proven definitive. The problem is even more challenging for new paradigms like web services and web service compositions, because of their dynamic nature and uncommon web service-specific instructions. This chapter surveys the different approaches to web service and web service composition verification and validation, paying special attention to automation. When no tools are available for a given technique, academic efforts are discussed, and challenges are presented.
When deployed as infrastructure components of real-time business processes, service computing applications we rely on for our daily activities elicit the proper addressing of performance and dependability issues. While recent developments in service-oriented architectures have come a long way in many aspects, ranging from semantics and ontologies to frameworks and design processes, performance and dependability remains a research demanding field.
Performance and Dependability in Service Computing: Concepts, Techniques and Research Directions highlights current technological trends and related research issues in dedicated chapters without restricting their scope. This book focuses on performance and dependability issues associated with service computing and these two complementary aspects, which include concerns of quality of service (QoS), real-time constraints, security, reliability and other important requirements when it comes to integrating services into real-world business processes and critical applications.