The Dark Side of SOA Testing: Towards Criticality Metrics Philipp Leitner

advertisement
The Dark Side of SOA Testing: Towards
Testing Contemporary SOAs Based on
Criticality Metrics
Philipp Leitner1,
Stefan Schulte1, Schahram Dustdar1, Ingo Pill2, Marco
Schulz2, Franz Wotawa2
1Distributed
Systems Group,
Vienna University of Technology,
Austria
2Institute
for Software Technology
Graz University of Technology,
Austria
Introduction
 Service-based systems promise many
advantages …





… loosely coupled
… interoperable
… reusable
… aligned with business goals
… etc …
 However, this generally comes with a price:
 Complexity / Error-proneness
2
SOA Testing – General
Overview
Test Criteria
Specification
SOA Model
User Model
Test
Suite
Test
Bed
Discriminating
Tests
Runtime Testing
Test
Result
YES
Fault Diagnosis
YES
NO
Fault(s)
Detected?
End
NO
Fault(s)
Isolated?
3
Active
Diagnosis
State of the Art
 There is some related work on testing
 But mostly:
 Testing of single services, e.g.
S. Zhao, X. Lu, X. Zhou, and T. Zhang, “A Reliability Model for Web
Services - From the Consumers’ Perspective,” in Proceedings of the
2011 International Conference on Computer Science and Service
System (CSSS), 2011.
 Testing of service compositions, e.g.,
Z. Zakaria, R. Atan, A. A. A. Ghani, and N. F. M. Sani, “Unit Testing
Approaches for BPEL: A Systematic Review,” in Proceedings of the
2009 16th Asia-Pacific Software Engineering Conference
(APSEC’09). Washington, DC, USA: IEEE Computer Society, 2009
 Very little related work on how to test SOAs in its
entirety
4
Contemporary SOA
Service
Registry
CRM
Service
Billing
Service
Service
Consumers
Services
Compute
Service
5
Contemporary SOA
Frontend Application
Business Processes
Service Monitor
Service
Registry
Message Bus
Aggregator
Mediators
Services
Billing
Service
CRM
Service
Compute
Service 1
Backend Applications
6
Compute
Service 2
SOA Testbeds
 What is currently missing?
Approaches to test not only ONE service or ONE
process, but an entire service ecosystem (including
complex dependencies and cross-references)
 In the end, you require complex testbeds to ‘test
run’ your SOA components before deployment
 However, how do you build such testbeds?
7
Criticality Metrics
 Our idea:
 Use criticality metrics to identify which components of
your SOA are most relevant (and hence need to be
part of your testbed)
 Based on the concept of complexity metrics from
software engineering (e.g., cyclomatic complexity)
 Those metrics are heuristics to help human users
identify critical SOA components
8
Some Initial Example Metrics
(1)
Short
Name
SSF
NOSV
NOPU
IMR
Name
Range
Service Statefulness
Number of Service
Versions
Number of Process
Usages
Interface Mediation
Required
{stateful, stateless}
N1
9
N0
{yes,no}
Some Initial Example Metrics
(2)
Short
Name
CPC
CMEP
PLC
DIR
Name
Range
Cyclomatic Process
Complexity
Complexity of Message
Exchange Pattern
Process Landscape
Categorization
Dynamic Invocation Ratio
N1
10
N1
{core, support}
0; 100]
Next Steps
 Clearly, our initial metrics (some more are in the
paper) are only a rather simplified first step
 Next steps:
 Survey more metrics / validate existing ones
 Define a more concrete process for using those
criticality metrics to build better testbeds
11
Acknowledgements
P23313-N23 (Audit 4 SOAs)
P22959-N23 (MoDiaForTed)
Position Statement – Software
Engineering (in|for) the Cloud
 Current research is somewhat awkward:
 A lot of research is done w.r.t. VM placement, energy
efficiency, multi-tenant clouds, …
  Issues that only interest cloud providers
 More important (I think):
 Consumer side issues
 How to build applications for the cloud?
 How to migrate between clouds?
 How to ensure privacy in the cloud?
13
Position Statement – Software
Engineering (in|for) the Cloud
 Current problems for SE in the cloud:
 Lack of understanding what the cloud is and does
 Solution: ?? Educating people better / more truthfully ??
 Lack of good tooling to build cloud services
 Solution: build better tools 
 For instance CloudScale (which we will hear about in a later
talk)
14
Download