interactions in other testing approaches (Bertolino
et al., 2008) (e.g. functional and non-functional
testing). Specifically, the payload of the SOAP body
message (i.e. the operation to invoke and its actual
parameters) is part of the configuration of the Tester
Robot. Testers can pack the SOAP payload focusing
on other testing goals and then delegate to (role)CAST
the execution of the invocation of the service under
test.
Composing (role)CAST with other testing frame-
works needs a precise definition of how the Tester
Robot handles “access denied” errors. Specifically,
when the Tester Robot catches a remote exception
thrown by the service under test, it is important to un-
derstand if the error was due to a denied access to
the resource, or to other issues. In the first case, the
Tester Robot first queries the oracle, and then evalu-
ates and logs the test result. In the second case, the
Tester Robot logs that an untractable error was raised
and forwards the exception to upper layers (e.g. the
Tester Robot invoker). The strategy we implemented
in (role)CAST is reported in (Bertolino, 2009).
3 AN APPLICATION EXAMPLE
This section describes an application of (role)CAST to
a demo service federation. This scenario raises pri-
vacy and security concerns, and is one of the demon-
stration scenarios considered in TAS
3
.
3.1 Reference Scenario
The EmployabilityNetwork provides on-line access
to an internships management and work placement
system for the students in a University. Specifically,
this scenario foresees that each department of a Uni-
versity has a Placement Service Coordinator (PSC)
that forwards applications from students to one or
more Placement Provider (PP) looking for a match.
EmployabilityNetwork functioning relies on an on-
line and role-based authorization system. The con-
figurations, the authorization mechanisms, the autho-
rization policies, the members of the federation and
the roles that each member plays within the federation
can dynamically change during EmployabilityNet-
work lifetime. For example a new PP can join Emplo-
yabilityNetwork, or an existing PP can be discov-
ered and linked by a PSC of a department.
In such a scenario, it is evidently untenable to ar-
gue that each time the authorization infrastructure is
subject to some reconfiguration, the system Employa-
bilityNetwork should suspend its service in order to
undergo an irremissible integration testing phase. In-
stead, on-line testing can proactively stimulate, and
dynamically validate the services within Employabi-
lityNetwork, trying to anticipate potential integra-
tion errors at run-time. Furthermore, by checking if
the services in EmployabilityNetwork actually be-
have in compliance with their expected specifications,
on-line testing will increase the trust and the depend-
ability of the whole federation.
Let us consider the WSs ComputerSciencePSC,
BiologyPSC, BitIdeaPP, and the JobCenterPP
belonging to EmployabilityNetwork. Where
ComputerSciencePSC, and BiologyPSC are respec-
tively the PSC of the Computer Science and of the Bi-
ology department; JobCenterPP is a service interface
of a general purpose job-center; while BitIdeaPP is
the interface to the recruiting system of a company
acting in ICT. Each PP accepts requests from a PSC
according with the status of their subscription to the
federation. For example, the PSC of the department
of Computer Science can forward queries to both the
PP, while the subscription of the PSC from the Biol-
ogy department is only valid for querying the generic
JobCenterPP.
When accessing a WS, each service within Em-
ployabilityNetwork must provide the credentials
testifying the roles it is playing. Technically, their
SOAP requests will include within the SOAP header
a SAML assertion in form of WS-Security To-
ken (Monzillo et al., 2006).
3.2 Implementation and Usage
We implemented a running demo that simulates the
scenario described above. We also implemented a
simple module that emulates the functionality of an
IdP service. We do not pretend that such a module
will be used as a real IdP, nevertheless it is able to sign
SAML assertions with the RSA public-key cryptogra-
phy algorithm, and this is enough for our purpose.
We start by devising a set of test cases to be
(periodically or following an event-driven strategy)
executed within EmployabilityNetwork to validate
role-based authorization. Figure 2 depicts the UML-
based design of a test plan for EmployabilityNet-
work. In this case, the abstraction level of the test
context is intentionally high, giving emphasis to both
the role of the services, and the target of the test.
The test plan schedules invocations between the
four WSs. With reference to Figure 2, a UML re-
lation tagged by the term testCase (i.e. a UML
stereotype) specifies the configuration of a test case.
For example, Figure 3 depicts the instantiation of
the tagged values for the test case of a client acting as
WEBIST 2011 - 7th International Conference on Web Information Systems and Technologies
16