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