Testing SOA Applications and Services Rajesh Nayak, Solution Specialist © 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Agenda Testing challenges with SOA SOA testing solution Products functionality walkthrough The business is driving SOA Service Oriented Architecture is promising but risky SOA promise SOA risk Business agility Business disruption Business process flexibility Faster time to market Lower implementation and maintenance cost Inability to change the implementation No reusable services Duplication of implementation effort “SOA necessitates new processes, ranging from governance, through development, to operations.” Gartner, Positions 2005: Service-Oriented Architecture Adds Flexibility to Business Processes SOA Language WSDL - Web Services Description Language SOAP - Simple Object Access Protocol UDDI - Universal Description Discovery and Integration Traditional QA APPLICATIONS LEGACY Business Require ments C/S Test Plan Quality Center ERP/CRM WEB Test Cases WinRunner QuickTest Pro LoadRunner for Performance Testing Defect Manag ement SOA QA APPLICATIONS QA LEGACY SERVICES Business Requirements Test Plan ERP CRM Test Cases Enterprise Services FINANCE Limited Visibility Defect Management SOA Abstraction Layer INCOMPLETE INCOMPLETE INCOMPLETE INCOMPLETE QA Limited Visibility SOA Testing Management Small Number of Services Increases the SOA Testing Complexity 2 1 2 1 6 2 7 3 1 Service 8 1 6 2 7 1 6 3 8 2 7 4 9 3 8 5 10 4 9 5 10 1 6 2 7 3 8 Operation Operation Operation 6 Operation Operation 8 Operation 6 Operation 8 4 Operation Operation 6 Operation 8 4 Operation 2 4 Operation 2 Operation Service Operation Operation 2 10 Operation 5 5 Operation Operation 10 Operation Service Operation 1 Operation 6 Operation 10 3 Operation 2 1 Operation 8 Operation Operation 3 Operation 9 4 Operation Operation Operation 3 Operation 9 6 5 Operation Operation Operation 2 8 Operation Operation 5 Operation 7 4 9 Operation Operation Operation 6 Service Operation 5 Operation Operation 7 8 10 2 10 7 1 4 Operation Operation Operation Service Operation 2 3 10 1 1 Operation Operation Operation 9 Operation Service Operation 10 Operation 5 3 Operation 7 1 Operation Operation Operation 6 Operation 9 7 Operation 8 3 5 Operation Operation 4 Operation Operation Operation Operation Operation Operation 7 9 6 Operation 6 Operation 8 2 5 Operation Operation 6 Operation Operation 8 8 Operation 4 Service Operation 4 Operation 4 7 Operation Operation 10 3 1 2 2 Operation 2 Operation Operation Operation Service Operation 3 Operation Service Operation Operation 10 1 10 6 6 Operation 10 9 1 Operation 9 Operation Operation 5 Operation 3 3 Operation 3 Operation 7 Operation Operation 9 Operation 9 Operation 9 5 Operation 5 Operation 5 Operation 7 7 7 1 2 4 5 8 6 7 3 6 7 8 4 9 5 10 3 4 5 6 7 8 9 10 1 1 2 3 4 5 1 6 1 9 2 10 6 9 2 7 8 6 3 8 4 2 9 4 9 1 2 7 5 5 3 10 8 1 4 9 5 10 2 3 4 5 10 6 1 2 7 1 6 2 7 3 8 4 9 5 10 8 9 1 6 2 7 3 10 3 1 3 4 5 6 8 9 6 1 10 2 10 7 3 1 2 4 5 8 6 7 1 6 2 7 3 8 4 9 5 10 7 5 4 2 9 8 2 7 5 3 10 8 9 3 8 4 9 7 1 8 4 9 5 10 4 10 5 1 3 8 2 7 4 9 3 8 5 10 4 9 1 5 10 2 1 6 1 6 2 7 2 7 1 3 8 3 8 4 9 4 5 5 10 2 7 2 7 3 8 3 8 1 4 9 2 5 10 3 1 86 9 4 2 9 10 5 3 10 8 7 1 3 8 4 9 5 10 10 6 2 7 3 6 8 4 7 10 3 8 4 9 5 6 6 6 10 1 1 9 5 6 2 9 2 6 7 2 5 1 1 1 4 7 10 6 2 3 2 4 5 6 7 7 3 8 5 7 3 8 4 5 6 7 2 7 3 8 4 9 5 10 9 2 7 5 3 10 8 9 3 8 10 4 1 6 2 7 3 8 9 4 9 5 10 1 6 2 7 4 5 10 6 2 7 3 8 4 9 5 10 7 3 10 1 9 10 4 2 9 4 2 6 5 10 6 8 6 9 4 1 3 1 9 86 6 3 6 4 3 1 1 6 7 8 7 6 6 7 8 1 1 6 2 7 3 8 4 9 5 10 8 9 9 1 6 5 10 2 7 1 6 3 8 2 7 4 9 3 8 5 10 4 9 5 10 10 1 6 2 7 1 6 2 7 3 8 4 9 5 10 9 7 5 4 10 1 6 3 8 What will happen when changes are introduced? 10 services 10 the webnumber operations x 10 test data points What willx be of test permutations? How will the users know what to test? = 1,000 test permutations 3 1 86 4 2 9 5 5 3 10 8 4 1 5 6 2 7 1 3 8 2 4 9 3 5 10 4 9 5 10 1 6 2 7 3 8 1 6 2 7 3 8 6 6 1 1 Service 4 2 2 7 3 8 4 5 6 7 3 7 8 4 9 5 10 8 9 8 6 4 2 9 4 5 1 4 9 5 10 2 7 6 8 3 8 4 5 8 6 2 7 3 8 7 4 9 9 8 5 10 1 9 2 10 10 4 5 9 10 1 6 2 7 3 8 4 5 6 7 1 6 2 7 3 8 4 9 5 10 5 10 6 2 7 1 8 2 9 3 10 4 8 9 4 5 10 6 7 1 8 2 9 10 3 6 7 8 1 4 6 2 5 7 3 1 4 4 9 2 5 10 3 1 5 8 6 7 5 6 18 6 4 29 7 1 6 3 1 8 6 5 310 8 2 7 4 2 9 4 9 3 8 5 3 10 8 5 10 4 9 4 9 5 10 5 10 7 8 9 10 6 4 2 2 7 5 3 10 8 4 9 5 10 2 7 8 4 9 4 9 5 10 5 10 1 6 2 7 3 4 5 6 2 7 3 8 8 4 9 7 9 5 10 8 10 4 9 5 10 2 7 3 8 4 9 5 10 1 6 2 7 3 8 4 9 8 6 5 1 6 9 10 5 10 6 2 7 3 8 1 2 7 2 3 8 3 1 86 4 9 4 2 9 5 10 5 3 10 8 5 4 5 7 3 8 4 9 5 10 7 1 4 6 2 10 6 1 1 9 1 6 2 7 31 1 7 3 1 7 5 10 4 6 4 42 3 1 2 9 1 7 6 7 3 8 6 9 1 2 9 8 6 9 3 3 9 1 10 10 4 10 5 2 3 5 7 3 4 2 1 7 4 5 3 10 8 2 4 10 6 1 3 7 3 1 9 6 2 3 2 7 5 3 10 8 6 1 10 3 1 6 9 7 1 1 9 3 2 6 5 2 1 10 5 2 10 9 4 1 4 7 6 7 1 86 2 97 3 5 3 10 8 4 5 4 1 2 3 4 5 6 7 8 9 1 6 6 2 7 7 31 86 8 42 97 9 5 3 10 8 10 9 10 5 4 9 5 10 1 6 2 7 3 8 10 1 6 2 7 3 8 9 10 4 9 5 10 7 1 6 2 7 3 8 4 9 9 10 5 1 6 2 7 3 8 10 4 9 5 10 4 9 5 10 SOA Quality Challenges SOA Quality Management Huge amount of services and systems Test services stand-alone and as shared entities Variety of testing aspects Initial and regression testing Structure of quality process Visibility into progress and quality status SOA Ecosystem Integration SOA governance systems • Service assets • Change • Policy management SOA runtime and execution engines • Toolkits • Application servers and ESBs Diagnostics and monitors SOA Testing Holistic coverage of all service aspects GUI-less testing Complex service orchestrations Multiple transports and protocols support Testing incomplete environments Constantly emerging technologies SOA Testing Products Control the Risk of Delivering Services HP Quality Center Dashboard Quality Center with Service Test management Manage the quality for individual and composite services Service Test Automated functional and regression testing via WSDL introspection LoadRunner SOA Performance assurance of individual services and full composite apps LoadRunner SOA Diagnostics SOA Application monitoring, problem isolation with tracing, and root cause analysis HP’s SOA Testing Solution Service Test module for QC SOAManagement Quality •System data) SOA metadata description (architecture, topology, business processes & Management •SOA aspects to test and methodology •Requirements coverage and traceability •Manage application change lifecycle SOA Ecosystem Ecosystem Integration SOA Integration • • • • SOA management Connectivity to UDDI v2-3 and Systinet’s registries/repositories Certification and connectivity with leading Application Servers and ESBs HP monitoring and diagnostics HP Business Availability Center support for SOA Runtime information HP Service / LoadRunner SOATest Testing Integration with Quality Center • Multiple testing aspects in a single technology: • Functional (positive and negative/boundary) • Load and performance • Interoperability, Standards compliance, Security • SOAP, JMS and many other protocols support • Java (Axis) and .NET toolkits usage • Async testing and WS-Addressing support • Client and server-side recording • Service emulation HP’s Integrated SOA Testing 1 Systinet SOA Governance 0 1 0 1 1 0 0 1 Quality Center with Service Test Management 2 FINANCE APPLICATION Test Management QuickTest Pro 4 UI UI LoadRunner C/S LEGACY ServiceTest 3 SOA Shared Services LoadRunner API ERP/CRM WEB Enterprise Services SOA Abstraction Layer Web Services EIS RMI API Custom App Legacy API Mainframe Logic Web Services Third party Summary SOA quality is more than just testing the service ! HP has the only comprehensive solution in the market that will: • Test the service with HP Service Test and LoadRunner • Manage SOA testing quality with HP Service Test Management • Integrate with the SOA ecosystem with HP SOA lifecycle SOA testing solutions are based on the Mercury products leveraging existing assets and knowledge soa.india@hp.com