quality - the key to successful soa
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