Modern SOA Testing. A Practitioners Guide to. July 2011



Similar documents
Develop and test faster by virtualizing constrained application components

Testing service-oriented architecture (SOA) applications and services. White paper

JBOSS ENTERPRISE SOA PLATFORM AND JBOSS ENTERPRISE DATA SERVICES PLATFORM VALUE PROPOSITION AND DIFFERENTIATION

Service Mediation. The Role of an Enterprise Service Bus in an SOA

Use service virtualization to remove testing bottlenecks

Ce document a été téléchargé depuis le site de Precilog. - Services de test SOA, - Intégration de solutions de test.

perspective Microservices A New Application Paradigm Abstract

Service Virtualization

SOA REFERENCE ARCHITECTURE: SERVICE TIER

<Insert Picture Here> Application Testing Suite Overview

Methods and tools for data and software integration Enterprise Service Bus

The webmethods ESB. The Foundation of your SOA. Jean-Michel Ghyoot, Principal Solution Architect, March 28, 2013

Service Virtualization:

A Guide Through the BPM Maze

WHITE PAPER. Enabling predictive analysis in service oriented BPM solutions.

Myths About Service-Oriented Architecture Demystifying SOA. producers can coexist, and still have no dependence on each other.

What You Need to Know About Transitioning to SOA

Modernizing enterprise application development with integrated change, build and release management.

Software as a Service (SaaS) Testing Challenges- An Indepth

CHAPTER 1 INTRODUCTION

Enterprise Application Designs In Relation to ERP and SOA

Federal Secure Cloud Testing as a Service - TaaS Center of Excellence (CoE) Robert L. Linton

SOA and SaaS - new challenges

The Future of Testing: How Service Virtualization Changes the Game in Testing Complex Applications

Hubspan White Paper: Beyond Traditional EDI

L Impatto della SOA sulle competenze e l organizzazione ICT di Fornitori e Clienti

Enterprise Service Bus Defined. Wikipedia says (07/19/06)

Sadržaj seminara: SOA Architecture. - SOA Business Challenges s: Billion Dollar Lock-In. - Integration Tools. - Point-to-Point Approach

A Quick Introduction to SOA

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

Sonata s Product Quality Assurance Services

The ESB and Microsoft BI

SOA : To Do or Not to Do

Pervasive Software + NetSuite = Seamless Cloud Business Processes

SOA + BPM = Agile Integrated Tax Systems. Hemant Sharma CTO, State and Local Government

E-Business Suite Oracle SOA Suite Integration Options

Data Virtualization Usage Patterns for Business Intelligence/ Data Warehouse Architectures

The Evolution of Load Testing. Why Gomez 360 o Web Load Testing Is a

Designing an Enterprise Application Framework for Service-Oriented Architecture 1

Table of Contents. 1 Executive Summary SOA Overview Technology Processes and Governance... 8

How service-oriented architecture (SOA) impacts your IT infrastructure

What is the NXTware Evolution Server Peter Marquez, Product Marketing ecube Systems

Presentation Outline. Key Business Imperatives Service Oriented Architecture Defined Oracle SOA Platform SOA Maturity/Adoption Model Demo Q&A

Business Intelligence and Service Oriented Architectures. An Oracle White Paper May 2007

Business Process Management In An Application Development Environment

BPM, EDA and SOA: How the Combination of these Technologies Facilitates Change. Dr. Neil Thomson, Head of Group Development, Microgen plc

White Paper. The Importance of Automating the End to End Pipeline for Continuous Delivery

IBM WebSphere ESB V6.0.1 Technical Product Overview

View Point. Developing a successful Point-of-Sale (POS) test automation strategy. Abstract. - Sujith George

INTEGRATING ESB / BPM / SOA / AJAX TECHNOLOGIES

IBM WebSphere application integration software: A faster way to respond to new business-driven opportunities.

Service-Oriented Integration: Managed File Transfer within an SOA (Service- Oriented Architecture)

Introduction to TIBCO MDM

Enterprise Reference Architecture

The Tester's Role in Continuous Integration

JOURNAL OF OBJECT TECHNOLOGY

