quality - the key to successful soa

Post on 04-Jul-2015

782 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Quality - The Key to Successful SOA

by

Charitha KankanamgeSenior Technical Lead, Manager QA

WSO2

Agenda

● SOA – Quick look

● Importance of quality in SOA

● Traditional software testing● SOA testing

● Challenges in SOA testing

● SOA testing in practice

● Open source SOA testing tools

● Summary

Glance at SOA

A Service Oriented Architecture is a set of components which can be invoked and whose interface descriptions can be published and discovered.

Glance at SOA

Building blocks of SOA

Glance at SOA

Common Principles of SOA

● Services are reusable

Glance at SOA

Common Principles of SOA

● Services are loosely-coupled

Importance of Quality in SOA

Importance of Quality in SOA

Traditional QA Lead

Importance of Quality in SOA

Importance of Quality in SOA

Importance of Quality in SOA

➢ Reusable components

Importance of Quality in SOA

➢ Business flexibility

Importance of Quality in SOA

➢ Higher level of integrations and diverse technologies

Traditional Software Testing

Traditional Software Testing

• Test execution starts when an end-to-end solution is ready

• Higher UI interaction

• UI oriented test automation

• Too much focus on black-box testing

SOA Testing

SOA Testing

• Component based testing

• Bottom-up test execution

• Collaborative testing methodology

• Early involvement in testing

• Interop testing

• System Testing (End-to-End)

SOA Testing

• Test automation

➢ Unit ➢ Integration➢ End-to-End

• Continuous integration

• Performance testing

SOA Testing – Planning and Design

• Study business requirements

• Identify components

• Identify service consumers

• Identify Message Exchange Patterns (MEPs)

• Identify testing techniques

• Set scope

SOA Testing Challenges

• Complex standards and specifications

• Message oriented tests

• Headless applications

• Defect isolation

• Complex test environments due to higher level of integrations

• Heterogeneous platforms

• Cloud complexities

SOA Testing in Practice

SOA Testing in Practice

Component Level Testing – Web Services

• Understand WSDL

• Mock services based testing

• Service level performance testing

Component Level Testing – Web Services - Demo

Component Level Testing – Web Services - Demo

Component Level Testing – Web Services - Demo

Component Level Testing – Web Services - Demo

Component Level Testing – Web Services - Demo

Component Level Testing – Web Services - Demo

Component Level Testing – Web Services - Demo

Web Services Testing with Quality of Services (QoS)

• Service access is restricted using various policies (security, throttling)

• WS-RM

Testing associated with Broker (ESB)

• Message routing

• Transformations

• Split/Aggregate messages

Testing associated with ESB - Demo

Testing associated with ESB - Demo

Open Source Tools for SOA Testing – SOAPUI

• Ease-of-use

• Can be used for both functional and performance testing

• WS-* support

• Service simulation

Open Source Tools for SOA Testing – JMeter

• SOAP/XML-RPC or WebService Samplers can be used

• Can be used for both functional and performance testing

• Data driven testing

Open Source Tools for SOA Testing – JMeter

Open Source Tools for SOA Testing – JMeter

Open Source Tools for SOA Testing – JMeter

Q&A

top related