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.
Course Objectives:
Highlight foundational SOA concepts
Gain a realistic understanding of the various challenges and unique considerations that SOA brings into play for testing and quality assurance
Learn how to apply unit testing, integration testing, and customer acceptance testing to a service oriented enterprise
Explore the various types of artifacts introduced by SOA (WSDL, BPEL, SOAP, etc.) and the implications they have for testing
Gain hands-on experience using a SOA testing tool to test both services and business processes
Course Prerequisites
No specialized technical pre-requisites are required for this course; however a basic understanding of SOA and some knowledge in IT systems and distributed computing is expected.
Who Should Attend?
Quality assurance, application developers, and enterprise architects will all gain considerable value from this curriculum.
Course Outline
1. SOA Fundamentals
Objectives
Defining Service Oriented Architecture (SOA)
Putting SOA in Context
SOA As an Alignment Strategy
The SOA Umbrella
What’s a Service?
Service Actors
Serving Up SOA
Business Process Management
BPM & Workflow
SOA Governance
SOA Governance Model
SOA Job Role Impact
Services Please!
SOA Re-Organization
What Makes a Good Design?
Is This a New Concept?
Service Orienting the Enterprise
Service Oriented Thinking
SOA Is Perfect…NOT!
Service Characteristics
When Do I Need a Service?
About Services in SOA
Contract-Driven Software
SOA Standards
Summary
2. Introduction to Web Services
Objectives
A Conceptual Look at Services
Defining Services
Service Communication Analogy
Three Key Service Questions
Connecting the Dots
SOA: Runtime Implementation
What Is a Web Service?
Enterprise Assets as Services
Typical Development Workflow
Advantages of Web Services
Web Service Business Models
Example: Internal System Integration
Example: Business Process Externalization
Binding via SOAP
SOAP in Protocol Stack
SOAP Structure
SOAP Message Architecture
Applying SOAP
Interface via WSDL
WSDL Structure
Applying WSDL
Locating a Service
UDDI Overview
UDDI Terminology
UDDI Structure
Applying UDDI
WS-I Overview
WS-I Deliverables
Summary
3. Layers of Services
Objectives
What Is Layering?
SOA Layers
Data Storage Layer
Application Logic Layer
Adapter Layer
Application Service Layer
Business Service Layer
Orchestration Layer
Aux: Data Service Layer
Aux: Security Service Layer
Layering Concepts
Layering Rules of Thumb
In Review
Summary
4. Introduction to SOA Testing
Objectives
Introduction
The SOA Components to Test
Parts of a Test Framework
Layered Component Testing
Testing the SOA Layers
Phased Testing
SOA Testing Challenges 1/3
SOA Testing Challenges 2/3
SOA Testing Challenges 3/3
SOA Testing Opportunities
Summary
5. Unit Testing SOA Components
Objectives
Introduction
Verification Scenarios
Unit Testing a Web Service
Other Types of Services
Unit Testing Guidance
Unit Testing SOA Components
More Details: Testing Data Maps
Data Map Test Guidance
More Details: Business Process
Unit Testing Business Process
Business Process Test Guidance
Human Workflow
Unit Test Human Interface
Human Interface Test Guidance
White Box Testing
Summary
6. Integration Test
Objectives
What is Integration Testing?
Types of Integration Tests
The Governance Aspect
Component Ownership 1/2
Component Ownership 2/2
Integration Testing Strategies
Incremental Strategies
Top-down Integration
Bottom-up Integration
Umbrella / Critical Path Integration
Setting Up a Service Integration Test System
Setting Up a Process Integration Test System
Creating a Script To Test a Service
Running a Test Case for a Service
Creating a Business Process Test Script
Running a Test Case for a Process
Summary
7. Non-Functional Testing
Introduction
Performance Testing
Security Testing
Web Service Attacks 1/4
Web Service Attacks 2/4
Web Service Attacks 3/4
Web Service Attacks 4/4
Interoperability Testing
WS-Interoperability
Interoperability Testing a Service
Interoperability Testing a Business Process
Common Interoperability Issues
Process State Persistence Testing
Process Versioning Testing
Summary
8. Scenario
Objectives
Appendix A. Introduction to WebSphere Integration Developer (WID) v6