Download - Philadelphia University

flashypumpkincenterΛογισμικό & κατασκευή λογ/κού

14 Δεκ 2013 (πριν από 3 χρόνια και 7 μήνες)

64 εμφανίσεις

WSDL
-

based approach to test

WEB SERVICES RELIABILITY


``


Recent years have seen an emergence
of

service
-
oriented applications,
applications
that enable
access

to data that was
difficult to reach, tho
se services are
commonly referred to as web services, as they are available

and

p
rovided
over

the
web.

Web services
are

relatively new

technology and

have an increasing

use
within and
across

enterprises since they p
rovide
a

framework for facilitating application
-
to
-
application interactions
.

Web services
became the most promising solution

for

integrating software applications
over

heterogeneous

networks and exchanging
information in a simple, standardized manner
.

Because XML is the backbone of web services, day after day web services gain
more
success

and popularity in the world of
automating business process
interactions
.

Web
services are

designed as a way to automate application
-
to
-
application
interactions
. Following
definition

of W3C
, Web service
is

[
1]
:


“A software system designed to support interoperable machine
-
to
-
machine
interaction over a network. It has an interface described in a machine
-
processable format

(specifically WSDL). Other systems interact with the Web
Services in a manner prescribed by its description using SOAP, typically
conveyed using HTTP with XML serialization in conjunction with other Web
-
related standards”
.


Web Services are based on the I
nternet and open standards such as eXtensible
Markup Language (XML), Simple Object Access Protocol (SOAP) and Web Service
Description Language (WSDL). It uses

XML format
which allow services to
communicate regardless of their platform
, for example:
Microsoft .NET, Sun J2EE,
run

on Window or Linux, can communic
ate using a common format (

XML format).
XML

Schema provides
a way t
o
define

the data

st
ructure, and
SOAP specifies how
to encode an HTTP header and an XML file so that a program in one computer

can
call a program in another computer and pass it information. It also specifies how the
Introduction

called program can return a response.

An Internet protocol as HTTP

is usually used
to exchange these XML
-
based messages

from/to another service
s
.

A

web service
must be
publishing

its invocation interface
-

its specification and
functionality description

-

this

can be done
using
Web Services Description
Language (WSDL)

standard.

Then services
are

registered in a

universal discovery
description and integration

reg
istry

(
UDDI
)
, which allows each web service to be
discovered by other

services
.

Web service is one way to implement the service oriented architecture

(SOA)
[3]
;
-

the

means of building software applications in SOA are
services.

SOA

is
an

approach
for

building software systems that is based on loosely coupled
components (services) that have been described in a uniform way and that can be
discovered and
composed
.
Web services represent one important approach to
realizing an SOA
[3][2]
.

The
service
-
oriented architecture (SOA)

provides a general framework for service
interaction. It describes three

roles; service

provider

(
Develops and implements a
service)
, service requester

(

distributed application that needs the functionality
provided by a

service)
, and service broker

or
registry

(

Stores meta data about
services such as the provider name and the location of the contract.
)
, together with

the three operations publish,
find
, and bind
[4]
.

WSDL plays an important role in the overall Web service
s architecture since it
describes the complete contract for application communication
.





A WSDL file contains all of

the information necessary for a client to invoke the
methods of a web service

including
:



Definition

of one or more services (what a web service can do )
.



The input and output messages
used by
an operation

as method parameters or
return values
.



The

operat
ions that can be performed by a web service
,
what operations are
available on the server
.



The protocols and message formats allowed for each method



The URLs used to access the web service
.



Any

complex data types used in the WSDL document.




And how

the operation is invoked
.



Web service

Testing

Software Testing is a Software Engineering technique that is
aimed at evaluating an
attribute or capability of a program or system and determining that it meets its
required results

and it

is an important technique for assessing the quality of a
software product.

The purpose of testing can be
:



Quality assurance.



Verification and validation.



Reliability

estimation.


Research found that
many

software organizations are spending up to

40% of th
eir
resources on testing.

[6]


Testing techniques consists of black box and white box which are based on the
accessibility of the source code; if test data is generated depending on the source
code then a testing technique belongs to
white box
testing, whereas if the source
code is unavailable, then a testing technique belongs to
black box
testing.[ 5 ]

Equivalent Partitioning, Boundary Value Analysis,
Cause
-
Effect Graphing
Techniques, and Comparison Testing are examples of Black Box techniques.

Like all software,

web services need to be tested,

they need to be very robust.

Testing web services at the client side is not as straightforward as testing traditional
software due to the complex nature of web services and the absence of source code

