SlideShare a Scribd company logo
1 of 22
A Business Protocol Unit Testing
Framework for Web Service Composition
Jian Yu, Jun Han, Steven Gunarso, Steve Versteeg
Faculty of ICT
Swinburne University of Technology
Melbourne, Victoria, Australia
 Background and research issues
 Contribution overview
 The PROPOLS protocol specification language
 The unit testing approach and the framework
 Conclusion
Agenda
2 - CAISE 2013 @ Valencia, Spain
Web of Pages
- text, manually created links
- extensive navigation
2007
1997
Web of Resources
- dynamically generated pages
- data, services, mashups
- web query interfaces
Web of People
- social networks, user-created casual
content
- Facebook, Renren, Linkedin....
Web of Things
2009 - physical objects connect and
interact over the Internet
- RFID, 2D barcode, sensors, SOA
- Smart cities/homes, object
tracking/recalling, environment
monitoring….
The Evolution of the Web
3 - CAISE 2013 @ Valencia, Spain
Web services
4 - CAISE 2013 @ Valencia, Spain
Service Service
WSDL/SOAP/HTTP
Service
BPEL process
(encapsulated as a
service)
 Unit: the smallest testable parts of a software system
 A unit needs to have clearly defined interface
 Testing is conducted around the interface
Unit testing
5 - CAISE 2013 @ Valencia, Spain
http://sourcemaking.com/refactoring/extract-interface
Business protocol as part of the interface
6 - CAISE 2013 @ Valencia, Spain
Customer Manufacturer (PUT) Bank
Place Order Check Order
Confirm Order
Reject Orderxor
Deposit Payment
Notify Payment Arrival
Process OrderNotify Order
Fulfilled
Login (max 3 tries)
Notify Payment
Order Received
 How to facilitate the testing of business protocols between
units (Web services)?
 Primitive approach: hard code the protocol in programs: rigid,
time-consuming, error-prone
Research issue
7 - CAISE 2013 @ Valencia, Spain
PUT: Process-Under-Test
 How to test a service unit if
its partner services are not
available?
 Declarative specification of protocol interface between
services, and a framework to support the unit testing of
defined protocol interface
Contribution overview
8 - CAISE 2013 @ Valencia, Spain
 PROPOLS: Property Specification Pattern Ontology
Language for Service Composition
 A light-weight, declarative, temporal and causal dependency
specification language
 Based on Dwyer et al’s Property Specification Patterns (PSP)
 has a FSA-based semantics
 Encoded in Web Ontology Language
The protocol interface specification language:
PROPOLS
9 - CAISE 2013 @ Valencia, Spain
PROPOLS basic expressions
pattern scope
10 - CAISE 2013 @ Valencia, Spain
Scenario & PROPOLS Examples
Order
Validate
Confirm
Cancel
xor
Deposit
Deposited
Process
Fulfilled
Pay
Paid
Hard Credit Rule
1. The received order must be validated:
Manufacturer.ReceiveOrder
Leads to
Manufacturer.ValidateOrder Globally
2. Payment must be deposited before order
processing starts
Bank.Deposit
Precedes
Manufacturer.StartOrderProcessing
Globally
11 - CAISE 2013 @ Valencia, Spain
PROPOLS composite expressions
isa
(Customer.getConfirmNotification Exists Globally
Xor Customer.getCancelNotifcation Exists Globally)
12 - CAISE 2013 @ Valencia, Spain
 S is the Cartesian product A.S × B.S,
 s0 is the tuple (A.s0, B.s0),
 L is the union A.L ∪ B.L,
 δ is {((a1, b1), l, (a2, b2)) | (a1,l,a2)∈A.δ ∧ (b1,l,b2)∈b.δ},
 F is {(s1, s2) ∈S | s1∈A.F ∧ s2∈B.F}.
Composite expression semantics
13 - CAISE 2013 @ Valencia, Spain
The PROPOLS Ontology
14
 Error detection
 Error state reached in a defined FSA
 Any FSA in a non-final state when testing sequence finishes