Unlocking the Power of SOA with Business Process Modeling

SOA REFERENCE ARCHITECTURE: WEB TIER

CONTINUOUS INTEGRATION TESTING

whitepaper The Evolutionary Steps to Master Data Management

How To Build A Financial Messaging And Enterprise Service Bus (Esb)

Business Process Management Tampereen Teknillinen Yliopisto

SOA and Cloud in practice - An Example Case Study

Magic Quadrant for Intelligent Business Process Management Suites

Next-Generation ESB. Kevin Conner SOA Platform Architect, Red Hat Keith Babo JBoss ESB Project Lead, Red Hat. June 23rd, 2010

Building the Internet of Things Jim Green - CTO, Data & Analytics Business Group, Cisco Systems

Service-Oriented Architecture: Analysis, the Keys to Success!

FIMS, SOA and Media Applications How modern software systems can serve media businesses

Integration in Action using JBoss Middleware. Ashokraj Natarajan - Cognizant

A Comprehensive Solution for API Management

SOA Fundamentals For Java Developers. Alexander Ulanov, System Architect Odessa, 30 September 2008

<Insert Picture Here> Integrating your On-Premise Applications with Cloud Applications

Service Virtualization: Managing Change in a Service-Oriented Architecture

BEA AquaLogic Integrator Agile integration for the Enterprise Build, Connect, Re-use

An Oracle White Paper October Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus

SOA Planning Guide The Value Enablement Group, LLC. All rights reserved.

Service Oriented Architecture and the DBA Kathy Komer Aetna Inc. New England DB2 Users Group. Tuesday June 12 1:00-2:15

EII - ETL - EAI What, Why, and How!

Service Oriented Architecture

Bridge Development and Operations for faster delivery of applications

SOMA, RUP and RMC: the right combination for Service Oriented Architecture

The Worksoft Suite. Automated Business Process Discovery & Validation ENSURING THE SUCCESS OF DIGITAL BUSINESS. Worksoft Differentiators

Introduction to Service-Oriented Architecture for Business Analysts

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Spring 2011 Conference Sandanski, May 13th 15th 2011 Oracle SOA Suite 11g Rapid service integration and process automation with a no-coding approach

SOA Testing Services. Enabling Business Agility and Digital Transformation

IBM SmartCloud Application Performance and Monitoring. RTView for APM Webinar

Enterprise Manager 12c for Middleware

Service Virtualization andRecycling

Transcription:

A Practitioners Guide to Modern SOA Testing Gaurish Hattangadi Abstract Today s dynamic business needs are shaping the modern IT industry. Lower costs and faster time to market have propelled forward market-changing phenomenon like SOA, internet business models and cloud computing. Further, changes in business needs have led to changes in system architectures, from monolithic systems and slow batch processes to SOA and real-time processes. These have resulted in businesses asking a new set of questions to test managers, consultants and architects, like how does one test these modern SOA systems? This paper attempts to answer the questions surrounding modern SOA testing. July 2011 Infosys Whitepaper July 2011 1

SOA makes promises that include increased agility, larger application lifecycles, better Introduction complex integrated systems is not a simple task but takes a combination of sophisticated tools, customized methodologies and a lot of creative approaches to correctly implement, test and deliver the SOA systems. (TDM) and accelerated UI automation. It also includes enabling practices such as continuous integration testing and service virtualization. Testing teams need to test the systems at the service provider and the client end to ensure an error free execution of systems. Tests also based data provisioning system is a key factor that we shall examine later in this paper. Starting Our Journey With A Reality Check Many of us have been introduced to SOA via webinars, articles and books published by SOA vendors. The promises made by the SOA evangelists seem easy to achieve and are every CTO s dream. But it is during the implementation phase that reality surfaces. Each SOA promise is in reality an enormous challenge. Let us have a quick look at some of the common challenges we have come across, while implementing SOA, over the recent past: Figure 1: Typical SOA Implementation Challenges Testing processes that span across multiple systems create complex test data needs. Multi-layered complex architecture makes it tough to isolate defects. Agility Enabling faster change leads to increase in integration and regression testing. Heterogeneous technologies - Expensive to test, and manage a wide variety of systems SOA Implementation Challenges Integrated Systems - More points of failure result in more defects Managing people across geographies in disparate teams More Reusability - More problems in security and performance Some of the challenges SOA brings for the testing teams are that they have to learn new technologies, processes and new tools that are being used. Many testing teams often check if they can continue to use classical tools and processes in the new SOA environment. Once they begin SOA testing, they quickly realize that this can t be done. Let s look at some of the reasons and questions that lead to this realization: 2 Infosys White Paper

