• 沒有找到結果。

5.1 結論

在目前,現行的測試技術還沒有辦法,可以有效的測試 SOA 的 application。因為 SOA 的 application 彼此之間有相當多的 transition,所以很有可能會造成

non-deterministic 的行為。這時原本的測試手法,沒辦法對於 non-deterministic 的 行為做比較有效的處理。而我們的 framework 可以提供一套比較完整的方式來測 試 SOA 的 application,我利用在每一個 transition 之間多加了一個 proxy 的方式來 收集每一次執行時的 event history。再利用 reachability testing 的技術來做 race 的 分析,將分析出的 race variants 送到各個 proxy,然後利用 proxy 當中的 entry protocol 與 exit protocol 來做 replay 的動作。replay 的動作就是依據分析出來的 race variants 來強制 transition 照著指定的順序來執行。如此一來,可以確保任何 concurrent process 之間所有 transitions 的 interleaf 都可以完全執行到。對於現在盛 行 SOA 架構,我的 work 就是提供一個這樣比較有系統性的方式來測試 SOA

application,讓目前對於 SOA 架構的測試方式,建立一個新的方向,這個架構只 是一個初步的構想,還有一些地方需要改善,可以留在日後的 future work 繼續改 進。目前 SOA 架構在測試方面的都還是相當 open 的狀態,尚還有相當多的地方 可以讓大家去努力。

5.2 未來展望

63

我們的系統雖然已經可以提出一套有系統的方式,來測試 SOA application。但是 我們的方法有一個致命性的缺點,就是必須修改原本的 BPEL 的 source code。一 方面我們可能需要修改 transition 的 target address 到 proxy 中,另一方面我們可能 需要添加一些參數在其中,以供我們測試時所需要的一些數據。這個是我們認為 目前比較不太好的地方,最理想化的方式還是希望可以做到不修改 code,能夠直 接以外加的方式來做測試,這是我認為第一個可以改進的地方。第二個地方,就 是我們目前對於 share object 的分析是比較簡單的,只是單純分成 read 和 write 兩 種 operation 而已。我們也有打算改進這個部分,做更進一步的分析來把 operation 的種類可以做更詳盡的分別。或許我們的測試層面也可以更加拓展到 security 的 測試,讓整個 framework 更加的趨於完整,以後 SOA 的 application 設計完成之後,

只有執行一次我們的 framework,就可以做一個相當完整的測試了。

64

Reference

[1] Web Services Activity . W3C Note 2002. (http://www.w3.org/2002/ws/).

[2] K.C. Tai and Richard H. Carver, “Testing of Distributed Programs,” Chapter 33 in Parallel and Distributed Computing Handbook, editor A. Y. Zomaya, McGraw-Hill, 1996.

[3] Andrews, T., Curbera, F., Dholakia, H., Goland, Y., Klein, J.,Leymann, F., Liu, K., Roller, D., Smith, D., Thatte, S., Trickoric, I.,and Weerawarana, S. ‘Business Process Execution Language for Web Services, Version 1.1, 2003. BPEL4WS specification

[4] Hao He ."What Is Service-Oriented Architecture", Sept. 2003;

(http://www.xml.com/lpt/a/ws/2003/09/30/soa.html).

[5] E. Clarke, O. Grumberg, and D. Peled, Model Checking. The MIT Press, 1999.

[6] Eric Newcomer, "Understanding Web services", Addison-Wesley Professional, 2002, p. 368.

[7] Simple Object Access Protocol (SOAP) 1.1. W3C Note 08, May 2000.

(http://www.w3.org/TR/SOAP/).

[8] Web Services Description Language (WSDL) 1.1. W3C Note 15 March 2001.

(http://www.w3.org/TR/wsdl).

[9] F. Leymann. Web Services Flow Language (WSFL).

65

[10] IBM Corporation, May 2001.S. Thatte. XLANG – Web Services for Business Process Design. Microsoft Corporation, May 2001.

[11] W. Richards Adrion, Martha A. Branstad, and John C. Cherniavsky, “Validation, Verification, and Testing of Computer Software,” ACM Computing Surveys, Volume 14, Issue 2, June 1982.

[12] G. H. Hwang, K. C. Tai, and T.L. Huang, “Reachability Testing: An Approach To Testing Concurrent Software,” International Journal of Software Engineering and Knowledge Eng., 5, 4, (Dec. 1995), 493-510.

[13] G.J. Holzmann. The Model Checker SPIN. IEEE Trans. Soft. Engin., Vol.23, No.5, pages 279–295, May 1997.

[14] J. Burch, E. Clarke, K. McMillan, D. Dill, and L. Hwang. Symbolic model checking: 1020 states and beyond. In IEEE Symposium on Logic in ComputerScience, pages 428{439, 1990}.

[15] A. Pnueli. A temporal logic of concurrent programs. Theoretical Computer Science, 13(1):45-60, 1981.

[16] Honghua Cao, Shi Ying, Dehui Du, Setp. 2006, "Towards Model-based Verification of BPEL with Model Checking", IEEE International Conference on

Computer and Information Technology. pp. 190-194

[17] Zhongjie LI, Wei SUN, Zhong Bo JIANG, Xin ZHANG, Jul. 2005, "BPEL4WS

66

Unit Testing: Framework and Implementation", Proceedings of the IEEE

International Conference on Web Services, vol. 1, pp. 103-110.

[18] Shin NAKAJIMA, 2002, "Verification of Web Service Flows with Model-Checking Techniques". IEEE Cyber Worlds, 2002. Proceedings. pp.

378-385.

[19] Marina Mongiello, Daniela Castelluccia, March 2006, "Modelling and verification of BPEL business process". Model-Based Development of

Computer-Based Systems and Model-Based Methodologies for Pervasive and

Embedded Software, 2006. pp. 148.

[20] Srini Narayanan, Sheila A. McIlraith, May 2002, "Simulation, verification and automated composition of web services". ACM: Association for Computing

Machinery : WWW'02. pp. 77-88.

[21] W. T. Tsai, X. Wei, Y. Chen, R. Paul, Oct. 2005, "A Robust Testing Framework for Verifying Web Services by Completeness and Consistency Analysis".

Service-Oriented System Engineering, 2005. IEEE International Workshop.

pp.151-158.

[22] Canfora, G. , Di Penta, M, March 2006, "Testing services and service-centric systems: challenges and opportunities". IEEE IT Professional. pp. 10-17.

[23] Ayaz Farooq, Konstantina Georgieva, Reiner R. Dumke, 2008, "Challenges in

67

Evaluating SOA Test Processes". Proceedings of the International Conferences on Software Process and Product Measurement.

[24] Gerardo Canfora and Massimiliano Di Penta, 2006, "SOA: Testing and Self-Checking". International Workshop on Web Services Modeling and Testing.

[25] Apahe Axis2, (http://ws.apache.org/axis2/).

[26] ActiveBPEL, (http://www.activevos.com/community-open-source.php).

相關文件