TESTING SOA
Lessons Learned
Ron McClintic
Ron.Mcclintic@engagepoint.com
03/03/2014
© 2013 EngagePoint ™ and Consumer Health Technologies.
All rights reserved.
Agenda
•
•
•
•
•
•
•
•
Intro
Description of SOA
Definition of Federated
Single Sign on / SAML token
Enterprise Service Bus
Mediations
A testing approach
Lessons learned
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
2
SOA: definition
SOA Patterns by Arnon Rotem-Gal-Oz,
Manning 2012, p4
•
Is an architectural style for building systems based on
interactions of loosely coupled, coarse-grained, and
autonomous components called services. Each service
exposes process and behavior through contracts, which
are composed of messages at discoverable addresses
called endpoints. A service’s behavior is governed by
policies that are external to the service itself. The
contracts and messages are used by external
components called service consumers.
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
3
Definitions
•
•
•
Service – a facility supporting a public demand. Distinct
business function, coarse grained, implements all
functionality promised by its contracts
Contact – collection all messages supported by the
service. Unilateral or bilateral. Equivalent to an object’s
interface in Object Oriented Design
Endpoint – universal resource identifier. Equivalent to a
URL
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
4
Federation
•
•
•
•
SOA on steroids
Components are not services
Decentralized business functions
Simple example: Automobile Disposal
– New account registration
•
–
–
–
–
–
Address validation
Product Search
Procurement
Payment
Shipping
Inventory
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
5
Used Car Disposal Company
Account
Creation
Procurement
Search
and Match
Order
Deliver
Billing
Auction
Enterprise Service Bus
Business Entity DB
ESB Message Logs
Email
Schematics Library
Current Inventory
Enterprise Database
EDS
External data
sources/consumers
Enterprise Service Bus
•
•
•
Many kinds
IBM Websphere
BEA
They provide a messaging backbone.
Routing
Enrichment
PUB/SUB model
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
7
Mediations & Enrichment &
Pub/Sub
•
•
•
Mediations
Enrichment
Pub/Sub
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
8
Single Sign On – SAML Token
•
•
•
•
SAML – Security Assertion Markup Language
SAML Tracer add in to Firefox
Two key things to check
– Role
– ID
Provisioning
– What if one app fails, can the others UNDO what they have
done?
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
9
Data Round Trip
Search
and Match
Enterprise Service Bus
Current Inventory
• User inputs search data
• App formulates outbound message
per contract
• App sends message to mediation
endpoint on ESB
• App logs sending and message
• Mediation either routes, or publishes
or enriches and sends
• Mediation logs action
• Message out to inventory app
• Mediation logs message
• Inventory app process
• Creates out bound message back to
ESB
• Message logged
• ESB sends to originator
Misconception and Truth
Miss
•
•
•
•
…way to align IT and the
businesses team(s)
Hit
•
...is an application that
has a web serviced
interface
•
…is a set of technologies
•
..is an off the shelf
solution
•
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
Good goal. SOA is an
architecture. It does allow
agility to facilitate aligning
Not necessarily. Other
technologies can be
uses. Ex: Open Service
Gateway
SOA is an architecture
approach
SOA is not a product
••••••
11
A Testing Approach
•
•
•
•
•
•
Layered approach
Message submission to ESB
Message through ESB
Message construction and send through input GUI
Message unpacking and action by receiver
End to end through GUI
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
12
Manual Supports Automation
• SOAPUI to test
•
•
message
Manual test of
message creation
SOAPUI to submit
message to Receiver
• Manual End to End
• Automate all
•
•
•
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
messages
Automate input
screens
Automate message
submission, validate
in Receiver
Automate end to end
EngagePoint.com
What testing model?
•
•
•
•
•
•
•
Data Driven
Spreadsheet contains data for SOAPUI message testing
Automation of messages reads same data sheet
Manual tester uses data sheet for GUI input
Automation uses data sheet for functional testing
Testers can focus on requirements and test data analysis
Focus on End to End solution testing
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
14
Biggest Lessons
•
•
•
•
•
•
•
Test the messages
SOA builds in more communication paths - comm paths
means humans have to communication more – means
defects
Data does not always equal data.
– 317-01-0124 <> 317011234
– 1 <> 01
Testers need read access to message logs
Testers need access to EDS and app DBs
Testers need to know the rules for PUB/SUB including
how to SUB
Testers read messages and predict what the system will
do, then validates
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
15
Biggest Lessons
•
Insist on a project/program/Company rule: Define who
wins
– Each message has a producer and at least one consumer
– In a data element or format disagreement, who wins?
– Consumer as winner makes sense most of the time, customer
always wins
– But if the producer is a COTS disagreements will ensue
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
16
Biggest Lessons
•
Dealing with disparate app dev teams
–
–
–
–
–
•
COTS OOTB
COTS Customized
Semi-autonomous business teams
PMO
Test team comprised of app specific experts and system wide
and COTS test teams
Change
– If done right, implementing a new Federated/SOA will bring
about change
– New solution changed to solidify status quo
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
17
Biggest Lessons
•
Dealing with Client
– No one business SME will understand the entire solution
– Decisions CANNOT be made unilaterally
– Need a SMALL committee of SENIOR biz leaders who can
mediate
– One or two of the test team WILL become the de facto expert on
the end to end solution. They can have vast beneficial influence
on training, end user relationship, sales, defect prioritization,
setting up a call center, 3rd tier support, iteration demos etc. etc.
– Cultivate this expertise!!!!!
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
18
Biggest Lessons
•
•
•
Don’t buy “Off the Shelf” and think you can just plug
them together
It is amazing how many problems you get when you try
to make to independently developed OOTB applications
talk to each other
The more robust and specialized an app the harder it is
to plug it into a SOA architecture – when you see this
hire more testers
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
19
Biggest Lesson of all
•
How to organize the development effort
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
20
Tester Profile
•
•
•
•
•
•
•
•
•
•
Black box inferential skills
White box analysis
Simple to moderate SQL query ability
SOAPUI (or similar tool skills)
Understand Data Driven Testing
BA skills
Has to be able to critically read and understand
requirements
Screen shot tool (One Note is great tool)
At least one tester per business function becomes SME
Every tester can test end to end
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
21
Q&A
Confidential Presentation
© 2013 EngagePoint ™ and Consumer Health Technologies. All rights reserved.
EngagePoint.com
22
For more information:
Ron McClintic
612-839-4947
Ron.mcclintic@engagepoint.com
••••••