Error detection condition
15 - CAISE 2013 @ Valencia, Spain
P: Manfacturer.Login
Q: Manufacturer.PlaceOrder
 A composite partner service and the mock of partner
services
A preliminary solution to the 2nd
issue
16 - CAISE 2013 @ Valencia, Spain
Approach revisit
17 - CAISE 2013 @ Valencia, Spain
Step 1 (specification) tool support
18 - CAISE 2013 @ Valencia, Spain
 1. PUT to Java mapping
 2. Mock object setup
 Manually define the
request message
 3. Test case definition
 Manually done
Step 2 (testing framework setup)
19 - CAISE 2013 @ Valencia, Spain
Test case definition GUI
20 - CAISE 2013 @ Valencia, Spain
Testing results GUI
21 - CAISE 2013 @ Valencia, Spain
 As far as we know, it’s the first testing framework to
facilitate the unit testing of protocol interface between web
services. All the other frameworks focus on test case
programming
 An approach to declaratively specify the service protocol
interface between services and its associated framework
software
 Future work
 Integrating automatic test case generation techniques
 Partner service behavior emulation
Conclusion
22 - CAISE 2013 @ Valencia, Spain

More Related Content

Similar to Jian yu caise13-

Similar to Jian yu caise13- (20)

Resume_Gowdhaman_23102016
Resume_Gowdhaman_23102016Resume_Gowdhaman_23102016
Resume_Gowdhaman_23102016
 
Neha Arora_Resume
Neha Arora_ResumeNeha Arora_Resume
Neha Arora_Resume
 
Shuvam dutta | Performance tester
Shuvam dutta | Performance testerShuvam dutta | Performance tester
Shuvam dutta | Performance tester
 
Resume_QA Analyst_Projects__VurukutiNarasingaRao
Resume_QA Analyst_Projects__VurukutiNarasingaRaoResume_QA Analyst_Projects__VurukutiNarasingaRao
Resume_QA Analyst_Projects__VurukutiNarasingaRao
 
Shuvam dutta
Shuvam duttaShuvam dutta
Shuvam dutta
 
Sandesh cv_Test Engineer
Sandesh cv_Test EngineerSandesh cv_Test Engineer
Sandesh cv_Test Engineer
 
2014 Asdenca - Capability-driven development of a soa platform, a case study
2014 Asdenca - Capability-driven development of a soa platform, a case study2014 Asdenca - Capability-driven development of a soa platform, a case study
2014 Asdenca - Capability-driven development of a soa platform, a case study
 
bhaskar new Resume_Updated
bhaskar new Resume_Updatedbhaskar new Resume_Updated
bhaskar new Resume_Updated
 
Shuvam dutta
Shuvam duttaShuvam dutta
Shuvam dutta
 
Shuvam Dutta | Performance analyst
Shuvam Dutta | Performance analystShuvam Dutta | Performance analyst
Shuvam Dutta | Performance analyst
 
Pavan.R_resume
Pavan.R_resumePavan.R_resume
Pavan.R_resume
 
Harish
HarishHarish
Harish
 
CV_Snehal_Parate
CV_Snehal_ParateCV_Snehal_Parate
CV_Snehal_Parate
 
Shruti Kulkarni (1)
Shruti Kulkarni (1)Shruti Kulkarni (1)
Shruti Kulkarni (1)
 
CV
CVCV
CV
 
Giri_WCS
Giri_WCSGiri_WCS
Giri_WCS
 
Mallikarjuna_Resume
Mallikarjuna_ResumeMallikarjuna_Resume
Mallikarjuna_Resume
 
PSA Presentation on Rail Projects
PSA Presentation on Rail ProjectsPSA Presentation on Rail Projects
PSA Presentation on Rail Projects
 
Dharmendra sharma qa_profile
Dharmendra sharma qa_profile Dharmendra sharma qa_profile
Dharmendra sharma qa_profile
 
Dharmendra sharma qa_profile
Dharmendra sharma qa_profile Dharmendra sharma qa_profile
Dharmendra sharma qa_profile
 

More from caise2013vlc

