Service-Oriented Architecture (SOA) promises significant benefits to today's organizations. Successfully delivering SOA benefits, especially Business Agility and Component Reuse, will be dependant on the Test Approach that your organization adopts to implement your SOA.
SOA Test Methodology
Abstract
Service-OriAenbtesdt rAarcchtitecture (SOA) promises significant benefits to today's organizations. Successfully delivering SOA benefits, especially Business Agility and Component Reuse, will be dependant on the Test Approach that your organization adopts to implement your SOA.
This white paper will provide a comprehensive guidance on best practices for testing SOA Solutions. This document includes a review of the following topics that will need to be addressed to ensure a successful SOA implementation: lWhy more testing effort will be required at the service level and not at the system level
lWhy Security testing moves from an end of project activity to one that spans the entire project life cycle
lA SOA Test team will not only require a detailed technical understanding of your SOA, but they must be experts of domains within your business
l SOA Test Approach demands an appropriate tool strategy
www.thbs.com/soaTable of Contents1 INTRODUCTION 31.1 SERVICE-ORIENTED ARCHITECTURE OVERVIEW 41.1.1 What is SOA 41.1.2 SOA Benefits & Implementation Principles 41.1.3 Key Terms of Service-Oriented Architecture 51.1.4 Test Model 61.1.5 SOA Governance 72 SOA TEST METHODOLOGY 82.1 TRADITIONAL TEST APPROACH 82.1.1 Revised Test Approach for SOA 92.2 SOA TEST APPROACH 92.2.1 Purpose 92.2.2 How Do You Test SOA Architecture? 102.2.3 Governance Testing 112.2.4 Service-component-level Testing 112.2.5 Service-level Testing 122.2.6 Integration-level Testing 122.2.7 Process/Orchestration-level Testing 122.2.8 System-level Testing 132.2.9 Security Testing 132.3 DELIVERABLES BASED ON DISCIPLINES AND KEY DOCUMENTATION 132.3.1 Test Phases and Test Types 132.3.2 Functional Testing 142.3.3 Performance 142.3.4 Security 142.3.5 Interoperability 142.3.6 Backward Compatibility 152.3.7 Compliance 153 REGRESSION STRATEGY 164 SECURITY TESTING 165 USER ACCEPTANCE TESTING 176 RISK BASED TESTING 177 OFFSHORE ONSITE MODEL 188 TEST TOOLS AND USAGE 198.1 COMMERCIAL PRODUCTS 198.1.1 Green Hat GH Tester 198.1.2 Mercury 198.1.3 Parasoft SOAtest 198.1.4 AdventNet QEngine 198.1.5 Borland SilkPerfomer SOA edition 208.1.6 LISA WS - Testing 208.2 OPEN SOURCE PRODUCTS 208.2.1 SOAP UI 208.2.2 PushToTest TESTMAKER 209 CONCLUSION 20
22007 Torry Harris Business Solutions, All Rights Reserved1. Introduction
'To SOA or not to SOA' is not the question anymore. It is 'When to SOA?' With the maturity in SOA Implementations and realization of the associated benefits and challenges, increasingly Enterprises are including SOA Adoption in their Road Map.
Service-Oriented Architecture, or SOA, enables IT departments to make the transition from an application-centric view of the world to a process-centric view. Today, IT departments have the freedom to combine business services from multiple applications to deliver true end-to-end support for business processes. And, because the integration mechanism of SOA (usually Web Services) enables loosely coupled integration, IT departments can upgrade or change applications without impacting other applications.
Though SOA is being increasingly implemented both as green field (top down) and legacy modernization (bottom up), there is a clear lack of testing methodologies designed specifically for SOA applications. New approaches and methodologies are necessary to verify and validate applications based on SOA concepts.
Why is SOA testing different? The answer has many dimensions, but the bottom line is agility and flexibility. Yes, what makes SOA a very attractive, business friendly IT paradigm is the same reason why a different testing approach is required in SOA Implementations.
When it comes to testing SOA applications, one has to look beyond functionality and performance (load) testing. SOA testing requires testing of interfaces and services that might bring together diverse systems and platforms, along with other performance (latency) and security related aspects.
One of the other challenges to be tackled in SOA Testing is the availability of the environment with the dependent underlying services and/or applications. For instance, an SOA Implementation might bring together two or more autonomous internal applications/services when composing a business process. The availability of these internal applications/services becomes highly important durin... [download for more]