SOA Testing

Workshop Overview

This course provides a brief introduction to the concept of testing Service Oriented Architecture (SOA) based applications. SOA testing introduces new challenges. This course starts with an overview of SOA fundamentals and then looks into what is involved in testing SOA applications. The course also looks into some of the popular SOA testing tools in the market and demonstrates features of one such tool (selected by customer) and provides hands-on exercises to re-enforce learning.

This course teaches the unique considerations for testing Service-Oriented Architectures (SOAs).

Service-Oriented Architectures are comprised of "loosely coupled software services to support the requirements of the business processes and software users. In an SOA environment, resources on a network are made available as independent services that can be accessed without knowledge of their underlying platform implementation." 1

Because of the focus on support of the business or organization, the emphasis in this course is placed on business-oriented black-box and gray-box testing, although other views of testing are also covered, such as integration and interoperability testing, security testing and performance testing.

You will start by learning the basics of SOAs and then learn how to create a testing strategy for your own SOA implementations. Then, you will learn effective processes and techniques for implementing detailed SOA tests.

Since SOAs may be deployed in a variety of environments, this course does not assume a particular environment or tool set. However, the testing techniques will address many of the most common types of SOA implementations and will show examples of some of the more popular SOA test tools.

This course is centered around a common case study which builds throughout the course

Who Will Attend

Test analysts
Test engineers
Software developers
Project managers
Test lab managers
QA analysts

Workshop Benefits

After the completion of the course, the participants would be able to:
Understand the Service-Oriented Architecture, its Principles and Benefits
Get a grip on the hyped topic of "SOA is not WebServices"
Understand WebServices, the most significant implementation model for SOA
Get a refresher on XML
Understand the differences between Traditional testing methods and the paradigms needed for testing WebServices
Understand the key characteristics of WebServices
Explore different aspects of WSDL
Explore different Test Strategies for SOA-based applications
SOA Testing and Open source Tools
Understand functional testing, compliance testing and load testing of WebServices
Identify bug-finding ideas in testing WebServices
Workshop Content

Module 1 (SOAA) - SOAs Explained (1.5 hrs.)

What is Service-oriented Architecture?
Why SOA?
SOA Principles
Basic SOA Terminology
Service Providers
Service Consumers
Service Repository
The SOA Reference Architecture
A Traditional Approach
The Five-Tier Approach
A Focus on Integration
Lifecycle Management
Service Contracts
Risks and Challenges of SOAs
SOA and Business Architecture
Varieties of SOA Implementations
The "Wrapping" of Legacy Systems
Case Study
Module 2 (SOAB) - Key Components of SOA Testing (1 hr.)

Testing Differences and Challenges
Testability (Lack of Access to GUI or Code)
Distributed Nature - Functionality that Spans Multiple Areas
The Testing of Composite Applications
Importance of Integration
Compliance Testing
Platform and Language Neutral
Dependencies on 3rd Party Web Services
Stakeholder Sharing of Web Services Ownership
Frequent Business and Application Changes
High Demands for Quality of Service (Service Levels)
Reuse of Existing Components and Systems
Looking at the Test Views
Phases of SOA Testing
Unit (Component) Testing
Data Maps
Business Processes
User Interfaces
Structural (White-box) Testing for SOA
Why Unit Testing Alone Isn’t Enough
Integration Testing
System Testing
User Acceptance Testing
Functional Testing
Top-down Test Design
Bottom-up Test Execution
End-to-end Business Process Testing
Regression Testing
Performance Testing
Integration and Interoperability Testing
The Differences Between Integration and Interoperability Testing
Security Testing
Compatibility Testing
Aligning SOA Testing with Development Activities
Case Study
Module 4 (SOAC) - Developing an SOA Testing Strategy (1.5 hrs.)

What Should be in a Test Strategy?
How to Design and Document a Test Strategy for Your SOA Implementation
Understanding the Uniqueness of Your Architecture
Types of Testing
Phases of Testing
Critical Success Factors
Case Study - Designing an SOA Test Strategy
Module 5 (SOAD) – Testing Web Services (2.5 hrs.)
SOAD –Testing Web Services and SOA
Why Web Services?
Web Service Architecture
Important Things to Understand About Web Services
Service Discovery
About UDDI
Types of Registries
WSIL - Web Services Inspection Language
What is WSDL?
Why Get Into the WSDL?
WSDL in Context
WSDL Document Structure
Main Structure of a WSDL Document
WSDL Details
WSDL Example
WSDL Operation Types
WSDL Bindings
SOAP Binding Example
RPC vs. Document Language Bindings
Document Example
RPC Example
Service Contracts
Service Contracts Elements
Operational Information
Service Contract Principles
Two Levels of Service Contracts in WSDL
WSDL Service-level Data Model
Reconciling Disparate Data Models
XML-Related Technologies for SOA
A Little More About XML…
SOAP Defined
XML Namespaces
XML Schemas
XML Schema Example
The “Payload”
Testing Payloads
Sample WSDL
Methods of Testing Web Services
Representative Web Services Test Tools
SoapUI Features
Web Services Inspection
Web Services Invocation
SOAP Monitoring
Web Services Message Validation
Web Services Functional Testing
Test Suite Generation
Sample Test Suite
Test Coverage Monitor
Create Test Report
Sample soapUI Report
Web Services Load Testing