in a
ddition

they do not display a us
er interface that can be tested
.

Web services testing increases the
reliability

of web services, helps the service
requester

to

select the most appropriate service among the available services with
similar role, and assists service providers
to discover errors before publishing their
services for public use.







:اهفادهأو اهتيمهأو ةساردلا ةلكشم

ةل نسساو ةنيلع وضنيي يمنلا يرنا لا نانسساو ةنساردلا اضنوضم نع ةركف بلاطلا ىطعي(
وأ

نتلا اينورفلا
انساردلا نع ةنساردلا منه فلتخت فيكو اهتارربمو ةساردلا ةيمهأ زربي مث اهيلع ةباجلإا ةساردلا لواحتس
.)اهل ةهباشملا ةيباسلا




Web services have generated great interests in both vendors and researchers

fields.
Web services, based on existing Internet protocols and open standards, can provide a
flexible solution to the problem of application integration. With the help of WSDL,
SO
AP, and UDDI, Web services are becoming popular in Web applications.
However, the current Web services architectures are
facing some

problems

that are
limiting their use and growth

such as reliability and security
.

The
specific problems

that this work will

focuses

are:

1
-
The
reliability
:

due to the complex nature of web services
,

the absence of source
code

t
he Service Requester

is able only to detect contract

(WSDL) of a Web Service.
Because
of this the service requester does not trust web services published by others
without detecting the source code of the Web Service
.

This
non functional problem cannot

be
determined by the WSDL because WSDL
give a description of the operation (function) tha
t a web service can provide.

2
-

Employing traditional testing technique to test web services
:

h
ow

to enhance
traditional testing techniques in order to be able to use it with web services in order
to assess web service reliability.

3
-

Automated

test data generation
: how to generate test cases automatically based

on WSDL

only
.




Research Problem




We must be able to
answer the

following questions :
-




How
to increase web service
reliability

based on software testing
?



How to enhance
traditional testing technique in order to employ them with
web services?



How to generate test cases automatically based on WSDL only?






-

Finding an atomic way to asses
a web service based on its description.

-

Finding how WSDL can help in detecting fault
s that may affect the
quality
attribute of Web Services.

-

Analyzing traditional black box testing techniques

that

can be used to test a

Web Service’ reliability depending on WSDL only.

-

Writing a tool that can pro
duce web service test data automatically based on
any WSDL.

-

Assessing if a web service is reliable or not by applying the appropriate
testing techniques.


-


Increasing

the
reliability
of a web service by

assessing web services quality
attributes.

Research Question

Research Objectives



تامهاسملا

ةعقوتملا
:



-

Finding
an atomic way to c
hoose

