摘要:為了更好地完成面向?qū)ο筌浖y試中的集成測試,提出了一種基于UML類圖的面向?qū)ο筌浖蓽y試方法。首先從UML類圖的文件中利用RationalRose提供的接口將類圖中的類內(nèi)信息、類間信息提取出來,并計算每個類的內(nèi)聚度以及類間耦合度,同時把每個類看作有向圖的結(jié)點,類的內(nèi)聚度、類間耦合度的加權(quán)作為節(jié)點的權(quán)值,類間關(guān)系的出度作為關(guān)系的權(quán)值。根據(jù)動態(tài)綁定的特點,在圖中添加類間可能存在的動態(tài)綁定線索;然后,遍歷該動態(tài)對象賦權(quán)圖生成集成測試的測試序列;最后對生成的序列進行篩選,得出最有效的測試序列。實驗證明該方法是有效的。
關(guān)鍵詞:UML類圖;有向賦權(quán)圖;面向?qū)ο筌浖蓽y試;ODDWG
中圖分類號:TN91934文獻標識碼:A文章編號:1004373X(2012)18003803
集成測試的目的是通過測試來發(fā)現(xiàn)和接口有關(guān)的錯誤,即把通過了單元測試的模塊組裝起來測試。類間存在的多種關(guān)系是測試順序的一個重要依據(jù)。選擇不同的測試順序?qū)Q定著測試的結(jié)果,如何尋找使得測試最為有效的測試順序是面向?qū)ο筌浖蓽y試的一個重要問題[12]。
本文將類圖中的類內(nèi)信息,類間信息提取出來,并計算每個類的內(nèi)聚度,以及類間耦合度,同時把每個類看作有向圖的結(jié)點,類的內(nèi)聚度作為結(jié)點的權(quán)值,類間耦合度作為關(guān)系的權(quán)值,并根據(jù)動態(tài)綁定存在的條件,添加可能的類間動態(tài)線索。最后利用深度與廣度結(jié)合的遍歷算法遍歷該有向圖生成集成測試的測試序列。
1擴展有向圖模型的定義
4結(jié)語
本文針對UML類圖中提取的信息,計算與類相關(guān)的信息,獲得對象動態(tài)加權(quán)有向圖,然后從有向圖中進行遍歷,生成集成測試測試序列。該算法不需要去除圖中的環(huán),生成方法簡單有效,在實際需要中得到了驗證,但隨著類圖的增加,測試序列數(shù)量會加大,導(dǎo)致序列的生成速度有所影響。因此下一步的工作是研究如何進行更有效的遍歷,同時在下一步工作中進一步研究類間耦合度和類內(nèi)聚度,使得圖中每個結(jié)點的權(quán)值獲取和邊的權(quán)值獲取更加的科學(xué)。
參考文獻
[1]JORGENSENPC,ERICKSONC.Objectorientedintegrationtesting[J].CACM,1994,37(9):3038.
[2]吳靜莉,韓松峰.基于UML集成測試模型的生成方法[J].微電子學(xué)與計算機,2008(7):913.
[3]陳樹峰.面向?qū)ο筌浖囊蕾囆苑治雠c回歸測試[J].計算機應(yīng)用,2009(6):2932,54.
[4]林紅昌,胡覺亮.基于Petri網(wǎng)的軟件測試用例的產(chǎn)生和分析[J].計算機工程與應(yīng)用,2009(10):3033.
[5]FOWLERM.UML精粹標準對象建模語言簡明指南[M].徐家福,譯.北京:清華大學(xué)出版社,2005.
[6]AIKC,DANIELSFJ.InterclasstestorderforobjectorientedSoftware[J].JournalofObjectOrientedProgramming,1999,12(4):1825.
[7]LETY,JERONT,JEZEQUELJM,etal.Efficientobjectorientedintegrationandregressiontesting[J].IEEETransonReliabilitu,2000,49(1):1225.
[8]WUYe,CHENMeihua,OFFUTTJeff.UMLbasedintegrationtestingforcomponentbasedsoftwarelecturenotesincomputerscience[C]//ProceedingsoftheSecondInternationalConferenceonCOTSBasedSoftwareSystems.London,UK:SpringerVerlay,2003:251260.
[9]吳方軍.基于依賴性分析的UML類圖粗粒度切片方法[J].應(yīng)用科學(xué)學(xué)報,2004(13):9597.