国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

業(yè)務流程建模與測試方法研究

2016-12-23 02:06:51丁明張書玲張琛
西安交通大學學報 2016年3期
關鍵詞:自動機測試用例約束條件

丁明,張書玲,張琛

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

?

業(yè)務流程建模與測試方法研究

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

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

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

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

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

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

1 業(yè)務流程建模

1.1 業(yè)務流程的定義與表示

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

1.2 業(yè)務流程的擴展接口自動機模型

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

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

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

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

輸入業(yè)務流程的十二元組描述

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

(1)CIA的狀態(tài)集合VP=O,業(yè)務流程中的一個節(jié)點對應一個狀態(tài);

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

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

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

1.3 業(yè)務流程間嵌套調用建模

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

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

?,?,

則稱它們是可組合的。

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

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

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

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

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

2.1 覆蓋準則定義

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

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

2.2 測試用例生成

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

算法2業(yè)務流程測試用例集生成算法

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

輸出測試用例集合D

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

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

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

3 實例分析

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

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

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

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

圖2 理財購買流程

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

圖4 計算理財產(chǎn)品余額流程

圖5 M1流程的CIA模型P1

圖6 M2流程的CIA模型P2

圖7 M3流程的CIA模型P3

表1 約束條件取值組合

4 結束語

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

[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] 張廣泉, 狄浩軍, 石慧娟, 等. 基于擴展自動機的服務組合靜態(tài)與動態(tài)驗證方法 [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

猜你喜歡
自動機測試用例約束條件
基于一種改進AZSVPWM的滿調制度死區(qū)約束條件分析
{1,3,5}-{1,4,5}問題與鄰居自動機
基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
一種基于模糊細胞自動機的新型疏散模型
智富時代(2019年4期)2019-06-01 07:35:00
基于混合遺傳算法的回歸測試用例集最小化研究
A literature review of research exploring the experiences of overseas nurses in the United Kingdom (2002–2017)
廣義標準自動機及其商自動機
線性規(guī)劃的八大妙用
基于依賴結構的測試用例優(yōu)先級技術
軟件回歸測試用例選取方法研究
乐陵市| 鞍山市| 隆化县| 宁波市| 齐齐哈尔市| 当阳市| 双城市| 电白县| 福泉市| 林甸县| 峨眉山市| 正安县| 杭锦后旗| 百色市| 临沧市| 大理市| 万全县| 大埔县| 江源县| 宁河县| 沧源| 灯塔市| 海门市| 深泽县| 克拉玛依市| 玉田县| 泾源县| 巨鹿县| 岐山县| 商城县| 秀山| 南召县| 鄂温| 全州县| 彭泽县| 元阳县| 安国市| 乡宁县| 延吉市| 永川市| 永胜县|