Testing Service Oriented Architecture By Dries Vercauteren

Preview:

Citation preview

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?

Recommended