Title: SOA Testing
1SOA Testing
KHAIS KHAN / SATHEESH KUMAR / PRABHAKARAN
SUNDARAM SOA Testing Core Team - Logistics Syntel
Inc
2Agenda
- SOA Overview
- SOA Testing An End to End Approach
- SOA Testing Challenges
- SOA Test Automation Approach
- QA Session
3SOA Overview
4SOA Evolution
5SOA Future
6What 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.
7SOA 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
Composable
Interoperable
Re-Usable
SOA
LooselyCoupled
8SOA An Overview
- In 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.
9NON SOA BASED FRAMEWORK
- 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
10Enterprise 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.
11SOA 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.
12Webservices basics
WSDL
Points to description
UDDI Registry
Points to service
Describes Service
Finds Service
Web Service (J2EE, PL/SQL,.NET,C/C,Legacy )
Web Service Client (J2EE, .NET,PL/SQL )
SOAP
13SOA Testing An End To End Approach
14SOA 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
15SOA Testing Challenges
16SOA 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
17SOA 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
18SOA Test Automation Approach
Traditional Testing Tools
GUI Testing Approach
In House Test Tools
Web Service Testing Tools
19SOA 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 - Its a time consuming and expensive effort
20SOA 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
21SOA 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
22SOA 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.
23SOA 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
24Questions or Comments?