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