Modern Tool Requirements SOA has a unique architectural ecology. Can classical tools test non-ui components? Can these tools cope up with subscriptions to brokers? Can they interpret messages that across an ESB? SOA has its own set of unique protocols. Can the current automation tools handle protocols such as SOAP, WS-Security etc.? Can classical tools take you through a web of component invocations for defect isolation? Methodology Changes A new architecture brings the need for a new approach. Current black-box lifecycle processes and tools cannot cope with the sudden need for deep grey box testing. For example, we need to test the UI and the components behind it. SOA lifecycles are agile and iterative. This in turn increases the importance of automated regression testing. How does one enable continuous integration testing where manual testing is impossible and classical tools do not work? End To End Business Process Testing Can current tools handle orchestration of multiple tools that span across technologies? For example: UI automation, middleware testing, service testing and database querying. End-to-end process testing can create some complex TDM requirements that non-soa monolithic systems would not require. Restricted Access Systems Per - use SaaS systems can drive up the cost of regression testing. Some systems such as mainframes may not be easily available or accessible for testing. The SOA Testing Road Map (and Testing) and Deployment & Production Management. Most SOA vendors provide repositories and BPM/BAM systems that support deployment and production management phase. These phases are managed by dedicated SOA teams and are not focus areas for testers. CIT and SIT, which occur at the design, development and testing phase of the SOA lifecycle, hold a lot of interest for SOA Testers. The diagram below is an illustration of the different phases of the Core SOA Solution: Figure 2: Different Phases of the Core SOA Solution Core SOA Solution BPM BAM help in process monitoring and optimization etc Requirements Management SOA Testing Tools Focus On Development Veri ation! Manage SOA Lifecycle Design and Develop Focus Areas Repositories centrally manage process models and services Deploy SOA Testing Tools are managed through testing methodology BPM, BAM, Repository Usage And Testing Methodology are all orchestrated by Governance! Infosys White Paper 3

Let s take a closer look at the Design and Develop phase to understand what it takes to implement SOA Testing correctly. Initial Steps of the SOA Testing Process SOA Testing focuses on three system layers: 1 Services Layer 2 Process Layers 3 Service Consumers Includes services exposed by systems which are derived from business functions. Contain implementation aspects of business processes. They mostly exist as composite services, choreographies and process models (orchestrations). These processes might also be embedded in user interfaces, ETL tools or domain models. We would focus on processes that are implemented in user interfaces and process layers. These can be other services or user interface components. Next, we validate the processes implemented within the process layers (this is synonymous with integration testing for providers). The subsequent step is to test service consumers. UI automation is a possibility and is encouraged for improved regression testing. Service consumer testing ensures that the entire system stack works as expected. SOA brings with it huge regression needs, because of which the tests are rolled into regression suites, to shield them from breaking changes. This process changes slightly for systems with no separate process tiers. In such cases, processes are embedded inside the user interfaces and domain models. The key in such cases is to test services and then automate consumer testing for validating processes and the system stack. This approach is shown in Figure 3 below: Figure 3: SOA Testing The Four Step Approach 4 Infosys White Paper

