專利名稱::基于復雜網(wǎng)絡面向對象集成測試的方法
技術領域:
:本發(fā)明屬于計算機軟件測試
技術領域:
,特別涉及一種基于復雜網(wǎng)絡測試的方法。
背景技術:
:復雜網(wǎng)絡是當前研究的熱點,自然界中存在的大量復雜系統(tǒng)都可以通過形形色色的網(wǎng)絡加以描述。如社會關系網(wǎng)、電力網(wǎng)絡、互聯(lián)網(wǎng)、交通網(wǎng)等等。最近研究表明,大型軟件系統(tǒng)內(nèi)部結構并不是隨機的,也具有小世界效應和無標度特性。軟件測試作為軟件質(zhì)量保證的一個重要手段,在國內(nèi)外受到廣泛重視并已進行了許多研究。進行面向對象測試的一個重要方面就是確定測試順序,選擇有效的測試用例以達到測試充分性準則的要求。現(xiàn)有技術中以下幾種測試方法1、從對象行為的觀點出發(fā),用灰盒分析確定最重要的路徑和交互,制定出測試層次;2、通過基于用戶用例的結構化模型將軟件逐步集成;3、通過分析類與類之間相互作用關系,產(chǎn)生出類間集成測試的順序,使樁模塊的數(shù)目最小化;4、通過基于模型的面向對象形式規(guī)格說明推導測試用例的方法和技術。上述這些研究為面向對象軟件測試提供了許多好的方法,但是這些研究很少從面向對象軟件的內(nèi)部拓撲結構特點出發(fā),忽略了大型軟件系統(tǒng)的復雜網(wǎng)絡特性。
發(fā)明內(nèi)容本發(fā)明的目的在于,提供一種基于復雜網(wǎng)絡面向對象集成測試的方法。該方法將復雜網(wǎng)絡與面向對象軟件測試結合起來,根據(jù)目前新興的復雜網(wǎng)絡研究成果,結合面向對象軟件的內(nèi)部拓撲結構特點,對面向對象程序進行集成測試。本發(fā)明采用如下技術方案本發(fā)明采用黑盒測試方法,用統(tǒng)一建模語言(UnifiedModelingLanguage,UML)創(chuàng)建系統(tǒng)的結構模型,通過分析類(對象)之間的交互復雜性來確定測試的順序,用較少的測試用例達到較高的覆蓋率。對象圖表示了程序運行時創(chuàng)建的對象實例以及它們之間的關系,它是面向對象程序執(zhí)行時的"骨架"。因為圖中每個結點代表一個對象,當程序運行時對象圖會不斷變化。程序剛3運行時只有幾個對象,隨著程序的運行,會創(chuàng)建更多的對象,也會銷毀不再需—要的對象。圖的結構(對象之間的連接)也會隨之改變。對象是類的實例,類是創(chuàng)建對象的模板,類圖在軟件的整個生命周期都是存在的,因此本發(fā)明以類圖來分析系統(tǒng)的交互復雜性。類之間的交互復雜性可以通過度分布刻畫,如入度大的結點(類)說明其重用度大,而出度大的結點(類)往往比較復雜;無標度網(wǎng)絡一個特別有用的方面是它的抗損壞的魯棒性和脆弱性。因為大多數(shù)結點與其它結點有較少的連接,摧毀它們對其它的結點沒有什么影響。另一方面,一小部分的程度中心性結點(HUB類),又稱為HUB結點(類),被高度連接,摧毀它們的災難性是巨大的?;谲浖碗s網(wǎng)絡的這個特點,本發(fā)明具體采用的測試方法包括如下步驟1)采用統(tǒng)一建模語言(UML)創(chuàng)建被測軟件的系統(tǒng)結構模型,并將UML類圖表示為一個軟件網(wǎng)絡0=(V,E),其中G是一個連通有向圖,V是結點集,代表類;E是邊集,代表類之間的關系;2)遍歷整個軟件網(wǎng)絡,統(tǒng)計每個類依賴的類以及該類的入度和出度,并且記載在一個四元組(C—Test,C—D印,In—Degree,Out—Degree)中;其中,C—Test代表要統(tǒng)計的類,C—D印代表該統(tǒng)計類所依賴的類集,In—Degree代表指向該類的引用,Out—Degree代表離開該類的引用;3)首先集中測試In_Degree大而Out_Degree為0的類,這些類是重用度大而又不依賴于其他類的獨立類,先測重用度大的獨立類可以在保證測試覆蓋率的同時減少樁模塊的數(shù)量;4)接著測試使用該類的依賴類C—D印,依賴類C—D印是一個類集,原則上可以并行測試,但是本發(fā)明在并行測試依賴類時同樣優(yōu)先選擇測試In—Degree大而Out—Degree較小的類,并且每一次測試最多增加一個新類;沿著依賴類層次的測試序列重復執(zhí)行步驟4),使先測試的類優(yōu)先于后測試的類,一直持續(xù)到構造完整被測軟件的系統(tǒng)。通過先測試這些HUB類,接著再處理依賴它的類。這樣可以優(yōu)化測試用例,減少測試工作量。本發(fā)明在不降低原有覆蓋度的前提下,可以減少樁模塊的數(shù)量,提高測試效率。以下結合附圖及實施例進一步說明本發(fā)明。圖1為本發(fā)明實施例中的某系統(tǒng)類圖。具體實施例方式表l是系統(tǒng)類圖中每個類的四元組。4一種基于復雜網(wǎng)絡面向對象集成測試的方法,包括以下步驟1)采用統(tǒng)一建模語言(UnifiedModelingLanguage,UML)創(chuàng)建被測軟件的系統(tǒng)結構模型,并將UML類圖表示為一個軟件網(wǎng)絡G二(V,E),其中G是一個連通有向圖,V是結點集,代表類;E是邊集,代表類之間的關系;2)遍歷整個軟件網(wǎng)絡,統(tǒng)計每個類依賴的類以及該類的入度和出度,并且記載在一個四元組(C—Test,C—D印,In—Degree'Out—Degree)中;其中,C_Test代表要統(tǒng)計的類,C—D印代表該統(tǒng)計類所依賴的類集,In—Degree代表指向該類的引用,Out—Degree代表離開該類的引用;3)首先集中測試In_Degree大而Out_Degree為0的類;4)接著測試使用該類的依賴類C—D印,并且每一次測試最多增加一個新類;沿著依賴類層次的測試序列重復執(zhí)行步驟4),使先測試的類優(yōu)先于后測試的類,一直持續(xù)到構造完整被測軟件的系統(tǒng)。其中,所述步驟4)采用并行的測試方式。并且在并行測試依賴類C—D印時,優(yōu)先選擇測試In—Degree大而Out—Degree小的類。以下以一實例進行說明。假定采用UML語言創(chuàng)建被測軟件的系統(tǒng)結構模型,其UML類圖如圖1所示。圖中類A與類C、類D是聚合關系,其中類A是部分,類C、類D是整體,整體依賴于部分;類G與類D是泛化關系,D是基類,G是子類;類C與類B是依賴關系,C依賴于B;類B與類K、L、M是泛化關系,類K、L、M是類B的子類;類B、類S與類T是關聯(lián)關系,類B、類S依賴于類T;類T與類F也是關聯(lián)關系,類T還依賴于類F;類F、類E與類A是關聯(lián)關系,類F、類E依賴于類A,同時類E還依賴于類F。遍歷整個類圖網(wǎng)絡,首先得出每個類的四元組(CJTest,C—D印,In—Degree,Out_Degree),如下表所示。<table>tableseeoriginaldocumentpage5</column></row><table>從表1可知,類A是In_Degree大而Out_Degree為0的獨立類,應該最先測試;類C、D、E、F依賴于A,但是類C還需依賴于類B,所以類C還不能測試;類D、E、F中類F的In—Degree最大,而且類E依賴于類F,因此先測F,再測D,其次測E;再測F的依賴類T,D的依賴類G;T的依賴類是B和S,由于類B的In—Degree大于類S的In—Degree,因此先測B,再測S;類C,K,L,M依賴于B,且In—Degree都相同,可以并行測試。于是得到的測試順序是仏-〉F-〉D-〉E-〉T-〉G-〉B-〉S->{C,K,L,M}}。以上所述的實施例僅用于說明本發(fā)明的技術思想及特點,其目的在使本領域內(nèi)的技術人員能夠了解本發(fā)明的內(nèi)容并據(jù)以實施,當不能僅以本實施例來限定本發(fā)明的專利范圍,即凡依本發(fā)明所揭示的精神所作的同等變化或修飾,仍落在本發(fā)明的專利范圍內(nèi)。權利要求1、一種基于復雜網(wǎng)絡面向對象集成測試的方法,其特征在于包括以下步驟1)采用統(tǒng)一建模語言創(chuàng)建被測軟件的系統(tǒng)結構模型,并將UML類圖表示為一個軟件網(wǎng)絡G=(V,E),其中G是一個連通有向圖,V是結點集,代表類;E是邊集,代表類之間的關系;2)遍歷整個軟件網(wǎng)絡,統(tǒng)計每個類依賴的類以及該類的入度和出度,并且記載在一個四元組(C_Test,C_Dep,In_Degree,Out_Degree)中;其中,C_Test代表要統(tǒng)計的類,C_Dep代表該統(tǒng)計類所依賴的類集,In_Degree代表指向該類的引用,Out_Degree代表離開該類的引用;3)首先集中測試In_Degree大而Out_Degree為0的類;4)接著測試使用該類的依賴類C_Dep,并且每一次測試不增加類或者增加一個新類;沿著依賴類層次的測試序列重復執(zhí)行步驟4),使先測試的類優(yōu)先于后測試的類,一直持續(xù)到構造完整被測軟件的系統(tǒng)。2、根據(jù)權利要求l基于復雜網(wǎng)絡面向對象集成測試的方法,其特征在于所述步驟4)采用并行的測試方式。3、根據(jù)權利要求2基于復雜網(wǎng)絡面向對象集成測試的方法,其特征在于在并行測試依賴類C—D印時,優(yōu)先選擇測試In_Degree大而Out_Degree小的類。全文摘要基于復雜網(wǎng)絡面向對象集成測試的方法。1)采用統(tǒng)一建模語言創(chuàng)建被測軟件的系統(tǒng)結構模型,并將UML類圖表示為一個軟件網(wǎng)絡G=(V,E);2)遍歷整個軟件網(wǎng)絡,統(tǒng)計每個類依賴的類以及該類的入度和出度,并且記載在一個四元組中;3)首先集中測試入度大而出度為0的類;4)接著測試使用該類的依賴類,并且每一次測試不增加類或者增加一個新類;沿著依賴類層次的測試序列重復執(zhí)行步驟4),使先測試的類優(yōu)先于后測試的類,一直持續(xù)到構造完整被測軟件的系統(tǒng)。本發(fā)明將復雜網(wǎng)絡與面向對象軟件測試結合起來,結合面向對象軟件的內(nèi)部拓撲結構特點,對面向對象程序進行集成測試,優(yōu)化了測試用例,減少測試工作量。文檔編號G06F11/36GK101477490SQ20091004598公開日2009年7月8日申請日期2009年1月23日優(yōu)先權日2009年1月23日發(fā)明者李麗萍申請人:上海第二工業(yè)大學