999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

業務流程建模與測試方法研究

2016-12-23 02:06:51丁明張書玲張琛
西安交通大學學報 2016年3期
關鍵詞:活動模型

丁明,張書玲,張琛

(1.西北大學信息科學與技術學院,710127,西安;2.中航工業西安航空計算技術研究所,710119,西安;3.西安電子科技大學計算機學院,710071,西安)

?

業務流程建模與測試方法研究

丁明1,2,張書玲1,張琛3

(1.西北大學信息科學與技術學院,710127,西安;2.中航工業西安航空計算技術研究所,710119,西安;3.西安電子科技大學計算機學院,710071,西安)

針對復雜業務流程設計測試效率低、自動化程度不高、測試用例正確性難以保證的問題,在研究接口自動機模型的基礎上,提出了一種基于模型的業務流程測試方法。該方法首先采用擴展帶約束的接口自動機對業務流程設計進行形式化描述,并給出了從業務流程設計模型到帶約束的接口自動機模型的轉換算法;然后基于模型完成了對業務流程設計與需求的一致性驗證,將驗證后的接口自動機模型作為業務流程的測試模型,通過其特有的“樂觀方法”和博弈思想實現了流程間的嵌套調用組合;最后定義了業務流程的測試覆蓋準則,并在滿足活動約束條件組合覆蓋準則的前提下,設計了相應的測試用例生成算法。實例分析表明:該方法能夠簡化測試過程,可用于業務流程設計的測試用例自動化生成,有效保證了測試用例的正確性,提高了測試效率。

業務流程;接口自動機;覆蓋準則;測試用例

復雜業務流程節點數量多、活動及關系復雜,且流程之間相互嵌套調用,從而導致測試復雜度較高。通過對業務流程的節點、活動、約束、遷移關系等構成元素進行抽象,并采用形式化方法進行描述,可實現對業務流程設計與需求的一致性以及流程的死鎖、可達性等驗證[1-4]。通過驗證的形式化模型可作為業務流程的測試模型,依據測試覆蓋準則,實現基于模型的測試用例自動化生成[5],能夠有效保證測試用例的正確性,提高業務流程設計的測試效率。

對業務流程的驗證和測試,目前已提出了多種形式化模型。文獻[6]中應用有限狀態機對業務流程進行建模和一致性驗證,并根據遷移覆蓋和狀態覆蓋生成測試用例;文獻[7]使用Petri網對業務流程進行建模,Petri網具有直觀的圖形化表示、精確的語義、強大的表達能力和基于狀態而不是基于事件等優點;文獻[8]應用Pi演算進行Web服務組合驗證,作為一種理論成熟的進程代數方法,Pi演算使用基于文本的進程表達式描述系統,具有形式簡單、表達能力強等優點。接口自動機(Interface Automata)是一種輕量級的形式化模型[9],采用“樂觀方法”來定義組合問題,并用博弈理論進行解釋,本文采用帶約束的接口自動機(CIA)作為描述業務流程的形式化模型。

1 業務流程建模

1.1 業務流程的定義與表示

Hammer等給出了業務流程的經典定義:業務流程由一組創造價值的活動組合而成,活動有且僅有一個輸入,不少于一個輸出結果,輸出結果表示客戶價值的增值[10]。典型的業務流程包括輸入資源、按一定規則執行的活動、活動之間的相互關系和作用(即結構)、輸出結果、顧客、流程創造的價值等要素。為了準確、完整地描述流程執行過程,采用十二元組定義M=(O,Ai,Ae,Ao,A,S,E,C,β,φ,α,t),其中:O是流程中所有節點的集合;Ai是節點中的內部活動,其執行與其他流程無交互關系,活動執行后轉至其他節點;Ae是節點中的輸入活動,必須等待其他流程的輸入激活,活動執行后轉至其他節點;Ao是節點中的輸出活動,其執行必定激活其他流程,同時流程轉至其他節點;A是流程中所有活動的集合,A=Ai∪Ae∪Ao;S是開始節點,每個流程有且只有唯一的開始節點;E是終止節點的集合,每個流程至少有一個終止節點;C是活動約束條件的集合;β是Ai、C到O的一個函數關系,β(co,ai)∈O,co∈C,ai∈Ai是ai所屬節點和執行的約束條件;φ是Ae、C到O的一個函數關系,φ(co,ae)∈O,co∈C,ae∈Ae是ae所屬節點和執行的約束條件;α是Ao、C到O的一個函數關系,α(co,ao)∈O,co∈C,ao∈Ao是ao所屬節點和執行的約束條件;t是流程節點之間轉移的遷移函數,O×A→O,t(o,a)=o′,o∈O,o′∈O,a∈A表示從一個節點執行活動后到達另一個節點。

