testing service oriented architecture by dries vercauteren
TRANSCRIPT
Testing Service Oriented Architecture
By Dries Vercauteren
Agenda
• Introduction>Definition>Example>Why do companies choose for SOA?
• Challenges for Testing SOA• How to tackle these challenges?
>TMap Next
• Conclusion
Introduction - Defenition
• What is SOA?>“Service-oriented architecture (SOA) is a
strategy that implements business functions by orchestrating reusable business services.”
>Example: Weather Service
Introduction - Example
SOA Example: Weather Service
GetWeather Service
Introduction – Example
SOA Example: Weather Site
GetWeather Service
Stock Application
(Store)WebsiteTravel agency
Introduction - Defenition
• What is SOA?>“Service-oriented architecture (SOA) is a
strategy that implements business functions by orchestrating reusable business services.”
>Modular Programming/Object Oriented/Component Based Development/…
>Is SOA different?
Introduction
• Why do companies choose for SOA?>Benefits for the business
• Flexibility• Cost reduction• Agility• Quicker to the market
>Technical benefits• Loose coupling• Platform independent• Use of standards (SOAP,Rest,SCA,...)
– BP more transparant
Challenges for testing (1)
• Complexity >Communication between services>Communication with different
teams/different locations>No user interface
Business ProcesBusiness Processes
Application
Application
Application
Service
ServiceServiceFront End
Application
Service
Vendor (Poland)
Team A
Team B
Challenges for testing (2)
• Complexity >Do you need to test everything?
• Vendors• Reused services
>A lot of changes>High frequency of changes
Business ProcesBusiness Processes
Application
Application
Application
Service
ServiceServiceFront End
Application
Service
Version 1.02
Version 13.2
Version 2.0
Version 1.42
Challenges for testing (3)
• Performance>Service level>Business processes level>Often forgotten
Business ProcesBusiness Processes
Application
Application
Application
Service
ServiceServiceFront End
Application
Service
Challenges for testing (4)
• Security>Business processes level>Service level>Often forgotten
ProcessPaymen
tCardValidati
on (VISA)
Challenges for testing (5)
• Reliability>Chain of services need a very high
availability• (0.93^4 = 0.75)• (0.93^10 = 0.5)
Business ProcesBusiness Processes
93% 93%
93%
Application
Application
Application
Service
ServiceServiceFront End
Application
Service
93%
75 %
Challenges for testing (6)
• Documentation> Who owns> Who consumes> Input/output> Description
Business ProcesBusiness Processes
Application
Application
Application
Service
ServiceServiceFront End
Application
Service
Challenges for testing (7)
• Planning>Dependency>Align with development
Business ProcesBusiness Processes
Application
Application
Application
Service
ServiceServiceFront End
Application
Service
23/05/200801/08/2008
01/09/2008
How to tackle these challenges?
• TMap Next• 4 essentials:
>BDTM>Structured Test
Process>Complete Toolbox>Adaptive
First essential: BDTM
Characteristic/Object Part Risk Class
Develop Test
Service Test
System Test
Acceptance Test
Functionality
- CreditCheckSer
vice High * ***
- GetCustDetailS
ervice Medium * **
- Business Service ** *
Performance
- Batch Low *
- Online High ** ***
Security
- CreditCheckSer
vice High * ** * *
Characteristic/Object Part
Risk Class
Develop Test
Service Test
System Test
Acceptance Test
Functionality
- CreditCheckSer
vice High * ***
- GetCustDetailS
ervice Medium * **
- Business Service ** *
Performance
- Batch Low *
- Online High ** ***
Security
- CreditCheckSer
vice High * ** * *
Characteristic/Object Part
Risk Class
Develop Test
Service Test
System Test
Acceptance Test
Functionality
- CreditCheckSer
vice High * ***
- GetCustDetailS
ervice Medium * **
- Business Service ** *
Performance
- Batch Low *
- Online High ** ***
Security
- CreditCheckSer
vice High * ** * *
First essential: BDTM
• BDTM>Product risk
analysis>SOA Quality
Characteristics
Test execution
Creating test cases
Test basis
5Assign test techniques
4
3
Determine light/thorough testing
2Determine risk
class
ClientClient
1
Formulate assignment and collect test goals
First essential: BDTM
• Product Risk Analysis>Complex task!>Organsation and client are responsible>Who participates in product risk
analysis?• Client, Senior user, Developer, Project manager, …
>Some typical product risks• Defective cluster of services• Internet• External use• Not using the standards
First essential: BDTM
• SOA Quality Characteristics>Reusability>Backwards compatibility>Integration>Interoperability
First essential: BDTM
• SOA Quality Characteristics>Security
Performance• per service• per business process
Service Service Service Service
Business Processesc
ProcessPaymen
tCardValidati
on (VISA)
First essential: BDTM
• Advantages of BDTM>Total test effort is related to the risks
• You can’t test everything
>Client is involved. Test process matches the needs and requirements of the organization
>“Service-oriented architecture (SOA) is a strategy that implements business functions by orchestrating reusable business services.”=> Business Driven
Second essential: Structured Test Process
• Testing Life Cycle per Service Plan Prep Spec Exec Comp
Infra
Planning
Control
Setting up and maintaining infrastructure
Preparation Specification Execution Completion
Ctrl
Plan Prep Spec Exec Comp
Infra
Planning
Control
Setting up and maintaining infrastructure
Preparation Specification Execution Completion
Ctrl
• Resulting in many short test cycles
Third essential: Complete Toolbox
• Business Processes>Conventional tools
• Services>SOA-tools>Isolation
Service Service Service Service
Business Processesc
Third essential: Complete Toolbox
• Test Automation>SOA Test Tool
• Advantages of Test Automation>Quicker to the market by automated
regression tests>SOA stimulates the reuse of services
• Reuse automated tests
>Business processes can change fast• gain time by automating the regression test
>Backwards compability tests can be automated
Third essential: Complete Toolbox
• Vendors
SOATest
SOAP UI
Rational Tester for SOA Quality
- HP Service Test
- HP QuickTest
GH Tester
- Silk Test
- Silk Performer SOA Edition
TesterMaker
Third pijler: Complete Toolbox
• SOA Governance>Tools to support the SOA governance!
• (more then 50 services)
>Visualisation
Third essential: Complete Toolbox
• SOA Governance>Service Registry
• Service description (logic, quality, delevery conditions)
• Ownership• Consumers
• Metrics and templates• Defect management flows
Fourth essential: Adaptive methode
• In all previous essentials• Ex:
Conclusion
• Is SOA Testing different from traditional software testing?>YES
• No User interface• Services in a chain• Governance is extremely important
>NO• TMAP Next• Same structured test process
=> Be adaptive
References
Questions?