Markus keuneke partial data-models
Markus keuneke   partial data-modelsMarkus keuneke   partial data-models
Markus keuneke partial data-modelscaise2013vlc
 
Jelena zdravkovic c ai-se 2013 capability caas
Jelena zdravkovic  c ai-se 2013 capability caasJelena zdravkovic  c ai-se 2013 capability caas
Jelena zdravkovic c ai-se 2013 capability caascaise2013vlc
 
Sagar sen caise2013final
Sagar sen caise2013finalSagar sen caise2013final
Sagar sen caise2013finalcaise2013vlc
 
David aguilera presentation
David aguilera   presentationDavid aguilera   presentation
David aguilera presentationcaise2013vlc
 
Sonja kabicher fuchs presentation-caise13_final
Sonja kabicher fuchs presentation-caise13_finalSonja kabicher fuchs presentation-caise13_final
Sonja kabicher fuchs presentation-caise13_finalcaise2013vlc
 
Suriadi caise2013 slides
Suriadi caise2013 slidesSuriadi caise2013 slides
Suriadi caise2013 slidescaise2013vlc
 
Fadila caise2013 vf
Fadila caise2013 vfFadila caise2013 vf
Fadila caise2013 vfcaise2013vlc
 
Henning agt talk-caise-semnet
Henning agt   talk-caise-semnetHenning agt   talk-caise-semnet
Henning agt talk-caise-semnetcaise2013vlc
 
Razvan petrusel presentation caise 2013
Razvan petrusel   presentation caise 2013Razvan petrusel   presentation caise 2013
Razvan petrusel presentation caise 2013caise2013vlc
 
Ramezani taghiabadi temporal compliance checking 2
Ramezani taghiabadi   temporal compliance checking 2Ramezani taghiabadi   temporal compliance checking 2
Ramezani taghiabadi temporal compliance checking 2caise2013vlc
 
Sonja meyer caise 2013
Sonja meyer caise 2013Sonja meyer caise 2013
Sonja meyer caise 2013caise2013vlc
 
Tony clark caise 13-presentation
Tony clark  caise 13-presentationTony clark  caise 13-presentation
Tony clark caise 13-presentationcaise2013vlc
 
Miguel goulao 2013 c-aise
Miguel goulao 2013 c-aiseMiguel goulao 2013 c-aise
Miguel goulao 2013 c-aisecaise2013vlc
 
Jorge cardoso caise-usdl-tosca-2013-06-18c
Jorge cardoso   caise-usdl-tosca-2013-06-18cJorge cardoso   caise-usdl-tosca-2013-06-18c
Jorge cardoso caise-usdl-tosca-2013-06-18ccaise2013vlc
 
Kerrstin klemishc c-aise2013_
Kerrstin klemishc c-aise2013_Kerrstin klemishc c-aise2013_
Kerrstin klemishc c-aise2013_caise2013vlc
 
Ignacio panach ormeño et-al_caise2013
Ignacio panach   ormeño et-al_caise2013Ignacio panach   ormeño et-al_caise2013
Ignacio panach ormeño et-al_caise2013caise2013vlc
 
Malinda scalability c_ai_se_2013_v3
Malinda scalability c_ai_se_2013_v3Malinda scalability c_ai_se_2013_v3
Malinda scalability c_ai_se_2013_v3caise2013vlc
 
Maurino andrea coopetitivecaise2013
Maurino andrea   coopetitivecaise2013Maurino andrea   coopetitivecaise2013
Maurino andrea coopetitivecaise2013caise2013vlc
 

More from caise2013vlc (20)

Caise panel
Caise panelCaise panel
Caise panel
 
Markus keuneke partial data-models
Markus keuneke   partial data-modelsMarkus keuneke   partial data-models
Markus keuneke partial data-models
 
Jelena zdravkovic c ai-se 2013 capability caas
Jelena zdravkovic  c ai-se 2013 capability caasJelena zdravkovic  c ai-se 2013 capability caas
Jelena zdravkovic c ai-se 2013 capability caas
 
Sagar sen caise2013final
Sagar sen caise2013finalSagar sen caise2013final
Sagar sen caise2013final
 