1.2 業務流程的擴展接口自動機模型

文獻[9]中Luca等提出了接口自動機理論,可用于描述組件接口的時序性,即接口交互活動間的先后順序關系。接口自動機采用“樂觀方法”判別接口組合兼容性,可大幅削減組合后的接口狀態,是一種輕量級的自動機模型。

定義帶約束的接口自動機P的一個執行片段是狀態與活動(含約束)交替排列的有限序列v0a0[c0]v1a1[c1]…vn,其中(vi,ci,ai,vi+1)∈KP,0≤i

為了實現業務流程的CIA描述,定義復雜業務流程的帶約束的接口自動機模型構造算法。

算法1構造業務流程帶約束的接口自動機模型

輸入業務流程的十二元組描述

輸出業務流程的帶約束的接口自動機模型

(1)CIA的狀態集合VP=O,業務流程中的一個節點對應一個狀態;

(6)狀態遷移集合,包含遷移前后狀態和活動之間的關系,TP={(v,a,v′)|v∈O∧v′∈O∧a∈A∧t(v,a)=v′};

(7)約束條件集合CP=C,業務流程活動約束條件對應自動機的活動約束;

(10)CIA的帶約束的活動遷移集合KP?MP×TP={(v,c,a,v′)|(c,a)∈MP∧(v,a,v′)∈TP}。

1.3 業務流程間嵌套調用建模

業務流程之間相互嵌套調用時,執行業務流程中的輸出活動,會向外部發送調用消息,啟動另一業務流程;另一方面,輸入活動激活需等待另一流程發送的消息。多個業務流程互相交互調用的過程,在設計測試用例時可進行組合,成為一個組合的業務流程,從而簡化測試用例生成。業務流程的相互調用可轉化為帶約束的接口自動機組合,兩個帶約束的接口自動機P和Q,組合的過程需先判斷P和Q中帶約束的活動是否滿足組合條件。

定義兩個接口自動機P、Q若滿足條件

?,?,

則稱它們是可組合的。

兩個CIA組合后形成的P×Q中可能存在某個狀態下P中帶約束的輸出活動不能滿足Q中帶約束的輸入活動,或在某個狀態下Q中帶約束的輸出活動不能滿足P中帶約束的輸入活動,即兩個待組合的CIA中帶約束的輸入和輸出活動不匹配,定義為到達了非法狀態,組合是不兼容的。

通過上述方法,可實現業務流程的形式化描述,可轉化為帶約束的接口自動機,通過模型檢測方法驗證業務流程設計模型與需求的一致性,以及流程的死鎖、可達性等。經過驗證的業務流程CIA模型將用于測試用例的生成。

2 基于接口自動機的測試用例生成

本文定義的復雜業務流程的測試用例生成過程如圖1所示,使用CIA模型形式化描述業務流程,并進行流程設計與需求的一致性驗證,確認后的CIA模型可采用“樂觀方法”處理組合問題,描述流程間的嵌套調用。針對合并后的CIA模型,定義覆蓋準則,設計算法,自動生成滿足覆蓋準則的測試用例。

圖1 復雜業務流程的測試用例生成過程

2.1 覆蓋準則定義

