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