1 / 23

Testing SOA

Testing SOA. Lessons Learned. 03/03/2014. Ron McClintic Ron.Mcclintic@engagepoint.com. Intro Description of SOA Definition of Federated Single Sign on / SAML token Enterprise Service Bus Mediations A testing approach Lessons learned.

harvey
Télécharger la présentation

Testing SOA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Testing SOA Lessons Learned 03/03/2014 Ron McClintic Ron.Mcclintic@engagepoint.com

  2. Intro • Description of SOA • Definition of Federated • Single Sign on / SAML token • Enterprise Service Bus • Mediations • A testing approach • Lessons learned

  3. SOA: definition SOA Patterns by ArnonRotem-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.

  4. 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

  5. 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

  6. Used Car Disposal Company Account Creation Procurement Search and Match Order Deliver Billing Auction Enterprise Service Bus Current Inventory Business Entity DB Email ESB Message Logs Enterprise Database Schematics Library EDS External data sources/consumers

  7. Enterprise Service Bus • Many kinds • IBM Websphere • BEA They provide a messaging backbone. Routing Enrichment PUB/SUB model

  8. Mediations & Enrichment & Pub/Sub • Mediations • Enrichment • Pub/Sub

  9. 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?

  10. Data Round Trip • 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 Search and Match Enterprise Service Bus Current Inventory

  11. Misconception and Truth Miss Hit 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 • …way to align IT and the businesses team(s) • ...is an application that has a web serviced interface • …is a set of technologies • ..is an off the shelf solution

  12. 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

  13. Manual Supports Automation • SOAPUI to test message • Manual test of message creation • SOAPUI to submit message to Receiver • Manual End to End • Automate all messages • Automate input screens • Automate message submission, validate in Receiver • Automate end to end

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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!!!!!

  19. 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

  20. Biggest Lesson of all • How to organize the development effort

  21. 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

  22. Q&A ?

  23. Ron McClintic 612-839-4947 Ron.mcclintic@engagepoint.com

More Related