SlideShare a Scribd company logo
Quality - The Key to
Successful SOA


by
Charitha Kankanamge
Senior 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

More Related Content

Quality - The key to successful SOA