Challenges in SOA Testing Processes Implementation SOA testing processes are hard to implement because of the need for complex supporting work streams. For example, regression tests can only run correctly if systems exposing services have the right data. The capabilities of test data traceability and based data provisioning are key prerequisites for running regression suites. Another suitable example is the process for accelerating UI automation. Many processes here have repetitive steps (e.g. login or logout) that require a lot of effort. When you repeat these steps across test cases then changing them in an agile SOA environment can be quite challenging. Another challenge in the process is the need to test services that have per-use costs or inaccessible systems. Let us look at some aspects of supporting processes below: 1. Providing based data provisioning and catering to data integrity, data volatility, federated data integrity and data masking: The practitioner s answers lie in TDM solutions or in Systems Virtualization. 2. Accelerating UI Automation: Select tools or develop frameworks that generate UI automation scripts and centralize repetitive activities. An example here would be the Test Automation Accelerator (ITAA) from Infosys. 3. Access Constrained Systems: Use service virtualization to alleviate services that have per use costs or are not available for testing. 4. Continuous Integration Testing Mandates: Use testing tools that are capable of monitoring changes in your repositories. They must run regression suites to avoid breaking changes. Execute regression suites on all major build and releases for effective test coverage. Below we cover some other aspects of the SOA Testing processes: 1. Security Mandates: Use security testing tools with a matching process that focuses on grey box and black box testing. Remember to use penetration testing tools and look for common roadblocks such as injection (script) and denial of service. In some application architectures, testing services for security is vital in order to check the weak links in the security chain. 2. Performance: Services and process models can be obstacles to performance. Sometimes even patches to underlying infrastructure such as ESBs can affect performance. Other likely performance bottlenecks include services that transform data (especially outside transformation containers) and services that are synchronously invoked from consuming applications (especially where performance needs are critical enough to bypass ESBs). 3. Ensuring Compliance to Governance Mandates: Governance mandates include ensuring compliance to policies such as these needs and utilize your ESB/repository vendor s product stack completely. Your SOA testing tool might support these needs as well. The SOA Test Automation Process essentially agile and the ever-changing SOA world. Your choice of tools will be determined by your needs. These needs vary from simple open source tools to bleeding edge commercial stacks. Your approach however will almost always be the same and is shown in the illustration (Figure 4): Infosys White Paper 5

Figure 4 is a view of test automation for SOA (excluding TDM, end-to-end testing with UI automation, etc) and targets very generic SOA systems. The main steps here are: 1. Testers use an automation tool to invoke services or to publish and subscribe to a broker. Services can be REST/POX/ JSON/SOAP exposed over multiple transport protocols like HTTP, FTP, and JMS etc. Brokering is mostly provided by ESB s such as from IBM, TIBCO etc. 2. script (Java). Validation rules can range from plain arithmetic (<. >. =) to customized complex Java. 3. Testers have a variety of options for parameterization. 4. Test Cases are rolled into regression suites. 5. Suites can be executed on schedule or triggered to execute on changes to repository. 6. NFRs can play a major role as most testing tools allow functional tests to be rolled into performance suites. Some tools also include security testing features. 6 Infosys White Paper

Have We Overcome all Challenges? Now that we have discussed the processes and the automation approach to SOA testing, we can now and see if we have indeed looked at solutions to all the challenges discussed at the start of the paper. Let s look at our initial diagram (Figure 1: Typical SOA Implementation Challenges ) and populate it with answers instead of the questions/ challenges. Figure 5: SOA Testing Answers Tools like HP s TDM and IBM s Optim can overcome the challenges of TDM needs in SOA SOA Automation tools test all components in a multi-layered architecture and some also include defect tracing capabilities Good SOA Automation tools when correctly leveraged drastically reduce regression testing costs Good SOA Tools and methodology adapt to diverse systems ecology. The SOA Testing Answers Modern tools aid service testing and also help in defect isolation. Virtualization, strong methodologies and governance ease implementation roadblocks Most SOA testing tools and mature methodologies address NFRs CConclusion SOA testing has led to improved testing approaches and a new generation of specialized tools. SOA testers need to now learn larger processes, tools and expand their skill sets to encompass a wider range of practices. These include UI automation, TDM, service virtualization, security and performance. Success in SOA implementations will come to QA organizations that leverage expertise in selecting the right tools and supporting processes. This move will ensure that the next generation of systems will deliver on the promises that meet the business user s expectations. About the Author Gaurish Hattangadi, Test Consultant, Infosys Limited. Gaurish s focus areas include SOA testing and enterprise architecture. He can be reached at Gaurish_Hattangadi@infosys.com. Infosys White Paper 7