24
SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

  • View
    227

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

SOA Testing

KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAMSOA Testing Core Team - Logistics

Syntel Inc

Page 2: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

2Confidential ©2007 Syntel, Inc.

Agenda

SOA Overview

SOA Testing – An End to End Approach

SOA Testing Challenges

SOA Test Automation Approach

QA Session

Page 3: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

SOA Overview

Page 4: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

4Confidential ©2007 Syntel, Inc.

SOA Evolution

Page 5: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

5Confidential ©2007 Syntel, Inc.

SOA Future

Page 6: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

6Confidential ©2007 Syntel, Inc.

What is SOA?

Service-Oriented Architecture (SOA) is an architectural style.

Applications built using an SOA style deliver functionality as services that can be used or reused when building applications or integrating within the enterprise or trading partners.

SOA in other terms A service-oriented architecture is essentially a collection of services Services are based on heterogeneous technologies. Application functions are modularized and presented as services. A service is an implementation of a well-defined business functionality. Services are loosely coupled Service interface is independent of the implementation.

Page 7: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

7Confidential ©2007 Syntel, Inc.

SOA Conti..

Services are platform independent, self describing interfaces (XML) Messages are formally defined Services have quality of service characteristics defined in policies Services can be provided on any platform

ComposableComposable

InteroperableInteroperable

LooselyLooselyCoupledCoupled

Re-UsableRe-UsableSOASOASOASOA

Page 8: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

8Confidential ©2007 Syntel, Inc.

SOA – An OverviewIn layman terms,

Taking Stock of what you have

Breaking it apart

Putting it back together in better ways

In Business terms,

Break the business model into discrete business processes and functions

Identify the re-usable components that implement the business processes.

Identify the newer set of components that may be needed to implement

improvements

Mix-n-Match the new and old components to create new (or alter current)

processes to be more agile and flexible

Re-wire the components to build a loosely-coupled, flexible agile business

model and its corresponding implementation.

Page 9: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

9Confidential ©2007 Syntel, Inc.

NON SOA BASED FRAMEWORK

ScreenScrape

ScreenScrape

ScreenScrape

ScreenScrape

MessageQueue

MessageQueue

MessageQueue

DownloadFile

DownloadFile

DownloadFile

TransactionFile

TransactionFile

TransactionFile

ORB

ORB

CICS Gateway

CICS Gateway

APPC

APPCRPC

RPC

TransactionFile

Sockets

Sockets

Message

Message

Application

Application

Application

Application

Application

Application

Application

Application

Application

Application

Tightly integrated interfaces are difficult to change. The more interfaces the more complex the application:

interface logic may exceed business logic. In such circumstances, re-use becomes difficult and

impractical

Page 10: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

10Confidential ©2007 Syntel, Inc.

Enterprise Service Bus

An Enterprise Service Bus (ESB) is a flexible connectivity infrastructure for integrating applications and services.

An ESB powers your SOA by reducing the number, size, and complexity of interfaces.

Page 11: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

11Confidential ©2007 Syntel, Inc.

SOA and Webservices

SOA is not Webservices, but web services are the preferred standards-based way to realize SOA .

Web services are software systems designed to support interoperable machine-to-machine interaction over a network. This interoperability is gained through a set of XML-based open standards, such as WSDL, SOAP, and UDDI. These standards provide a common approach for defining, publishing, and using web services.

Interoperability is the most important principle of SOA. This can be realized through the use of web services, as one of the key benefits of web services is interoperability, which allows different distributed web services to run on a variety of software platforms and hardware architectures.

Page 12: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

12Confidential ©2007 Syntel, Inc.

Webservices basics

WSDL

Web Service(J2EE, PL/SQL,

.NET,C/C++,Legacy …)

Web Service(J2EE, PL/SQL,

.NET,C/C++,Legacy …)

Web ServiceClient

(J2EE, .NET,PL/SQL …)

Web ServiceClient

(J2EE, .NET,PL/SQL …)

Points to description

DescribesServiceFinds

Service

SOAP

Points to service

UDDI Registry

UDDI Registry

Page 13: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

SOA Testing – An End To End Approach

Page 14: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

14Confidential ©2007 Syntel, Inc.

SOA Testing – An End To End Approach