David aguilera presentation
David aguilera   presentationDavid aguilera   presentation
David aguilera presentation
 
Sonja kabicher fuchs presentation-caise13_final
Sonja kabicher fuchs presentation-caise13_finalSonja kabicher fuchs presentation-caise13_final
Sonja kabicher fuchs presentation-caise13_final
 
Suriadi caise2013 slides
Suriadi caise2013 slidesSuriadi caise2013 slides
Suriadi caise2013 slides
 
Fadila caise2013 vf
Fadila caise2013 vfFadila caise2013 vf
Fadila caise2013 vf
 
Henning agt talk-caise-semnet
Henning agt   talk-caise-semnetHenning agt   talk-caise-semnet
Henning agt talk-caise-semnet
 
Razvan petrusel presentation caise 2013
Razvan petrusel   presentation caise 2013Razvan petrusel   presentation caise 2013
Razvan petrusel presentation caise 2013
 
Ramezani taghiabadi temporal compliance checking 2
Ramezani taghiabadi   temporal compliance checking 2Ramezani taghiabadi   temporal compliance checking 2
Ramezani taghiabadi temporal compliance checking 2
 
Sonja meyer caise 2013
Sonja meyer caise 2013Sonja meyer caise 2013
Sonja meyer caise 2013
 
Tony clark caise 13-presentation
Tony clark  caise 13-presentationTony clark  caise 13-presentation
Tony clark caise 13-presentation
 
Miguel goulao 2013 c-aise
Miguel goulao 2013 c-aiseMiguel goulao 2013 c-aise
Miguel goulao 2013 c-aise
 
Jorge cardoso caise-usdl-tosca-2013-06-18c
Jorge cardoso   caise-usdl-tosca-2013-06-18cJorge cardoso   caise-usdl-tosca-2013-06-18c
Jorge cardoso caise-usdl-tosca-2013-06-18c
 
Kerrstin klemishc c-aise2013_
Kerrstin klemishc c-aise2013_Kerrstin klemishc c-aise2013_
Kerrstin klemishc c-aise2013_
 
Ignacio panach ormeño et-al_caise2013
Ignacio panach   ormeño et-al_caise2013Ignacio panach   ormeño et-al_caise2013
Ignacio panach ormeño et-al_caise2013
 
Scekic caise13-
Scekic caise13-Scekic caise13-
Scekic caise13-
 
Malinda scalability c_ai_se_2013_v3
Malinda scalability c_ai_se_2013_v3Malinda scalability c_ai_se_2013_v3
Malinda scalability c_ai_se_2013_v3
 
Maurino andrea coopetitivecaise2013
Maurino andrea   coopetitivecaise2013Maurino andrea   coopetitivecaise2013
Maurino andrea coopetitivecaise2013
 

