Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Service Oriented Architecture Testing: NOSQAA Cleveland, May 15th 2008

Download as ppt
Download as ppt
You are on page 1of 48

Service Oriented

Architecture
Testing
NOSQAA Cleveland , May 15th 2008

Erik van Ommeren


Erik.vanOmmeren@Sogeti.com
Dan Hannigan
Dan.Hannigan@Sogeti.com
Where are you?

You are interested in today’s topic


You’ve heard about SOA
You know what SOA is
… and could explain it to others
You know about testing
You are currently testing SOA
You are using a well defined test process

You have specific questions regarding SOA


A quote to take home

“Service Oriented
Architecture will only
be successful if you
address the Testing
and Quality aspects
correctly and early on”

Erik.vanOmmeren@Sogeti.com
What are we talking about?
What is Testing
A Sogeti Point of View

• Dan Hannigan
What is Testing
A Sogeti Point of View
•Business Driven Test Management

•Structured Test Process

•Testing Lifecycle

•Complete Tool Box

•Adaptive and Flexible

•Maturity
Business Driven Test Management

• Test Effort is related


to the risk of the
System
• The estimate and
planning for the test
process are related
to the test strategy.
• Stakeholders have
input throughout the
test process (costs,
benefits, risks, etc.)
• Makes test results
visible to client
Structured Test Process

• Master Test Plan,


managing the total
test process
• Acceptance and
system tests
• Development tests
• Supporting
processes
Testing Lifecycle
Control
Planning Manage the test project
 Develop test strategy  Report metrics
 Risk analysis  Control budget & timelines
 Test estimation
 Prepare test plan
Control
 Define organization

Planning Preparation Specification Execution Completion

Infrastructure
Infrastructure  Define and maintain
infrastructure

Preparation Specification Completion


 Review  Create test scripts Execution  Preserve testware
requirements  Test
 Define test data  Evaluate process
 Assign techniques  (Re)test
 Check
 Assess
Complete Toolbox

• Techniques: how
• Infrastructure:
where and with
what
• Organization: who
Adaptive and Flexible

• Complete And
Flexible
• Works with any
SDLC
• Works with any
technology
> Mainframe
> Web
> ERP
> SOA
Maturity

Increasing Maturity
Test Clients (out of 500+)
Why all this talk about SOA?
Why all this talk about SOA?

• Fast changing world


• Fast changing business
• Fast changing IT
(Yet Another) Definition of SOA
• Set of best practices = “Mature IT”
• “Common sense”
> Componentize
> Agree on things
> Use what you already have
> “Made to order  Infrastructure”
> Facilitate change, continually improve
> Do it for a business reason
> React to the environment
SOA 101: What’s a Service
Business: A ‘something that we do to add value’,
A service: a small block of processing
probably supported by IT.
that can be called upon
to supportIT: A small block
something of processing
the business does to add value.
that can be called upon to do some work.

Service Interface

Service Implementation ‘invisible’ and


unimportant for the ‘consumer’
Content
SOA 101 - Example

The weather service


Interface

Implementation
SOA 101 - Example
Supermarket beer stocking process

Check Check Order Report to


Inventory Tomorrow’s beer Financial
Of the store weather From Dept.
Supplier overseas
SOA 101 - Example
Business Process Management
Retrieve Prepare
Customer Review Customer
Detail Rating Offer

Business Processes
WCC
WCC
Web
Adapter Adapter
Adapter
Adapter IT Domain
Enterprise Service Bus Integration
Legacy Adapter
Adapter Comm.
Adapter Adapter

Web App WCC / WPC


Legacy
Core Bank Services
Risk & Financials

3rd Party

Source: IBM
One of the things we’re aiming for:

Re-use
Reuse

Business

IT
Reuse

Business

IT
Reuse

Business

Consumer B2B Mirrors:


Organisational-
Applications Structure

Accounting

Marketing
HR
Reuse

Business

Mirrors:
Services WHAT an
Mortgages

organisation
Customer

can do.
Credit
401K





Reuse

401K
Pensions
Mortgages
Customer
Intermediary
Credit

IT

Reuse


Services




Architecture example
Reuse

Transport
Autorizations
IT
Transformation Reuse
Security
Logging
Reuse

Reuse

IT
Reuse
The end of software development?

• Endstate of SOA
> Lot of reusable components
> Easily reconfigured
> In Business terminology
• Any business change is:
> Minor reconfiguration
> Add a business rule
> Click to a new integration
>…
• It’s like infrastructure + Excel
SOA and Testing

• The very short summary is:


> Development = easier
> Testing = harder, eh.. different
Problems, problems, problems..

• Distributed
> Services are many and can be everywhere
> Services can have different owners
• Layered
> Services composed of services
> New infrastructural layers
• soA = “Enterprise Architecture”
> Reuse across boundaries
> Design principles are important too
• Easily changed
> Process, configuration can be changed at any
time
1. To Test one service

• Test harness, drivers & stubs


• Test Automation
1. To Test one service

Service Service Service

Driver Stub

User Interface
Test Harness
Automation

Load generation
1. To Test one service

• Test harness, drivers & stubs


• Test Automation

• Test basis for a service


> Functional description (what it does)
> Interface description (how to use it)

Who’s the owner?


2. Testing of a Business process

• Formalized: BPEL
• Risk-based (e.g. performance)

What if your process


crosses boundaries?
2. Testing of a Business process

End to End Chain 1 Chain 2

Service Service

Service Service Driver

Service Service Service

Service Stub Service

Service Service
3. Manage risk versus testing

• Contracts,
Service Level Agreements and
Delegated testing
> Ask for stubs
> Inspect SLA’s
• Portfolio approach

Can’t we do this
in production?
4. Testing of Architecture
Architecture for testing

• Adherence to architectural
principles is a test requirement!
4. Testing of Architecture
Architecture for testing
Wish / Idea Operation

Architect =
acceptant
Requirements
Acceptance test
PSA

Functional
design System test

Technical Module/unit
design test

Realisation
4. Testing of Architecture
Architecture for testing

• Adherence to architectural
principles is a test requirement!

• Architecture must allow for testing


> Test the infrastructure
> Use the infrastructure

SOA = “mature IT”


5. Testing process itself

• Fast
• Mature
• Repeatable

How mature are you?


SOA testing

2.Test the services


3.Test the Business processes
4.Manage the risks
5.Test the architecture
6.Improve testing process
Questions, Answers, Discussion

• Any Questions?
• ……. experiences to share?
• ……. comments?
Silver lining

• Better Business-IT alignment

• Testing 1 service is fairly easy

• SOA is making things Explicit

• Testing HAS to be part of the


design phase
Final advice: be pragmatic
A quote to take home

“Service Oriented
Architecture will only
be successful if you
address the TESTING
and Quality aspects
correctly and early on”

Dan Hannigan
Dan.Hannigan@Sogeti.com
Erik van Ommeren
Erik.vanOmmeren@Sogeti.com

You might also like