為了使設計的測試用例滿足要求的覆蓋程度,測試用例生成需遵循一定的覆蓋標準。定義一個測試集合D和一個待測試的業務流程M,測試的覆蓋標準包括:①節點覆蓋,D必須保證M中的每個節點至少運行一次,節點覆蓋對活動覆蓋較少,是較容易滿足的測試準則,需要的測試用例相對較少;②活動覆蓋,D必須保證M中的每個活動至少執行一次,活動覆蓋比節點覆蓋強,但覆蓋程度仍不高;③活動約束條件覆蓋,D不僅保證業務流程中每個活動至少執行一次,而且對活動約束條件表達式中每個條件變量各種可能結果都執行一次,通常情況下活動約束條件覆蓋通常比活動覆蓋強,因為活動覆蓋只遍歷整個活動約束條件表達式的值,而活動約束條件覆蓋使每個條件變量都取得不同的結果;④活動約束條件組合覆蓋,D保證覆蓋業務流程所有活動約束條件表達式中所有條件變量的各種組合可能都至少出現一次。

上述的4類覆蓋標準中,活動約束條件組合覆蓋是最強的覆蓋準則,符合該準則的測試用例,可以滿足活動覆蓋和活動約束條件覆蓋標準。本文在滿足活動約束條件組合覆蓋準則的前提下,給出業務流程的測試用例定義和生成過程。

2.2 測試用例生成

業務流程的測試用例(BPTC)是為了達到用戶的業務需求目標而設計的一組測試輸入、執行條件和預期結果,用以確認業務流程中的某個場景是否滿足用戶需求。BPTC是流程中從開始節點到終止節點的一個執行序列,在使用CIA模型描述的業務流程設計中,包含了產生測試用例所需的信息,一個測試用例對應從初始狀態到某個終止狀態的帶約束可達的執行片段。根據業務流程活動約束條件組合覆蓋準則和測試用例定義,測試用例設計與生成可采用以下算法。

算法2業務流程測試用例集生成算法

輸入帶約束的接口自動機P

輸出測試用例集合D

(1)遍歷P中約束條件集合CP,列出所有約束條件。

(2)遍歷集合CP中每個約束條件變量各種可能取值,生成約束條件取值的全排列組合。

(4)通過以上的步驟,在P中為每個約束條件組合序列對應生成一個從初始狀態到終止狀態的執行片段。一個執行片段對應生成一條測試用例,所有執行片段集合即為D。

3 實例分析

本節以簡化的銀行理財產品購買流程為例,說明業務流程的建模與測試用例生成過程。根據產品風險特性,一般將理財產品風險由低到高分為5個級別,用戶允許購買的理財產品風險必須小于等于用戶可接受的風險等級。用戶購買理財產品的業務流程包括登錄系統、確認用戶類型、選擇理財產品、輸入購買金額、執行購買等過程,流程執行過程中嵌套調用用戶可接受風險測評和計算理財產品余額兩個子流程。使用業務流程建模與標注(BPMN)標準規范描述的流程如圖2、3、4所示。

根據定義,圖2、3、4所示業務流程分別表示為M1、M2、M33個十二元組。使用算法1定義的構造方法,流程對應的CIA模型P1、P2、P3,如圖5、6、7所示。模型中輸入活動用“?”表示,輸出活動用“!”表示,未標識的為內部活動。

P1、P2、P3滿足定義的模型組合條件,組合后的CIA模型表示為Q=(P1×P2)×P3,如圖8所示。

根據算法2定義的測試用例集生成方法,組合后的接口自動機模型Q中所有約束條件取值的組合如表1所示,測試用例集合為D。按照每個組合序列,從CIA模型的初始狀態開始,根據約束條件取值進行狀態遍歷到終止狀態結束,狀態遍歷中循環限制至多出現一次,得到測試用例集合D包含6條測試用例,可以覆蓋表1約束條件取值組合,每條測試用例對應帶約束的接口自動機Q中一個初始狀態{狀態a}到終止狀態集{狀態i,狀態t,狀態r}的執行片段。

圖2 理財購買流程

圖3 用戶可接受風險測評流程

圖4 計算理財產品余額流程