the appropriate testing
technique that
satisfies certain constraint
.




)ةرشابم ثحبلا اضوضمب ةقلاعلا اذ ةيباسلا اساردلا م ة يع بلاطلا ضرعي(




Web services testing have
gained a

lot of
research.
The research that is mostly
related to this project may include the
following:
-

Offutt and Xu [ 6 ]used data perturbation, which is considered a black box testing
technique to generate test cases for Web Service. They stated that most of
the current
testing tools for Web Services focus on testing SOAP messages,

WSDL files, and
requester provider emulation.

Xu et al. [ 7 ] propose an approach where perturbation is applied to XML Schemas
in order to generate

test cases. Xu et al. define XML
Schema perturbation operators
for creating invalid XML messages by inserting or deleting data fields


Similarly, Vieira et al. [ 8 ] propose a framework that performs fault
-
injection to the
captured SOAP messages .

Xiaoying Bai and Wenli Dong
.[9
] present
an approach to generate Web Services test
cases

automatically based on WSDL
. The WSDL file is first
analyzed

and
transformed into the structured DOM tree. Then,

test cases are generated (test

data
and test operation). Test data are generated by analyzing
the message data types
according to standard XML schema syntax.
While test
Operation are generated
based on the operation dependency analysis (input, output, and input/output
dependency). Finally, the generated test cases are documented in XML
-
based test
f
iles called Service Test Specification.

Related Works













تاساردلا

ةقباسلا
:

Cesare Bartolini, Antonia Bertolino, Eda Marchetti, and Andrea Polini
[10]they

introduce a proposal

to automate WSDL
-
based testing. They use

a tool called
TAXI,
(automate the

derivation of XML instances from a XML Sch
ema
)
.


Siripol Noikajana and Taratip Suwannasart [11]propose an approach to generate web
service test case from SWRL (Semantic Web Rule Language) and WSDL
-
S (Web
Service Semantics) by using random testing technique which generates test case
from both preco
ndition and postcondition, defined in web service.






































The proposed model :
-

-
The proposed model can be explained by the following figure that shows the phases
of this model :
-


`















Parsing the WSDL file in

order
to generate

the test

data.



The XML file will hold the generated test data; this file will be
used to

test the
web service to know if web service is reliable or
not.

When building web services using different platforms, the WSDL description
will be different even for the same web services.

The Proposed Model






ةيجهنم

ثحبلا
:


WSDL

FILE

Parsing
WSDL


Automated
Test Data
Generation


XML


Our approach of web services testing is different than other appro
aches in that it
can distinguish the WSDL specification generated by different platforms and can
generate the test data accordingly.

Our approach will be intelligent, it can realize what platform a specific WSDL
description belong to and generate the proper test data to that platform.
Additionally it will have the ability to
c
hoose the appropriate testing technique
(boundary value test
ing, robustness testing, syntax testing …) that satisfies
certain constraining facets.




نتلا انثضلاو انوضطخملاو خانيملاو بنتكلا نم عنجارملاو رواندملا نم ةرانتخم ةعضمجم بلاطلا عضي(
متننيو ثننحبلا ننف اننه م ةوافتننسخا متيننس

ضلننسأ بننسب اننهبيترت
ننملعلا ثننحبلا ةواننمع ننم دننمتعملا ننيثضتلا
.)ايلعلا اساردلاو




[1] D. Booth, H. Haas, F. McCabe, E. Newcomer, M. Chamion, C. Ferris, and D.
Orchard, (2004), "Web Services Architec
ture. W3C Working Group Note 11
February 2004," [Retrieved from:
http://www.w3.org/TR/ws
-
arch/
]


[2] R. Chinnici, J. Moreau, A. Ryman, and S. Weerawarana, (2007), "Web Service
Description Language (WSDL) Version
2.0, Part 1: Core Language, W
3C
Recommendation 26 June 2007," [Retrieved from:

http://www.w3.org/TR/wsdl20/
]


[3] D. Peterson, S. Gao, A. Malhotra, C. M. Sperberg
-
McQueen, and H. Thompson,
(2012), W3C XML Schema Definition Language (XSD) 1
.1 Part 2: W3C
Proposed Recommendation 19 January 2012. [Retrieved from:
http://www.w3.org/TR/xmlschema11
-
2/
]

[4] T. Erl, (2006) Service
-
Oriented Architecture, Concepts, Technology, and Design.
ISBN: 0
-
13
1
-
85858
-
0, Prentice Hall.

References





رداصملا

عجارملاو
:


[5] Harrold, M. (2000) Testing: A Roadmap. Proceedings of the IEEE 22nd
International

Conference on the Future of Software Engineering, June 2000, Ireland,
pp.61
-
72.

[6] Offutt, J. & Xu, W. (2004) Generating Test Cases for Web Ser
vices Using Data
perturbation. ACM SIGSOFT, Software Engineering Notes, 29(5), September, 1

10.


[7 ] W. Xu, J. O_utt, and J. Luo, ( 2005 ) “Testing web services by XML
perturbation,” in ISSRE ’05: Proceedings of the 16th IEEE International
Symposium on
Software Reliability Engineering, pp. 257

266, Chicago, IL,USA,
IEEE Computer Society.

[8] M. Vieira, N. Laranjeiro, and H. Madeira,( 2007) “Benchmarking the robustness
of web services,” in PRDC ’07: Proceedings of the 13th Pacific Rim International
Symp
osium on Dependable Computing, pp. 322

329, Melbourne, Victoria,
Australia , IEEE Computer Society

[9]
Xiaoying Bai, Wenli DongWSDL
-
Based Automatic
,

Test Case Generation for
Web Services Testing
:
Proceedings of the 2005 IEEE International Workshop on
Service
-
Oriented System Engineering (SOSE’05)

2005 IEEE
.

[10]
Cesare Bartolini, Antonia Bertolino, Eda Marchetti, and Andrea Polini
,

Towards Automated WSDL
-
Based Testing of Web Services: ICSOC 2008,
LNCS 5364, pp. 524

529, 2008. Springer
-
Verlag Berlin Heid
elberg 2008

[11]
Siripol Noikajana, Taratip Suwannasart, An Approach for Web Service Test
Case Generation Based on Web Service Semantics: Proceedings of the 2008
International Conference on Semantic Web & Web Services, SWWS 2008, July
14
-
17, 2008, Las Vega
s, Nevada, USA.