How SOA testing is different from testing of other applications

SOA implementations are a combination of web components, mid-tier components,

back-end and legacy systems

Unlike traditional testing approaches, SOA testing approach should encompass all

the aspects of business processes and also its integration framework

SOA Testing Strategy should not only focus on just the functionality or the front-end

clients but also on the integration layers

Following types of testing needs to be performed to ensure proper E2E testing

Functionality

Interoperability

Performance

Backward compatibility

Security

Page 15: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

SOA Testing – Challenges

Page 16: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

16Confidential ©2007 Syntel, Inc.

SOA Testing Challenges

Major Challenges:

No user interface for the services in SOA applications

Lack of visibility into loosely coupled business level services

Dependency on availability of any internal or external services that

offers a business function to perform E2E testing

SOA initiative has thrown complexities in the integration framework that requires

complete testing of business workflows across every heterogeneous technology

layer of the SOA at both system and component level. This poses a challenge on

testing methodologies.Test Coverage

Client level validation

Service level validation

Multiple message format

Page 17: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

17Confidential ©2007 Syntel, Inc.

SOA Testing Challenges

Test Automation

Client Simulators (Message simulation)

Service Simulators

Automatic test data creation

Choosing the right test automation tool

Maintaining pool of testing resources with SOA domain knowledge

Page 18: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

18Confidential ©2007 Syntel, Inc.

SOA Test Automation Approach

Traditional Testing Tools

GUI Testing Approach

In House Test Tools

Web Service Testing Tools

Page 19: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

19Confidential ©2007 Syntel, Inc.

SOA Test Automation Approach

Traditional Testing Tools Web Services SOAP requests needs to be generated manually or using a

supported third party vendor testing tool

Integrating traditional functionality testing tool and other such third party tool is not

feasible due to its nature and limitations

A mix of manual and automated process is an additional overhead

It’s a time consuming and expensive effort

Page 20: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

20Confidential ©2007 Syntel, Inc.

SOA Test Automation Approach

GUI Testing Approach

Web Service is UI less application.

GUI application should be developed

Web service interface changes demands often GUI changes

Web Services security testing that requires encrypted & singed data is not possible

Overall cost involved is very high for testing,development & maintenance efforts

Page 21: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

21Confidential ©2007 Syntel, Inc.

SOA Test Automation Approach

In House Test Tools Focus is drawn towards developing & maintaining the test tools than the actual

testing

In-house test tool itself need to undergo testing to ensure it is coded to the

specifications

Dependency on in-house tools will impact test schedules & quality of the deliverable

in demanding situations

Time Consuming and expensive approach

Page 22: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

22Confidential ©2007 Syntel, Inc.

SOA Test Automation Approach

Web Services Testing Tools Provides robust, reliable, scalable and interoperable solution

Best fit for UI less testing

Provides a solution for load testing

Test data generation for any WSDL version is possible and easily

maintainable.

Depending on existing legacy systems & back-end applications, web services test

tools can be tweaked by developing / modifying test scripts to provide an E2E

solution for backward compatibility

Unlike any other traditional testing tool, the cost involved is very minimal.

Page 23: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

23Confidential ©2007 Syntel, Inc.

SOA Testing Tools - Recommended

Technology Area Tools

Operating System Linux, UNIX(AIX), Solaris 9, Windows XP

Databases server Oracle, SQL Server, Sybase

Web Server Apache Web Server, IIS, IBM Http Server , IBM Tivoli

App Server BEA Weblogic 8.1, IBM Websphere Application Server 5.3, JBoss

Testing Tools Mercury tools-Quick Test Professional, Quality Center, Mercury LoadRunner, Rational Robot

Software Language Java J2EE

Design Tool Rational Rose

Data Modeling Tools ERWIN

HTML Editor Macromedia Dreamweaver

Automated Build Apache Ant 1.6.5

Version Management CVS, PVCS, MS VSS

Frameworks Struts, Service Oriented Architecture

Security Netegrity SiteMinder, Obelix, RSA Cleartrust

Page 24: SOA Testing KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAM SOA Testing Core Team - Logistics Syntel Inc

24Confidential ©2007 Syntel, Inc.

Questions or Comments?

»Questions or Comments?