圖5 M1流程的CIA模型P1

圖6 M2流程的CIA模型P2

圖7 M3流程的CIA模型P3

表1 約束條件取值組合

4 結束語

良好的業務流程設計與實現是保證企業流程運行的關鍵,對復雜的業務流程進行驗證、測試是一項具有挑戰性的工作,尤其是復雜流程間的相互嵌套調用。文中采用擴展的帶約束條件的接口自動機描述業務流程設計模型,通過接口自動機特有的“樂觀方法”和博弈思想處理流程間的嵌套調用組合,簡化了測試過程,并定義了測試覆蓋準則,實現測試用例的自動生成。將其應用于業務流程管理實施中,可實現測試工作的早期規劃,提高測試的自動化程度和測試效率。

[1] 雷麗暉, 段振華. 一種基于擴展有限自動機驗證組合Web服務的方法 [J]. 軟件學報, 2007, 18(12): 2980-2990. LEI Lihui, DUAN Zhenhua. An extended deterministic finite automata based method for the verification of composite web services [J]. Journal of Software, 2007, 18(12): 2980-2990.

[2] 張廣泉, 狄浩軍, 石慧娟, 等. 基于擴展自動機的服務組合靜態與動態驗證方法 [J]. 通信學報, 2012, 33(s1): 1-8. ZHANG Guangquan, DI Haojun, SHI Huijuan, et al. Static and dynamic verifying method based on extended finite automata for service compositions [J]. Journal on Communications, 2012, 33(s1): 1-8.

[3] 駱翔宇, 軒愛成, 沙宗魯. 基于時間自動機的Web服務模型檢測 [J]. 計算機科學, 2010, 37(8): 139-144. LUO Xiangyu, XUAN Aicheng, SHA Zonglu. Model checking web services based on timed automata [J]. Computer Science, 2010, 37(8): 139-144.

[5] LIU S, NAKAJIMA S. A decompositional approach to automatic test case generation based on formal specifications [C]∥Proceedings of the 4th International Conference on Secure Software Integration and Reliability Improvement. Piscataway, NJ, USA: IEEE, 2010: 147-155.

[6] DE MASELLIS R, MAGGI F M, MONTALI M. Monitoring data-aware business constraints with finite state automata [C]∥Proceedings of International Conference on Software and System. New York, USA: ACM, 2014: 134-143.

[7] CLEMPNER J. Verifying soundness of business processes: a decision process Petri nets approach [J]. Expert Systems with Applications, 2014, 41(11): 5030-5040.

[8] YUAN M, HUANG Z, LI X, et al. Towards a formal verification approach for business process coordination [C]∥Proceedings of 2010 IEEE 8th International Conference on Web Services. Piscataway, NJ, USA: IEEE, 2010: 362-368.

[9] DE ALFARO L, HENZINGER T A. Interface automata [C]∥Proceedings of the 8th European Software Engineering Conference held jointly with 9th ACM SIGSOFT International Symposium on the Foundations of Software Engineering. New York, USA: ACM, 2001: 109-120.

[10]HAMMER M, CHAMPY J. Reengineering the corporation: a manifesto for business revolution (Collins business essentials) [M]. New York, USA: HarperCollins, 2009.

(編輯 趙煒)

Modeling and Testing Methods of Business Process

DING Ming1,2,ZHANG Shuling1,ZHANG Chen3

(1. School of Information Science and Technology, Northwest University, Xi’an 710127, China;2. Xi’an Aeronautics Computing Technique Research Institute, Aviation Industry Corporation of China, Xi’an 710119, China;3. School of Computer Science and Technology, Xidian University, Xi’an 710071, China)

To improve the automation level as well as the efficiency and accuracy of complex business process, and on the basis of studying interface automata models, a novel model-based testing approach for business processes is proposed. First, the extended constraint interface automata are used to describe the business process design. The algorithm for transforming the design models into constraint interface automata is presented. Furthermore, the consistency of business process design with requirements is verified. The verified interface automata are regarded as the test models of business processes. Optimistic approach and game theory are used to model the nested calls among business processes. Finally, the coverage criteria of business process test are defined. And the algorithm for test cases generating is given to satisfy the constraint combinations. Case studies show that this approach can be used for automatic generation of test cases for business process design and reduce the complexity of test cases generation and hence ensuring the correctness of test cases.

