by, venkateswara reddy. tallapu reddy. 1.introduction. 2.what is x-machine testing..?? 3.methods of...

18
X-MACHINE TESTING By, Venkateswara Reddy. Tallapu Reddy

Upload: constance-cunningham

Post on 04-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

X-MACHINE TESTING

By,

Venkateswara Reddy. Tallapu Reddy

Page 2: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

AGENDA..1.Introduction.2.What is X-Machine Testing..??3.Methods of X-Machine Testing.4.Variants of X- Machine.5.Stream X-Machine (SXM).6.Example for SXM.7.Conclusion.8.References.9.Queries.

Page 3: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

1. INTRODUCTION X-Machine: Samuel Eilenberg originally introduced the X-Machine in 1974 in his study of automata theory as a more tractable alternative finite state machine (FSM), finite automata (FA), PDA, Turing-Machine (TM) and other kind of machine models. The “X” in X-Machine represents the fundamental data type on which the machine operates. Eg: DB data. The X-Machine is structurally the same as the finite state machine, except the symbols used to label the machine’s transitions. In a single line definition “an X-machine is essentially a machine for manipulating the objects of type X”.

Page 4: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

2. WHAT IS X-MACHINE TESTING

X-Machine Testing: X-machine testing is completely a functional testing approach which is likely to identify a finite test-set that exhaustively determines whether the tested system’s implementation matches its specifications. In this approach we use “divide and conquer” technique. This method at each stage of conquering the modules after testing guarantees that the tested modules are correctly integrated. This methodology overcomes the formal undecidability limitations.

Page 5: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

CONT.. Motivation: - To determine whether a system is up to its specifications. - Full positive testing confirms that all the desired behavior is present in the system. - Full negative testing confirms that no unintended behavior is present in the system.

Page 6: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

3. METHODS OF X-MACHINE TESTING In X-Machine testing we are having mainly two types of testing methods: 1) Testing all states: This test-set determines whether a minimal IMPLEMENTATION has the same states as SPECIFICATIONS. 2) Testing all transitions: This test-set determines whether a minimal IMPLEMENTATION also has the same transition behavior as SPECIFICATIONS, the tester constructs the transition cover, C.

Any application which has been tested with the X-machine should hold this two methods successfully.

Page 7: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

4. VARIANTS/TYPES X-MACHINE

In X-machine we are having the below listed types: a) Stream X-machine (SXM). b) Analog X-machine (AXM). c) Communicating X-machine (CXM). d) Communicating Stream X-machine (CSXM). e) Object X-machine (OXM).

The most influential model on theories of software testing has been the STREAM X-MACHINE.

NASA has been recently discussed Communicating Stream X-machines in design and testing of the SWARM SATELLITE SYSTEMS.

Page 8: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

5. STREAM X-MACHINE (SXM).

STREAM X-MACHINE: A form of extended finite state machine called a STREAM X-machine satisfies these requirements. A Stream X-machine is a type of X-machine, that describes a system as a finite set of states, each with an internal store, called memory, and a number of transitions between the states.

A transition is triggered by an input value, produces an output value and may alter the memory.

A Stream X-machine (SXM) may be illustrated by a finite automaton in which the arcs are labeled by function names (Fig:1).

Page 9: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

CONT..

Page 10: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

CONT.. A SXM is a tuple as follows:

Where, Are finite sets called the input and output

alphabet. Q is the finite set of states. M is a infinite set called Memory. is a type of Z, a non-empty finite set of function symbols.

A basic processing function will be

F is the next state function.

I and T are the set of initial and terminal states respectively.

is the memory value.

Page 11: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

CONT… Thus, the SXMs are the X-machines for which the basic processing functions have the form :

i.e.., Each such function will read an input symbol, discard it and produce an output symbol while changing the value of memory.

Page 12: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

6. EXAMPLE FOR SXM. Now we are going to discuss about one of the example for SXM i.e., “Testing BPEL with SXM”. BPEL: Business Process Execution Language (or) WS-BPEL: Web services BPEL, both are same. The main aim of this example is to generate test cases for the unit testing of business process written in BPEL, developers have to prepare input data for the BPEL process under test (PUT) and verification conditions for output data from the PUT. It could be hectic task due to the complexity of the PUT which describes the web flow of a distributed collaboration of individual service providers executing concurrently.

Page 13: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

CONT… This example shows how Stream X-machine based testing techniques could be applied to automatically generate test cases for BPEL process.

Explanation: To transform BPEL process to the corresponding SXM, we first determine A)the states and the transitions, then B)the memory structure, C)the input and output sets, and finally we define D)the transition functions.

Page 14: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

CONT…A) States and transitions: States and

transitions are obtained by examining the activity and its sub activities in the BPEL process.

BPEL activities are divided into two classes basic and structured.

Basic activities are mostly straight forward and structured are like sequence, if, while….

Page 15: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

CONT...B) The memory structure: Memory structure can be directly derived from the BPEL variables, because variables can also hold data that are needed for holding state related to the process and never exchanged with the partners.C) The input and output sets: Inputs sets and output set respectively are the set of input messages and the set of output message for operations on partner’s WSDL port-type in BPEL process.D) The transition functions: Generation of transition functions depends upon the process we append in the BPEL process. Transitions will also differ from one instance to the other.

Page 16: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

7. CONCLUSION. With all this discussion we can conclude that X-machine testing is intended to “derive test-cases from the specifications, and to develop verification models for the output”. To determine whether any software/hardware is performing according to its specifications during implementation.

Page 17: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

8. REFERENCES1. http://en.wikipedia.org/wiki/X-machine2. http://en.wikipedia.org/wiki/Stream_X-Machi

ne3. http://en.wikipedia.org/wiki/X-Machine_Testi

ng4. Research paper “Testing BPEL using SXM”

by Chunyan Ma, Junsheng Wu, Tao Zhang.5. Research paper “SXM tool – a tool for

testing SXM” by Chunyan Ma, Junsheng Wu, Tao Zhang.

Page 18: By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream

ANY QUERIES..??