Recently uploaded

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Recently uploaded (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

Jian yu caise13-

  • 1. A Business Protocol Unit Testing Framework for Web Service Composition Jian Yu, Jun Han, Steven Gunarso, Steve Versteeg Faculty of ICT Swinburne University of Technology Melbourne, Victoria, Australia
  • 2.  Background and research issues  Contribution overview  The PROPOLS protocol specification language  The unit testing approach and the framework  Conclusion Agenda 2 - CAISE 2013 @ Valencia, Spain
  • 3. Web of Pages - text, manually created links - extensive navigation 2007 1997 Web of Resources - dynamically generated pages - data, services, mashups - web query interfaces Web of People - social networks, user-created casual content - Facebook, Renren, Linkedin.... Web of Things 2009 - physical objects connect and interact over the Internet - RFID, 2D barcode, sensors, SOA - Smart cities/homes, object tracking/recalling, environment monitoring…. The Evolution of the Web 3 - CAISE 2013 @ Valencia, Spain
  • 4. Web services 4 - CAISE 2013 @ Valencia, Spain Service Service WSDL/SOAP/HTTP Service BPEL process (encapsulated as a service)
  • 5.  Unit: the smallest testable parts of a software system  A unit needs to have clearly defined interface  Testing is conducted around the interface Unit testing 5 - CAISE 2013 @ Valencia, Spain http://sourcemaking.com/refactoring/extract-interface
  • 6. Business protocol as part of the interface 6 - CAISE 2013 @ Valencia, Spain Customer Manufacturer (PUT) Bank Place Order Check Order Confirm Order Reject Orderxor Deposit Payment Notify Payment Arrival Process OrderNotify Order Fulfilled Login (max 3 tries) Notify Payment Order Received
  • 7.  How to facilitate the testing of business protocols between units (Web services)?  Primitive approach: hard code the protocol in programs: rigid, time-consuming, error-prone Research issue 7 - CAISE 2013 @ Valencia, Spain PUT: Process-Under-Test  How to test a service unit if its partner services are not available?
  • 8.  Declarative specification of protocol interface between services, and a framework to support the unit testing of defined protocol interface Contribution overview 8 - CAISE 2013 @ Valencia, Spain
  • 9.  PROPOLS: Property Specification Pattern Ontology Language for Service Composition  A light-weight, declarative, temporal and causal dependency specification language  Based on Dwyer et al’s Property Specification Patterns (PSP)  has a FSA-based semantics  Encoded in Web Ontology Language The protocol interface specification language: PROPOLS 9 - CAISE 2013 @ Valencia, Spain
  • 10. PROPOLS basic expressions pattern scope 10 - CAISE 2013 @ Valencia, Spain
  • 11. Scenario & PROPOLS Examples Order Validate Confirm Cancel xor Deposit Deposited Process Fulfilled Pay Paid Hard Credit Rule 1. The received order must be validated: Manufacturer.ReceiveOrder Leads to Manufacturer.ValidateOrder Globally 2. Payment must be deposited before order processing starts Bank.Deposit Precedes Manufacturer.StartOrderProcessing Globally 11 - CAISE 2013 @ Valencia, Spain
  • 12. PROPOLS composite expressions isa (Customer.getConfirmNotification Exists Globally Xor Customer.getCancelNotifcation Exists Globally) 12 - CAISE 2013 @ Valencia, Spain
  • 13.  S is the Cartesian product A.S × B.S,  s0 is the tuple (A.s0, B.s0),  L is the union A.L ∪ B.L,  δ is {((a1, b1), l, (a2, b2)) | (a1,l,a2)∈A.δ ∧ (b1,l,b2)∈b.δ},  F is {(s1, s2) ∈S | s1∈A.F ∧ s2∈B.F}. Composite expression semantics 13 - CAISE 2013 @ Valencia, Spain
  • 15.  Error detection  Error state reached in a defined FSA  Any FSA in a non-final state when testing sequence finishes Error detection condition 15 - CAISE 2013 @ Valencia, Spain P: Manfacturer.Login Q: Manufacturer.PlaceOrder
  • 16.  A composite partner service and the mock of partner services A preliminary solution to the 2nd issue 16 - CAISE 2013 @ Valencia, Spain
  • 17. Approach revisit 17 - CAISE 2013 @ Valencia, Spain
  • 18. Step 1 (specification) tool support 18 - CAISE 2013 @ Valencia, Spain
  • 19.  1. PUT to Java mapping  2. Mock object setup  Manually define the request message  3. Test case definition  Manually done Step 2 (testing framework setup) 19 - CAISE 2013 @ Valencia, Spain
  • 20. Test case definition GUI 20 - CAISE 2013 @ Valencia, Spain
  • 21. Testing results GUI 21 - CAISE 2013 @ Valencia, Spain
  • 22.  As far as we know, it’s the first testing framework to facilitate the unit testing of protocol interface between web services. All the other frameworks focus on test case programming  An approach to declaratively specify the service protocol interface between services and its associated framework software  Future work  Integrating automatic test case generation techniques  Partner service behavior emulation Conclusion 22 - CAISE 2013 @ Valencia, Spain

Editor's Notes

  1. © Swinburne University of Technology
  2. A pattern property specification consists of a pattern and a scope. The pattern specifies what must occur and the scope specifies when the pattern must hold.