石淼
摘 要:在測試工作流軟件時,采用業(yè)務流程作為基本的測試用例單位,采用基于路徑和節(jié)點結合的方法進行測試用例的編寫,大大提高了業(yè)務流程中的審批節(jié)點、流程走向、流轉條件的覆蓋,減少了工作流業(yè)務流轉方面的缺陷,提高了工作流軟件測試的完備性和充分性。
關鍵詞: 工作流測試 業(yè)務流程 路徑和節(jié)點結合
中圖分類號:TP311 文獻標識碼:A 文章編號:1674-098X(2014)04(a)-0007-04
工作流是一類能夠完全或者部分自動執(zhí)行的經營過程,它能使一系列過程規(guī)則、文檔、信息或者任務能夠在不同的執(zhí)行者之間進行傳遞與執(zhí)行。工作流管理系統(tǒng)則是一個軟件系統(tǒng),它完成工作流的定義和管理,并按照在計算機中預先定義好的工作邏輯推進流程實例的執(zhí)行。
工作流管理系統(tǒng)是當前企業(yè)信息化應用的熱點之一,它能夠實現企業(yè)流程的自動化、提高企業(yè)的管理水平和提升企業(yè)的核心競爭力。而工作流技術恰好能滿足實驗室的測試管理工作的信息化。工作流技術是針對日常工作中固有程序的活動提出的一個概念,目的是通過將工作分解成定義良好的任務、角色,按照一定的規(guī)則和過程來執(zhí)行這些任務并對它們進行監(jiān)控,以期提高辦事效率。它是實現企業(yè)的業(yè)務過程建模、優(yōu)化、管理與集成的核心技術,它所建立的業(yè)務模型本身就是企業(yè)的知識庫和規(guī)則庫。
工作流軟件技術主要解決的是“使在多個參與者之間按照某種預定義的規(guī)則傳遞文檔、信息或任務的過程自動進行,從而實現某個預期的業(yè)務目標,或者促使此目標的實現”。工作流管理系統(tǒng)是當前企業(yè)信息化應用的熱點之一,廣泛應用于政府機關、企事業(yè)單位的日常業(yè)務管理。能夠自動處理企業(yè)內部各種數據或信息,整合業(yè)務流程,實現了企業(yè)流程的自動化,提高了企業(yè)的運營效率和管理水平,提升企業(yè)的核心競爭力。隨著工作流軟件的應用日益廣泛,人們對工作流軟件的質量要求也越來越高,工作流技術的快速發(fā)展的給業(yè)務管理帶來方便的同時,卻給軟件測試帶來了新的困難。我們傳統(tǒng)的工作流的測試,測試人員往往根據測試經驗編寫測試用例,導致工作流系統(tǒng)測試的完備性和充分性不高。而且由于工作流程測試要求,要盡可能遍歷到所有的參與的角色、活動及活動涉及的轉換,此種類似重復的工作造成人力和時間的浪費,因而迫切的需要對工作流測試方法進行深入的研究。
1 工作流軟件特點
工作流管理聯盟(WFMC)對工作流的定義:工作流是一類在計算機技術的支持下能夠完全或者部分實現自動執(zhí)行的經營過程,它根據一系列過程規(guī)則,使信息、任務能夠在不同的參與者之間傳遞與執(zhí)行。工作流測試基本目標是檢查工作流能否使信息和任務能夠地按照定義的過程正確流轉,確保工作流具備預期的目標。
工作流軟件有別于普通的軟件,有其自身的特點。我們要測試工作流軟件,就要認識到它的特殊性,從而能夠提出高效的工作流測試方法。通過分析工作流的特點,總結如下:
(1)工作流指的是一系列相互銜接、自動進行的業(yè)務活動或任務。一個工作流一般包括:活動(或任務)、它們的關系以及它們的啟動和終止條件。工作流技術強調工作流程,每個工作流程都會涉及過程、活動、轉換、執(zhí)行者、工作流相關數據等相關的內容。對工作流系統(tǒng)的測試首先就要對工作流程進行測試。
(2)每個工作流程由多個活動形成的一個活動網絡。活動是一個工作單元,表示流程中的一個執(zhí)行階段,是流程執(zhí)行中可被工作調度的最小工作單元,由活動所有者完成?;顒油瓿珊筮M行提交,工作流引擎會將活動路由到下一個活動。工作流中存在很多工作流程,一個工作流程中的活動也可以重用到其它工作流程當中,由于調用的工作流活動的場景不同,因此每一次調用都得進行測試。工作流的活動是工作流測試的重點對象之一。
(3)工作流路由實現了活動的流轉。當前活動完成后,工作流會依據活動的控制信息和過程定義將活動流轉至工作流程中下一個活動。工作流可以歸納為6種路由關系:Sequential Routing、AND-split、AND-join、Parallel Routing、OR-Split、OR-join和Iteration。即順序路由(一個任務接著另一個任務被順序的執(zhí)行)、與分支(當任務A完成后,任務B和任務C可以并行執(zhí)行)、與連接(只有在任務A和任務B都完成后,任務C才可以執(zhí)行)、并行路由(當任務A完成后,任務B和任務C可以并行執(zhí)行。任務B和任務C都完成后,任務D才可以執(zhí)行)、條件路由(任務A完成后,任務B或者任務C只能有一個被執(zhí)行;任務D在任務B或任務C完成之后可執(zhí)行)、循環(huán)路由(需要多次執(zhí)行的一個任務)。工作流路由是工作流進行流轉的重要組成部分,也是工作流測試的重點對象之一。
因此,在工作流系統(tǒng)測試中我們要盡最大可能遍歷到所有工作流程中所涉及的活動、流程及流轉條件。這種全面遍歷的思想雖然能夠保證測試的完整性和充分性,但是由于工作流中工作流程、活動數量巨大,流轉條件復雜,很難設計出合理、覆蓋充分的測試用例,所以并不具備可行性。因此必須要對測試流程進行合理有效的篩選和優(yōu)化,設計出覆蓋率較高的測試用例。
2 工作流測試過程及方法
工作流系統(tǒng)軟件的主要功能包括:業(yè)務流程建模;參與的用戶,權限,角色設計;工作流運行;業(yè)務表單的建立等。涉及到的數據庫包括組織/角色模型數據、業(yè)務數據庫、流程數據庫。在工作流系統(tǒng)中,最重要的是業(yè)務流程。業(yè)務流程是將實際運行中的業(yè)務過程抽象出來,由一系列相互銜接的活動節(jié)點和流程組成,包含了工作流執(zhí)行所需要的各種信息,如活動、控制流、數據流、流轉條件、角色和執(zhí)行者等。因此在此我們只對業(yè)務流程的測試進行詳細分析。
測試時,首先根據業(yè)務流程的描述分析各種信息,明確審批節(jié)點、流轉過程、流轉條件以及每個節(jié)點的審批人的角色,畫出業(yè)務流程圖。在工作流系統(tǒng)中進行業(yè)務流程模型定義,流程定義過程如表1所示。
如果測試能夠覆蓋業(yè)務流程圖中描述的所有審批節(jié)點、流程走向、流轉條件,即可認為測試滿足完備性和充分性的要求,每部分測試覆蓋完備性要求如下:endprint
(1)審批節(jié)點覆蓋:所有審批節(jié)點必須覆蓋。設計原則:減少重復節(jié)點,覆蓋盡可能多的流程和流轉條件。
(2)流程走向覆蓋:流程圖中的所有走向必須覆蓋,包括影響走向的條件判斷和審批操作。設計原則:流程圖中的箭頭至少經過一次,減少重復流向,覆蓋盡可能多的流轉條件。
(3)流轉條件覆蓋:邏輯走向中的所有流轉條件必須覆蓋。
在工作流測試時,采用業(yè)務流程作為基本的測試用例單位,采用路徑和節(jié)點結合的方法編寫測試用例。設計測試用例時,流程屬性的測試參數不作為單獨的測試用例,而是作為一個測試用例的組成部分,驗證整個流程處理的正確性。
另外,在軟件測試時要注意以下幾項原則:
(1)全局性原則。錯誤在初期有可能是范圍很小的隱藏問題,但由于各開發(fā)階段的連續(xù)性,使其逐步擴展。因而要從全局上開展測試工作。
(2)系統(tǒng)化原則。如果我們的測試不是系統(tǒng)的,即使很細心的測試者也會被測試的規(guī)模和復雜性所擊敗。
(3)不可窮盡性原則。如果進行窮舉測試,在一定程度上確保了測試的徹底性。但是這種方法不具有實用價值,代價太大。
(4)避免程序員自己檢查的原則。他人來檢測自己編寫的程序,會更客觀,更有效。
(5)自動化原則。測試工作不可避免地存在很大的重復性和復雜性,測試要自動進行,才能提高測試的效率。
(6)測試中錯誤群集的原則。要對錯誤群集的程序段進行重點檢查,以提高測試的效率。
(7)測試數據的正確充分性原則。軟件在所有的(或是夠多的)測試數據上是正確的;測試數據時充分的,即軟件在測試數據上的表現能夠充分地反映軟件的總體表現。
3 工作流軟件測試用例的設計與編寫
在某自定義工作流程的ERP項目中,在基礎信息部分的角色定義中設置需求申請員、部門領導、公司領導等角色。
設置需求申請審批流程的審批節(jié)點為提出審請、部門領導審批、公司領導審批、審批結束。在每個審批節(jié)點上由具有相應角色的人員進行審批?!靶枨笊暾垎T”角色的人員“提出申請”,“部門領導”角色的人員進行“部門領導審批”,“公司領導”角色的人員進行“公司領導審批”。
在審批流程定義中定義需求申請單據的審批流程, 生成審批流程圖如圖1所示。
申請人單據提交審批后,按照事先定義好的審批流程先提交部門領導進行審批。部門領導可以存在多個,在審批過程中可以選擇提交單個領導進行審批,也可以選擇提交多個領導進行審批。選擇單個領導進行審批時,“同意”后直接提交公司領導審批,“不同意”則返回給提出審批人;選擇多個領導進行審批,則選擇“指定主辦人”(以“主辦人”的意見為下一步流轉的依據,其它人為“經辦人”。經辦人可以發(fā)表意見,但是不能進行提交下一步。)或者“先到先得”(未指定“主辦人”,以先提交審批的作為“主辦人”,審批意見為下一步流轉的依據)。主辦人“同意”后則提交公司領導審批,“不同意”則返回給提出審批人。公司領導審批過程與部門領導審批過程一致。
在審批過程中,如果所提交的審批人出差或其它原因無法進行審批,為了不耽誤業(yè)務單據的流轉,可以設置委托辦理業(yè)務。如果選擇了委托人,則在審批的過程中則將該審批人的業(yè)務直接轉交給委托人進行辦理。
如果在“部門領導審批節(jié)點”或者“公司領導審批節(jié)點”處存在多個審批人,當有審批人未審批時,主辦人可以選擇“強制流轉”,直接提交下一個節(jié)點,經辦人不可以提交。
根據以上的流程的描述,該單據的審批過程如業(yè)務流程圖2所示。
根據業(yè)務流程圖的描述,所包含的路徑為:部門審批節(jié)點有3*2*2*2*2*2*2=192條路徑,由于流程較為復雜,后續(xù)公司審批節(jié)點就暫不考慮。顯然這些路徑不論對測試用例的編寫或者是執(zhí)行,工作量都很大。因此需要對這192條路徑進行合理有效的篩選。
依據審批節(jié)點、流程走向、流轉條件的覆蓋的完整性,可對流程圖進行節(jié)點路徑覆蓋,優(yōu)化路徑覆蓋。根據以上描述進行用例的設計:
(1)主路徑設計
根據業(yè)務流程設置出基本的路徑,選擇覆蓋節(jié)點、路徑較多的,使用頻率較高的路徑作為優(yōu)先的路徑。首先不考慮審批節(jié)點(部門審批、公司審批)的回退邏輯,選擇較長且經常使用的路徑。由于流程較為復雜,僅以部門審批過程為例,此例中該路徑為:
路徑1:提交多領導審批(指定辦理人),所有領導人審批結束才能提交下一節(jié)點進行審批。
詳細流程描述如下(審批人1、2、3的角色為部門領導):
XX申請→提交部門領導審批→選擇3個領導→指定辦理人;
審批人1進行審批→未選擇委托辦理→審批人為主辦人→主辦人填寫審批意見→還有審批人未審批→未選擇強制提交;
審批人2進行審批→未選擇委托辦理→審批人為經辦人→經辦人填寫審批意見→還有審批人未審批→未選擇強制提交;
審批人3進行審批→未選擇委托辦理→審批人為經辦人→經辦人填寫審批意見→全部審批人審批通過;
部門審批通過→提交公司領導審批。
路徑2:提交多領導審批(先得人辦理),所有領導人審批結束才能提交下一節(jié)點進行審批。
詳細流程描述如下:
XX申請→提交部門領導審批→選擇3個領導→先得人辦理;
審批人1進行審批→未選擇委托辦理→審批人為主辦人→主辦人填寫審批意見→還有審批人未審批→未選擇強制提交;
審批人2進行審批→未選擇委托辦理→審批人為經辦人→經辦人填寫審批意見→還有審批人未審批→未選擇強制提交;
審批人3進行審批→未選擇委托辦理→審批人為經辦人→經辦人填寫審批意見→全部審批人審批通過;
部門審批通過→提交公司領導審批。endprint
路徑3:提交多領導審批(指定辦理人),選擇強制提交,主辦人審批后即可提交下一節(jié)點進行審批。
詳細流程描述如下:
XX申請→提交部門領導審批→選擇3個領導→指定辦理人;
審批人1進行審批→未選擇委托辦理→審批人為主辦人→主辦人填寫審批意見→還有審批人未審批→選擇強制提交→部門審批通過→提交公司領導審批。
路徑4: 提交1個領導審批,選擇委托辦理,主辦人審批后提交下一節(jié)點進行審批。
詳細流程描述如下:
XX申請→提交部門領導審批→選擇1個領導→選擇委托辦理;
委托人進行審批→委托人為主辦人→主辦人填寫審批意見→部門審批通過→提交公司領導審批。
(2)審批節(jié)點覆蓋路徑設計
路徑5:XX申請→提交1個部門領導審批→部門審批通過→提交1個公司領導審批→公司審批通過→審批結束
(3)流程走向覆蓋路徑設計
路徑6:覆蓋審批過程中的回退流程。
詳細過程描述如下:XX申請→提交1個部門領導審批→部門審批未通過→返回申請人→提交1個部門領導審批→部門審批通過→提交1個公司領導審批→公司審批未通過→返回申請人→提交1個部門領導審批→部門審批通過→提交1個公司領導審批→公司審批通過→審批結束。
路徑7:經辦人不能強制提交。
詳細過程描述如下: XX申請→提交部門領導審批→選擇3個領導→指定主辦人;
審批人1進行審批→未選擇委托辦理→審批人為經辦人→經辦人不能選擇強制提交。
路徑8:主辦人委托辦理后原主辦人不能再審批。
詳細過程描述如下:XX申請→提交部門領導審批→選擇1個領導→選擇委托辦理→原主辦人不能辦理。
(4)流轉條件覆蓋路徑設計
對流程中覆蓋到的流轉條件列舉分析如下:
(a)部門審批節(jié)點中選擇“選擇部門領導(1個或者多個領導)”,選擇1個部門領導審批時(路徑4)覆蓋,選擇多個部門領導審批時(路徑1)覆蓋。
(b)部門審批節(jié)點中選擇“審批人(指定審批人或者先到先得)”,指定審批人時(路徑1)覆蓋,先到先得時(路徑2)覆蓋。
(c)部門審批節(jié)點中“是否委托辦理”,“是”(路徑1)覆蓋,“否”(路徑4)覆蓋。
(d)部門審批節(jié)點中“是否主辦人”,“是”(路徑1)覆蓋,“否”(路徑1)覆蓋。
(e)部門審批節(jié)點中“是否強制提交”,“是”(路徑3)覆蓋,“否”(路徑1)覆蓋。
(f)部門審批節(jié)點中“是否同意”,“是”(路徑1)覆蓋,“否”(路徑6)覆蓋。
以上覆蓋了所有的路徑。不用重復設計測試用例。將原來的流程由192條路徑減少到8條路徑,大大減少了工作量,同時也保證了流程路徑的完全覆蓋,通過以上分析,此種測試用例的編寫方法合理可行。
4 結語
工作流管理系統(tǒng)是一個涉及多個領域不斷發(fā)展的新技術,只有在應用到生產實踐中,才能發(fā)現不足和新的需求,真正適應企業(yè)的需要。
工作流管理的目標是實現部分或者全部業(yè)務過程運行自動化,可以有效實企業(yè)應用邏輯和過程邏輯的分離,把人、信息和應該工作合理的組織在一起,發(fā)揮系統(tǒng)的最大效能,本文通過實際項目的測試,采用此工作流測試方法測試的辦公自動化、ERP等工作流系統(tǒng)流程通暢,信息傳遞正確完整,符合流轉規(guī)則,未出現流轉方面的缺陷,取得了良好效果。
參考文獻
[1] Workflow Management Coalition. WFMC-TC-1011. Terminology & Glossary. Winchester:WfMC, 1999.
[2] 王振華.復雜工作流軟件自動化測試方法的研究[D].復旦大學,2009.
[3] 夏士峰.工作流軟件測試技術的研究與實踐[D].北京郵電大學,2006.
[4] Wil van der Aalst&Kees van Hee,工作流管理——模型、方法和系統(tǒng)[M].北京:清華大學出版社,2004:45-52.
[5] 林琳,鐘詩勝,王知行.面向對象的分布式工作流管理系統(tǒng)研究[M].四川成都:數字化設計與制造,2003:346-370.
[6] 鄒宇,劉毅,陳佩文.基于圖歸約法的工作流模型驗證[J].計算機應用,2003,23(4):86-88.
[7] 嚴蓉,陸倜.工作流管理系統(tǒng)中表單生成器的設計與實現[J].北京機械工業(yè)學院學報,2002,17(3):46-50.
[8] 王興鵬.工作流管理系統(tǒng)與ERP系統(tǒng)的集成應用[J].微機發(fā)展,2003,13(12): 124-126.
[9] 沈軍,馬瑞.基于工作流的測試數據庫管理系統(tǒng)[J].計算機技術與發(fā)展,2006, 16(10).
[10] 鄭小軍,劉超,晏海華.基于工作流技術的軟件測試流程定義與監(jiān)控[J].計算機應用研究,2007(2).
[11] 吳波,郭素敏.工作流技術在軟件測試中的應用[J].(中國電子科技集團公司,第四十一研究所,山東,青島)云南民族大學學報(自然科學版),2009(2):169-172.
[12] 張曉雯,徐東.基于工作流的軟件測試H模型研究[J].軟件導刊,2013(2).
[13] 丁大偉,李長云,劉小飛.一種基于有向圖的工作流測試方法[J].微計算機信息, 2010(12).
[14] 張孟穎.基于工作流的軟件測試管理系統(tǒng)設計與實現[J].南京理工大學,2013.endprint
路徑3:提交多領導審批(指定辦理人),選擇強制提交,主辦人審批后即可提交下一節(jié)點進行審批。
詳細流程描述如下:
XX申請→提交部門領導審批→選擇3個領導→指定辦理人;
審批人1進行審批→未選擇委托辦理→審批人為主辦人→主辦人填寫審批意見→還有審批人未審批→選擇強制提交→部門審批通過→提交公司領導審批。
路徑4: 提交1個領導審批,選擇委托辦理,主辦人審批后提交下一節(jié)點進行審批。
詳細流程描述如下:
XX申請→提交部門領導審批→選擇1個領導→選擇委托辦理;
委托人進行審批→委托人為主辦人→主辦人填寫審批意見→部門審批通過→提交公司領導審批。
(2)審批節(jié)點覆蓋路徑設計
路徑5:XX申請→提交1個部門領導審批→部門審批通過→提交1個公司領導審批→公司審批通過→審批結束
(3)流程走向覆蓋路徑設計
路徑6:覆蓋審批過程中的回退流程。
詳細過程描述如下:XX申請→提交1個部門領導審批→部門審批未通過→返回申請人→提交1個部門領導審批→部門審批通過→提交1個公司領導審批→公司審批未通過→返回申請人→提交1個部門領導審批→部門審批通過→提交1個公司領導審批→公司審批通過→審批結束。
路徑7:經辦人不能強制提交。
詳細過程描述如下: XX申請→提交部門領導審批→選擇3個領導→指定主辦人;
審批人1進行審批→未選擇委托辦理→審批人為經辦人→經辦人不能選擇強制提交。
路徑8:主辦人委托辦理后原主辦人不能再審批。
詳細過程描述如下:XX申請→提交部門領導審批→選擇1個領導→選擇委托辦理→原主辦人不能辦理。
(4)流轉條件覆蓋路徑設計
對流程中覆蓋到的流轉條件列舉分析如下:
(a)部門審批節(jié)點中選擇“選擇部門領導(1個或者多個領導)”,選擇1個部門領導審批時(路徑4)覆蓋,選擇多個部門領導審批時(路徑1)覆蓋。
(b)部門審批節(jié)點中選擇“審批人(指定審批人或者先到先得)”,指定審批人時(路徑1)覆蓋,先到先得時(路徑2)覆蓋。
(c)部門審批節(jié)點中“是否委托辦理”,“是”(路徑1)覆蓋,“否”(路徑4)覆蓋。
(d)部門審批節(jié)點中“是否主辦人”,“是”(路徑1)覆蓋,“否”(路徑1)覆蓋。
(e)部門審批節(jié)點中“是否強制提交”,“是”(路徑3)覆蓋,“否”(路徑1)覆蓋。
(f)部門審批節(jié)點中“是否同意”,“是”(路徑1)覆蓋,“否”(路徑6)覆蓋。
以上覆蓋了所有的路徑。不用重復設計測試用例。將原來的流程由192條路徑減少到8條路徑,大大減少了工作量,同時也保證了流程路徑的完全覆蓋,通過以上分析,此種測試用例的編寫方法合理可行。
4 結語
工作流管理系統(tǒng)是一個涉及多個領域不斷發(fā)展的新技術,只有在應用到生產實踐中,才能發(fā)現不足和新的需求,真正適應企業(yè)的需要。
工作流管理的目標是實現部分或者全部業(yè)務過程運行自動化,可以有效實企業(yè)應用邏輯和過程邏輯的分離,把人、信息和應該工作合理的組織在一起,發(fā)揮系統(tǒng)的最大效能,本文通過實際項目的測試,采用此工作流測試方法測試的辦公自動化、ERP等工作流系統(tǒng)流程通暢,信息傳遞正確完整,符合流轉規(guī)則,未出現流轉方面的缺陷,取得了良好效果。
參考文獻
[1] Workflow Management Coalition. WFMC-TC-1011. Terminology & Glossary. Winchester:WfMC, 1999.
[2] 王振華.復雜工作流軟件自動化測試方法的研究[D].復旦大學,2009.
[3] 夏士峰.工作流軟件測試技術的研究與實踐[D].北京郵電大學,2006.
[4] Wil van der Aalst&Kees van Hee,工作流管理——模型、方法和系統(tǒng)[M].北京:清華大學出版社,2004:45-52.
[5] 林琳,鐘詩勝,王知行.面向對象的分布式工作流管理系統(tǒng)研究[M].四川成都:數字化設計與制造,2003:346-370.
[6] 鄒宇,劉毅,陳佩文.基于圖歸約法的工作流模型驗證[J].計算機應用,2003,23(4):86-88.
[7] 嚴蓉,陸倜.工作流管理系統(tǒng)中表單生成器的設計與實現[J].北京機械工業(yè)學院學報,2002,17(3):46-50.
[8] 王興鵬.工作流管理系統(tǒng)與ERP系統(tǒng)的集成應用[J].微機發(fā)展,2003,13(12): 124-126.
[9] 沈軍,馬瑞.基于工作流的測試數據庫管理系統(tǒng)[J].計算機技術與發(fā)展,2006, 16(10).
[10] 鄭小軍,劉超,晏海華.基于工作流技術的軟件測試流程定義與監(jiān)控[J].計算機應用研究,2007(2).
[11] 吳波,郭素敏.工作流技術在軟件測試中的應用[J].(中國電子科技集團公司,第四十一研究所,山東,青島)云南民族大學學報(自然科學版),2009(2):169-172.
[12] 張曉雯,徐東.基于工作流的軟件測試H模型研究[J].軟件導刊,2013(2).
[13] 丁大偉,李長云,劉小飛.一種基于有向圖的工作流測試方法[J].微計算機信息, 2010(12).
[14] 張孟穎.基于工作流的軟件測試管理系統(tǒng)設計與實現[J].南京理工大學,2013.endprint
路徑3:提交多領導審批(指定辦理人),選擇強制提交,主辦人審批后即可提交下一節(jié)點進行審批。
詳細流程描述如下:
XX申請→提交部門領導審批→選擇3個領導→指定辦理人;
審批人1進行審批→未選擇委托辦理→審批人為主辦人→主辦人填寫審批意見→還有審批人未審批→選擇強制提交→部門審批通過→提交公司領導審批。
路徑4: 提交1個領導審批,選擇委托辦理,主辦人審批后提交下一節(jié)點進行審批。
詳細流程描述如下:
XX申請→提交部門領導審批→選擇1個領導→選擇委托辦理;
委托人進行審批→委托人為主辦人→主辦人填寫審批意見→部門審批通過→提交公司領導審批。
(2)審批節(jié)點覆蓋路徑設計
路徑5:XX申請→提交1個部門領導審批→部門審批通過→提交1個公司領導審批→公司審批通過→審批結束
(3)流程走向覆蓋路徑設計
路徑6:覆蓋審批過程中的回退流程。
詳細過程描述如下:XX申請→提交1個部門領導審批→部門審批未通過→返回申請人→提交1個部門領導審批→部門審批通過→提交1個公司領導審批→公司審批未通過→返回申請人→提交1個部門領導審批→部門審批通過→提交1個公司領導審批→公司審批通過→審批結束。
路徑7:經辦人不能強制提交。
詳細過程描述如下: XX申請→提交部門領導審批→選擇3個領導→指定主辦人;
審批人1進行審批→未選擇委托辦理→審批人為經辦人→經辦人不能選擇強制提交。
路徑8:主辦人委托辦理后原主辦人不能再審批。
詳細過程描述如下:XX申請→提交部門領導審批→選擇1個領導→選擇委托辦理→原主辦人不能辦理。
(4)流轉條件覆蓋路徑設計
對流程中覆蓋到的流轉條件列舉分析如下:
(a)部門審批節(jié)點中選擇“選擇部門領導(1個或者多個領導)”,選擇1個部門領導審批時(路徑4)覆蓋,選擇多個部門領導審批時(路徑1)覆蓋。
(b)部門審批節(jié)點中選擇“審批人(指定審批人或者先到先得)”,指定審批人時(路徑1)覆蓋,先到先得時(路徑2)覆蓋。
(c)部門審批節(jié)點中“是否委托辦理”,“是”(路徑1)覆蓋,“否”(路徑4)覆蓋。
(d)部門審批節(jié)點中“是否主辦人”,“是”(路徑1)覆蓋,“否”(路徑1)覆蓋。
(e)部門審批節(jié)點中“是否強制提交”,“是”(路徑3)覆蓋,“否”(路徑1)覆蓋。
(f)部門審批節(jié)點中“是否同意”,“是”(路徑1)覆蓋,“否”(路徑6)覆蓋。
以上覆蓋了所有的路徑。不用重復設計測試用例。將原來的流程由192條路徑減少到8條路徑,大大減少了工作量,同時也保證了流程路徑的完全覆蓋,通過以上分析,此種測試用例的編寫方法合理可行。
4 結語
工作流管理系統(tǒng)是一個涉及多個領域不斷發(fā)展的新技術,只有在應用到生產實踐中,才能發(fā)現不足和新的需求,真正適應企業(yè)的需要。
工作流管理的目標是實現部分或者全部業(yè)務過程運行自動化,可以有效實企業(yè)應用邏輯和過程邏輯的分離,把人、信息和應該工作合理的組織在一起,發(fā)揮系統(tǒng)的最大效能,本文通過實際項目的測試,采用此工作流測試方法測試的辦公自動化、ERP等工作流系統(tǒng)流程通暢,信息傳遞正確完整,符合流轉規(guī)則,未出現流轉方面的缺陷,取得了良好效果。
參考文獻
[1] Workflow Management Coalition. WFMC-TC-1011. Terminology & Glossary. Winchester:WfMC, 1999.
[2] 王振華.復雜工作流軟件自動化測試方法的研究[D].復旦大學,2009.
[3] 夏士峰.工作流軟件測試技術的研究與實踐[D].北京郵電大學,2006.
[4] Wil van der Aalst&Kees van Hee,工作流管理——模型、方法和系統(tǒng)[M].北京:清華大學出版社,2004:45-52.
[5] 林琳,鐘詩勝,王知行.面向對象的分布式工作流管理系統(tǒng)研究[M].四川成都:數字化設計與制造,2003:346-370.
[6] 鄒宇,劉毅,陳佩文.基于圖歸約法的工作流模型驗證[J].計算機應用,2003,23(4):86-88.
[7] 嚴蓉,陸倜.工作流管理系統(tǒng)中表單生成器的設計與實現[J].北京機械工業(yè)學院學報,2002,17(3):46-50.
[8] 王興鵬.工作流管理系統(tǒng)與ERP系統(tǒng)的集成應用[J].微機發(fā)展,2003,13(12): 124-126.
[9] 沈軍,馬瑞.基于工作流的測試數據庫管理系統(tǒng)[J].計算機技術與發(fā)展,2006, 16(10).
[10] 鄭小軍,劉超,晏海華.基于工作流技術的軟件測試流程定義與監(jiān)控[J].計算機應用研究,2007(2).
[11] 吳波,郭素敏.工作流技術在軟件測試中的應用[J].(中國電子科技集團公司,第四十一研究所,山東,青島)云南民族大學學報(自然科學版),2009(2):169-172.
[12] 張曉雯,徐東.基于工作流的軟件測試H模型研究[J].軟件導刊,2013(2).
[13] 丁大偉,李長云,劉小飛.一種基于有向圖的工作流測試方法[J].微計算機信息, 2010(12).
[14] 張孟穎.基于工作流的軟件測試管理系統(tǒng)設計與實現[J].南京理工大學,2013.endprint