View
227
Download
0
Tags:
Embed Size (px)
Citation preview
SOA Testing
KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN SUNDARAMSOA 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
SOA Overview
4Confidential ©2007 Syntel, Inc.
SOA Evolution
5Confidential ©2007 Syntel, Inc.
SOA Future
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.
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
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.
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
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.
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.
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
SOA Testing – An End To End Approach
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
SOA Testing – Challenges
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
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
18Confidential ©2007 Syntel, Inc.
SOA Test Automation Approach
Traditional Testing Tools
GUI Testing Approach
In House Test Tools
Web Service Testing Tools
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
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
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
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.
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
24Confidential ©2007 Syntel, Inc.
Questions or Comments?
»Questions or Comments?