business process; interface automata; coverage criteria; test case

10.7652/xjtuxb201603020

2015-07-08。 作者簡介:丁明(1982—),男,博士生;張書玲(通信作者),男,教授,博士生導師。 基金項目:國家自然科學基金資助項目(61502365)。

TP311

:A

:0253-987X(2016)03-0127-06

猜你喜歡
活動模型
一半模型
“六小”活動
少先隊活動(2022年5期)2022-06-06 03:45:04
“活動隨手拍”
行動不便者,也要多活動
中老年保健(2021年2期)2021-08-22 07:31:10
牛年到,節日活動可以這么“牛”
少先隊活動(2021年1期)2021-03-29 05:26:36
“拍手歌”活動
快樂語文(2020年30期)2021-01-14 01:05:38
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
三八節,省婦聯推出十大系列活動
海峽姐妹(2018年3期)2018-05-09 08:20:40
3D打印中的模型分割與打包
主站蜘蛛池模板: 无码精油按摩潮喷在线播放| 亚洲精品图区| 日韩欧美国产综合| a级毛片免费网站| 国产精品19p| 久久香蕉国产线看精品| 狠狠色香婷婷久久亚洲精品| 91年精品国产福利线观看久久| 视频一本大道香蕉久在线播放| 东京热一区二区三区无码视频| 亚洲精品欧美重口| 欧美午夜理伦三级在线观看| 大陆国产精品视频| 中文字幕佐山爱一区二区免费| 在线播放国产99re| 国产成人亚洲毛片| 亚洲另类国产欧美一区二区| 国产欧美高清| 久久久久青草线综合超碰| 国产精品尤物铁牛tv | 一级看片免费视频| 日本草草视频在线观看| 88av在线| 91美女在线| 丝袜高跟美脚国产1区| 黄色网站不卡无码| 在线精品自拍| 九九热视频在线免费观看| 国产精品免费入口视频| 在线观看国产精品日本不卡网| 99尹人香蕉国产免费天天拍| 国产精品九九视频| 亚洲第一极品精品无码| 青青国产在线| 欧美日韩一区二区在线播放| 国产粉嫩粉嫩的18在线播放91| 久久夜色撩人精品国产| 国产微拍精品| 久久精品亚洲热综合一区二区| 手机永久AV在线播放| 欧美日韩在线第一页| 精品国产aⅴ一区二区三区| 午夜激情婷婷| 国产拍在线| 欧美午夜小视频| 欧美亚洲一区二区三区在线| 2021无码专区人妻系列日韩| 老司国产精品视频91| 久久久黄色片| 99在线视频精品| 欧洲日本亚洲中文字幕| 久久五月视频| 丰满人妻中出白浆| 亚洲日韩Av中文字幕无码| 六月婷婷精品视频在线观看| 亚洲乱码在线播放| 午夜视频www| 久久性妇女精品免费| 欧美福利在线观看| 综合色88| 免费毛片全部不收费的| 成人国产小视频| 亚洲va在线∨a天堂va欧美va| 亚洲精品无码AⅤ片青青在线观看| 嫩草影院在线观看精品视频| 欧洲高清无码在线| 激情影院内射美女| 亚洲天堂免费| 91蜜芽尤物福利在线观看| 91在线精品麻豆欧美在线| 九色在线视频导航91| 五月婷婷精品| 少妇极品熟妇人妻专区视频| 蝌蚪国产精品视频第一页| 中文字幕人成乱码熟女免费| 五月天丁香婷婷综合久久| 久久精品人人做人人爽| 色婷婷亚洲十月十月色天| 丁香六月综合网| 久久综合色视频| 亚洲中文字幕手机在线第一页| 精品伊人久久久香线蕉 |