王 靜, 劉 冰, 李 輝, 王 濤*
(1.長春工業(yè)大學計算機科學與工程學院,吉林長春 130012;2.吉林省塑料研究院,吉林長春 130022)
基于約束滿足的ERP測試計劃方法
王 靜1, 劉 冰1, 李 輝2, 王 濤1*
(1.長春工業(yè)大學計算機科學與工程學院,吉林長春 130012;2.吉林省塑料研究院,吉林長春 130022)
將約束編程與ERP產品自身特點相結合,提出了一種基于約束滿足的ERP測試計劃方法。通過對某飼料行業(yè)ERP中記賬憑證軟件進行約束建模。該測試計劃方法已經應用于飼料行業(yè)ERP平臺中。
約束滿足;ERP;測試計劃;約束建模
企業(yè)資源計劃(Enterprise Resource Planning,ERP)以其信息化管理方式改進企業(yè)的業(yè)務流程、完善供需鏈、提高企業(yè)經濟效益,雖然目前ERP在我國的應用并不成熟,但是這種信息化的管理方式具有充分的發(fā)展空間。對于ERP產品,其持續(xù)有效存活取決于產品的質量,因此產品的測試工作尤為重要。據(jù)統(tǒng)計,在一個軟件產品開發(fā)過程中,軟件測試工作所占比重大致為軟件開發(fā)總工作量的40%[1]。ERP具有開發(fā)周期長、流程化的特點,目前,ERP測試計劃的制定多以經驗為指導,只是根據(jù)產品模塊以及測試人員的時間等因素主觀進行測試資源分配,文獻[1]給出一種軟件測試計劃方法,一定程度上提高了測試的效率,但對ERP產品而言并不完全適合。ERP具有模塊聯(lián)系緊密的特性,對業(yè)務操作流程不熟悉的測試人員而言,測試結果可能并不盡人意,遺留bug過多必然影響產品的正常實施[1]。因此對于ERP的測試,一般需要具有符合產品特點的實施測試的計劃和方法,對測試的模塊、內容、分配的測試人員等方面進行詳細描述,制定合理的測試資源分配方法是十分必要的。
約束程序(Constraint Programming,CP)是人工智能領域一個重要的研究分支,其在描述約束滿足問題方面取得了很多成熟的研究結果,軟件測試的分配方法類似于約束滿足問題中的一類調度問題,因此,文中將ERP測試計劃問題轉化為約束滿足問題(Constraint Satisfaction Problem,CSP)進行求解,具有一定的可行性與合理性。基于此,文中提出了一種基于約束滿足的ERP測試計劃方法,對某飼料行業(yè)ERP中記賬憑證軟件約束建模,測試驗證了文中方法的有效性,目前,該測試方法已經應用于飼料行業(yè)ERP平臺并取得較好效果。這對于指導ERP產品的測試工作具有很重要的現(xiàn)實意義[2-3]。
軟件測試是軟件質量保證的重要手段,研究表明:軟件產品開發(fā)費用和軟件質量與軟件產品中存在問題發(fā)現(xiàn)時間早晚有直接關系。盡早發(fā)現(xiàn)產品中的問題,后期維護費用也相應會減少。目前軟件測試的工作主要放在測試技術上,對軟件測試過程關注很少,軟件測試過程對軟件的有效性及軟件質量具有很好的衡量作用,因此,軟件測試過程的改進具有重要的現(xiàn)實意義。CMMI是針對軟件過程改進提出的,軟件產品測試為軟件過程的一部分,因此,CMMI模型對于軟件產品測試具有一定的指導意義。度量由CMMI提供,主要是為了獲取過程的表征數(shù)據(jù)[45]。ERP對企業(yè)的采購、生產、銷售進行統(tǒng)一整合,每部分功能關聯(lián)緊密。軟件產品的測試人員并不一定是參與開發(fā)的人員,對產品的代碼結構并不一定熟悉,因此,選取功能點數(shù)作為產品規(guī)模的度量元。
ERP產品中功能點數(shù)根據(jù)需求計劃書確定。最終功能點數(shù)Nnm即為測試模塊的個數(shù)。功能點之間存在相互制約和無約束兩種關系。存在制約關系的功能點記為:mi∧mj(i,j<Nnm);無約束關系記為:mx∨my(x,y<Num)。子測試模塊集Mn包括多個測試模塊,至此得到測試模塊M:
由上式可得測試模塊及模塊間關系。
2.1 約束滿足問題
約束滿足問題是由一組預先定義的變量、變量的值域和變量間的約束關系組成,對約束滿足問題的求解意味著在滿足所有約束條件下對每個變量指派一個合法的域值。其形式化為:問題P是一個三元組P=(X,D,C)。其中,X={x1,x2,…,xn}是CSP中的變量集合;D={D1,D2,…,Dn}是論域的集合,其中,Di∈D對應xi∈X,是變量xi的有限值域;C={c1,c2,…,ck}是一個有限約束集合,其中,任意cj∈C表示變量取值之間的制約關系[6]。其解為每個變量賦其論域上的一個值,使之同時滿足所有的約束[7-10]。
約束程序綜合了運籌學和人工智能的知識,可以用來求解組合優(yōu)化問題。約束指一個包含若干變量的關系表達式,用以表示這些變量必須滿足的條件[11-12]。求解CSP的基本思想是定義問題領域的變量,每個變量預先設置各自的值域,通過描述各變量之間的約束,尋找滿足全局所有約束的一個或多個解[13-16]。ERP測試計劃方法問題涉及到測試模塊的測試時間、測試人員對測試工作的能力值、測試人員對模塊的熟悉程度、測試模塊并發(fā)之間的平衡,具有NP-難的復雜性。
2.2 CP建模
2.2.1.ERP程序的變量描述
根據(jù)飼料行業(yè)ERP記賬憑證模塊測試的實際情況,確定測試分配方法中的變量如下:
1)測試工作開始時間:Ts。
2)測試模塊交付時間:Te。
3)測試模塊集合:M。
4)每個測試模塊在理想狀態(tài)下的測試工時:W={w1,w2,…,wi}。
5)測試人員集合:P={p1,p2,…,pz}。
6)測試人員P對測試中關注項T={t1,t2,…,tk}的能力值Q={q1,q2,…,qz}。
7)測試人員P對測試模塊mi熟悉程度:Fzi。
下面對上述變量進行化簡。每個測試模塊mi的測試開始時間Tsi有兩種情況:
1)整個測試工作的開始時間Ts即為模塊測試的開始時間Tsi=Ts;
2)根據(jù)前置測試模塊的測試結束時間Te
i-1確定Tsi。每個測試模塊的測試工時并不確定,工時的長短取決于測試人員對該測試模塊的熟悉程度Fzi,以及測試人員的個人能力值T。
根據(jù)飼料行業(yè)ERP實際情況,測試人員對測試主要關注項T的能力值見表1(完全熟悉記作1.0;本測試團隊人員為5)。
表1 測試人員對測試過程主要關注項能力值
測試人員P的測試能力值用對各關注項T的加權平均表示。
測試工時W是指測試人員能力值以及測試人員對測試模塊的熟悉程度均為1.0時的測試用時。根據(jù)表1以及測試人員pz對測試模塊的熟悉程度Fzi按照公式wi/(qz×Fzi)可以得到測試人員P對每個測試模塊M進行測試的工時,記為Wzi。
至此,變量3),5),6)化簡為測試人員對每個測試模塊的測試工時:Wzi。
2.2.2.ERP程序的約束描述
測試模塊時間順序約束。模塊測試開始時間Tsi應該等于或晚于整個模塊測試開始時間Ts,記作:Tsi≤Ts;測試模塊的結束時間Tei應該早于或等于模塊交付時間Te,記作:Te≤Tei;測試模塊mj應該在測試模塊mi測試結束之后進行測試,即滿足:Tsi>Tsj∧Tei>Tsj,其中i,j為模塊集個數(shù)。
測試模塊間并發(fā)約束。測試中的部分測試模塊的測試是可以同時進行的。用M′={m′1,m′2,…,m′i}表示,其中M′模塊的個數(shù)大于等于2,并發(fā)模塊M′是依據(jù)測試過程不斷變化的。
個人能力約束。測試模塊人員分配應根據(jù)測試人員測試關注項的能力值和測試人員對測試模塊的熟悉程度確定。
同一時刻、同一測試模塊只能由一位測試人員進行測試。
3.1 約束傳播
約束傳播技術是通過在搜索過程中不斷縮小搜索空間來簡化問題的求解難度[17]。該案例ERP憑證部分的測試方法通過使用約束傳播技術,可以及時、有效地去除部分無用值,進而簡化求解過程。
3.2 回溯
當某變量被賦值后,則進行約束傳播,此時約束傳播的值域縮減,這就使得未賦值集合中某些變量的值域為空,這就說明此時的賦值并沒有可行解[18-20]。這個時候需采用回溯方法取得可行解。
在變量的集合和約束已知的前提下,CSP技術可以找到滿足所有約束的合理的解集。文獻[1]根據(jù)需求樹確定測試模塊集,文中的測試模塊則是根據(jù)功能點確定,這更符合ERP產品的行業(yè)特色。對模型求解算法如下:
輸入部分根據(jù)測試人員對測試模塊的熟悉程度和測試人員對測試關注項的能力值,得到測試人員對各測試模塊的測試工時;輸入模塊中包含由式(1)得到的測試模塊及關系。
算法開始,若測試模塊中包含未測試的模塊mi,則對其分配測試人員。若mi包含在并發(fā)測試模塊中,則對其進行并發(fā)處理。為當前模塊mi分配測試人員后需要進行約束傳播,若發(fā)生沖突,則進行回溯操作,直至找到可行解并輸出。
3.3 并發(fā)測試模塊
并發(fā)問題在測試工作中比較常見[20],本ERP憑證部分的測試顯然存在并發(fā)問題。測試開始時,對于手工填制憑證、采購轉憑證、生產轉憑證、銷售轉憑證是可以同時發(fā)生的,對于并發(fā)測試模塊集的處理如下。
選取并發(fā)測試模塊中理想狀態(tài)下測試工時最大的子測試模塊Max(W),在測試人員中選取對當前測試模塊測試工時最小Min(Wzi)的測試人員,若該測試人員資源被占用,則回溯。若沒有未分配任務的測試人員,則未分配測試人員的測試模塊處于等待狀態(tài),等待最近一次結束的測試人員,其它模塊則開始測試,此時測試過程轉化為順序執(zhí)行測試。
對于ERP系統(tǒng)而言,財務是整個系統(tǒng)的核心,企業(yè)的采購、生產、庫存狀況最終都將體現(xiàn)在財務系統(tǒng),財務數(shù)據(jù)的準確性可直觀地體現(xiàn)企業(yè)的經濟效益,因此,財務系統(tǒng)成為企業(yè)人員最為關心的部分,對于測試人員而言,在業(yè)務流程穩(wěn)定的前提下,測試的重點理應放在財務系統(tǒng)上。因此,這里選取飼料行業(yè)ERP財務系統(tǒng)的核心記賬憑證模塊進行測試。該財務模塊分為兩部分:手工填制的憑證和業(yè)務數(shù)據(jù)的轉憑證。手工填制憑證主要對憑證中各部分內容進行填制、對憑證進行審核簽字、憑證的打印設置、打印及刪除功能;業(yè)務數(shù)據(jù)的轉憑證主要是將業(yè)務部分的采購單、生產單、銷售單轉為記賬憑證,根據(jù)需求,這里的轉憑證是一單一轉,因此,對于這三大部分的轉憑證應分為3個模塊,而每部分所轉的記賬憑證也具有審核簽字、打印設置、打印以及刪除功能。至此得到測試模塊集M:
飼料行業(yè)ERP有測試人員5人,模塊測試標準工時為48h,測試人員對測試模塊的熟悉程度Fzi見表2。
表2 測試人員對測試模塊熟悉度
每個測試模塊的標準測試工時W見表3。
表3 每個測試模塊的標準測試工時 W/h
由表1~表3可得測試人員對每個測試模塊的工時,見表4。
表4 測試人員對測試模塊的工時 W/h
如此得到一個可行解,如圖1所示。
圖1 基于約束滿足的測試分配方法圖
圖中,橫坐標表示測試時間,縱坐標表示測試模塊。由圖1可知,記賬憑證部分測試完成為22h。
較之基于經驗的測試分配方法,文中提出的方法不僅縮短了完成工期,而且測試更全面。測試人員基于經驗的測試方法和文中測試方法在時間和測試全面性(bug數(shù)目為依據(jù))的對比情況分別如圖2和圖3所示。
圖2 測試人員測試用時對比圖
圖3 測試人員測試全面性對比圖
每個測試人員的測試工時縮短的同時,測試更具全面性、科學性,這就降低了模塊中出現(xiàn)異常的可能性,為整個產品的交付提供了保障。
根據(jù)ERP本身測試的特點,將測試方法問題模為約束求解問題,并提出了一種全新的基于束滿足的測試方法。將該方法應用于飼料行業(yè)P記賬憑證模塊的測試方法取得了較好的效。目前,有很多不同類型、不同性質的軟件產,由于不同軟件產品對軟件測試所關注點以及試人員能力值差異等問題,約束集合的確定還要根據(jù)具體情況而定,這就需要進一步對約束足問題進行研究,根據(jù)自身特點構造出合適的件測試方法。
[1]李悅,李娟,陳偉.基于約束滿足的測試計劃方法[J].計算機工程與設計,2008(3):535-539.
[2]柏淑琴.高校排課問題的約束滿足優(yōu)化模型與算法[J].科技視界,2012(18):39-42.
[3]Freuder E C,Mackworth A K.Constraint Satisfaction:An Emerging Paradigm.RossiF,van Beek P,Walsh T,eds.Handbook of Constraint Programming[C]//Amsterdam:Elservier,2006:13-28.
[4]李宏博,李占山,王濤.改進求解約束滿足問題粗粒度弧相容算法[J].軟件學報,2012,23(7):1816-1823.
[5]Minton S,Johnston M D,Laird P.Minimal conflicts:A heuristic repair method for constraint satisfaction and scheduling problems[J].Artificial Intelligence,1992,58(1):161-206.
[6]Bessière C,Cardon S,Debruyne R,et al.Efficient algorithms for singleton arc consistency[J].Constraints,2011,16(1):25-50.
[7]Bessière C.Constraint Propagation.Rossi F,van Beek P,Walsh T,eds.Handbook of Constraint Programming[C]//Amsterdam:Elservier,2006:29-84.
[8]Freuder E C,Mackworth A K.Constraint Satisfaction:An Emerging Paradigm[C]//Rossi F,van Beek P,Walsh T,eds.Handbook of Constraint Programming.Amsterdam:Elservier,2006:13-28.
[9]Bessière C,Regin J C,Yap RHC,et al.An optimal coarse-grained arc consistency algorithm[J].Artificial Intelligence,2005,165(2):165-185.
[10]Jones C.Software assessments,benchmarks,and best practices[M].Beijing:China Machine Press,2003.
[11]Ivar Jacobsen,Grady Booch,James Rumbaugh.The unified software development process[M].Beijing:China Machine Press,2002.
[12]James Rumbaugh,Ivar Jacobsen,Grady Booch.The unified modeling language reference manual[M].USA:Addison Wesley Longman Inc,1999.
[13]Lecoutre C,Boussemart F,Hemery F.Exploiting multidirectionality in coarse-grained arc consistency algorithms[C]//In:Proc.of the CP 2003.Kinsale,2003.
[14]Mehta D,Van Dongen MRC.Reducing checks and revisions in coarse-grained MAC algorithms[C]//In:Proc.of the IJCAI,2005.
[15]Wallace R J,F(xiàn)reuder E C.Ordering heuristics for arc consistency algorithms[C]//In:Proc.of the 9th Canadian Conf.on Artificial Intelligence.Vancouver,1992.
[16]Van Dongen M R C.Saving support checks does not always save time[J].Artificial Intelligence Review,2004,21(3/4):125-132.
[17]Li Z S,Li H B,Zhang Y G,et al.An approach of solving constraint satisfaction problem based on cycle-cut[J].Chinese Journal of Computers,2011,34(8):235-242.
[18]Boussemart F,Hemery F,Lecoutre C,et al.Boosting systematic search by weighting constraints[C]//In:Proc.of the 16th European Conf.on Artificial Intelligence.Valencia,2004.
[19]Smith B M,Dyer M E.Locating the phase transition in binary constraint satisfaction problems[J].Artificial Intelligence,1996,81(1):565-582.
[20]SEI Software.Engineering measurement and analysis[EB/OL].http://www.sei.cmu.edu/sema/welcome.html,2001.
Constraint-satisfaction based method for ERP test plan
WANG Jing1, LIU Bing1, LI Hui2, WANG Tao1*
(1.School of Computer Science &Engineering,Changchun University of Technology,Changchun 130012,China;2.Jili Province Plastics Research Institute,Changchun 130022,China)
Combing the constraint programming with the characteristics of the ERP products,we put forward a ERP test plan based on constraint-satisfaction.The mathematical model of the vouchers in ERP of a feed industry is established.The test plan has be applied in the ERP platform of the feed industry.
constraint satisfaction;Enterprise Resource Planning(ERP);test plan;constraint modeling.
N 39
A
1674-1374(2014)01-0071-06
2013-05-21
吉林省科技廳重點項目(20110361)
王 靜(1987-),女,漢族,山東萊蕪人,長春工業(yè)大學碩士研究生,主要從事約束求解方向研究,E-mail:wj1grace@163.com.*通訊作者:王 濤(1969-),女,漢族,吉林長春人,長春工業(yè)大學副教授,碩士,主要從事約束求解方向研究,E-mail:wangtao@m(xù)ail.ccut.edu.cn.