Module 6 (SOAE) - Functional Testing of SOAs (2 hrs.)

What is Functional Testing?
The Role of Subject Matter Experts in Testing SOAs
Understanding the Business and Its Processes
Taking the Organizational View vs. an Application View
Tests Based on Business Scenarios - Example
Identifying the Business Processes to be Tested
A Tool For Prioritizing Processes
Dealing with Data
Defining Business Entities
A Closer Look at Test Data
Specification of Test Data
Example of Creating Test Data
Test Cases
Evaluating Test Data
Evaluating Test Data Using Tools
Maintaining Test Data
Restoring Test Data
Coordinating Process-Driven Testing
Working with BPEL and Business Integration (BI)
The Role of Use Cases
The Role of Requirements
Module 7 (SOAF) - Performance Testing of SOAs (1 hr.)

Stateless vs. Stateful Tests
Key Objectives for SOA Performance Testing
Testing Scalability
Testing Robustness
XML Parsing
Aggregation and Federation
Data Mitigation
What to Measure
Response Times
Markov Chains
A Basic Process for Performance Testing
Choosing the Right Test Cases
Knowing What to Test
Applying an Appropriate Tool
What to Look for in an SOA Performance Test Tool
Running the Right Volume of Tests and Data
How to Determine the Performance Profiles
Reaching the Right Conclusions
Understanding the Test Results and Taking the Right Actions
SOA Performance Testing at the Unit Level
Profiling the Unit
Unit Performance Testing Tools
Service Level Agreements
Sample Service Management Dashboard
Module 8 (SOAG) - Integration and Interoperability Testing of SOAs (1 hr.)

Where the Complexity is in SOA's
The Value of Early Integration Testing
Testing Integration and Interoperability at All Phases of Testing
Unit or Component
End-to-end Testing of SOAs
Testing Services
Testing Business Processes
Taking the Organizational View vs. an Application View
Eliminating Silos
Working in Cross-Functional Teams
The Role of Regression Testing for Integration
The Use of Simulations
Module 9 (SOAH) - Security Testing of SOAs (1 hr.)

The Security Concern
Basic Levels of SOA Security
Web Services Vulnerabilities
Generic Vulnerabilities
Open User Access
Cross-site Scripting
SQL Injection
Buffer Overflows
Web Services Vulnerabilities
Deeply Nested Nodes
Recursive Payloads
Schema Poisoning
Malware Traveling Over SOAP Messages
The Role of Scanning Tools and Other Security Tools
Testing SOAP Encryption
Steps to Securing an SOA
XML Encryption
XML Signature
WS-Security Standard
Other SOA Security Standards
Steps to SOA Security
What Can We Test?
How Can We Test Security?
A 5-Step Process
Two Golden Rules of Security Testing
Module 10 (SOAI) - Testing Services and Processes (2 hrs.)

Creating an SOA Testing Strategy
Creating an SOA Test Plan
Defining Business Processes
The Role of Use Cases
The Role of Requirements
Boiling it Down to Test Cases, Scripts and Procedures
Basing Test Scenarios on Business Processes
Designing Test Cases to Support Integrated Business Processes
Prioritizing Business and Test Scenarios
A Closer Look at Test Data
Coordinating Process-Driven Testing
Module 11 (SOAJ) - Testing Considerations for Specific Environments (1 hr.)

Web Services
Legacy and Composite Application
Commercial Applications (COTS)
Module 12 (SOAK) - SOA Test Performance & Evaluation (1.5 hrs.)

SOA Test Co-ordination and Management
How to Evaluate SOA Test Results
How to Know What is Important in SOA Test Results
Sample SOA Test Reports
Module 13 (SOAL) - SOA Test Tools (1.5 hrs.)

The Purposes and Benefits of SOA Test Tools
Major SOA Tools and Vendors
Itko - LISA
Parasoft - SOATest
Mindreef - SOAPScope
Greenhat Consulting - GH Tester
Borland - SilkPerformer SOA Edition
Junit - Open Source Tool for Unit Testing
Agitar - AgitarOne - Unit Testing
How the Tools Work
What to Look for in SOA Test Tools
Test-aware Interfaces
Message-Based Test Automation
Accurate Simulation of Application Behavior
Adaptability to Change
Ease of Use
Module 14 (SOAM) - Summary (15 mins.)

Key Course Concepts
Final Q&A

Checklists and Templates

Course notebook with slides images, worksheets, checklists, complete examples and supporting text
You will have the basic information needed to perform effective SOA testing in your organization.

Call : Vijay cell: 0-9440089341

Email : moc.snoitulosdnimartceps|yajiv#moc.snoitulosdnimartceps|yajiv

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License