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 ••••••