一種軟件測試方法和裝置制造方法
【專利摘要】本發(fā)明屬于軟件測試領(lǐng)域,提供了一種軟件測試方法和裝置,該方法包括:a)、接收測試用例和測試參數(shù);b)、使用所述測試用例加載所述測試參數(shù)執(zhí)行漏洞測試;c)、判斷測試次數(shù)是否大于預(yù)設(shè)的最大測試次數(shù);d)、如果所述測試次數(shù)小于或等于所述最大測試次數(shù),將所述測試參數(shù)進(jìn)行變換組合得到新的測試參數(shù),并返回步驟b)。本發(fā)明實(shí)施例能夠?qū)斎氲臏y試參數(shù)進(jìn)行變換組合,可以自動生成新的測試參數(shù),自動進(jìn)行多次的漏洞測試,從而有效的解決現(xiàn)有技術(shù)設(shè)置好測試參數(shù)后無法發(fā)現(xiàn)測試參數(shù)范圍外的漏洞的問題,不需要人工進(jìn)行測試參數(shù)的增加,能夠提高測試效率和測試的便利性。
【專利說明】一種軟件測試方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于軟件測試領(lǐng)域,尤其涉及一種軟件測試方法和裝置。
【背景技術(shù)】
[0002]為使軟件或者系統(tǒng)等產(chǎn)品能夠正常運(yùn)行或者防止非法用戶入侵,在軟件或系統(tǒng)投入使用前或者投入使用時(shí),需要對產(chǎn)品進(jìn)行測試,以提高其穩(wěn)定性和安全性。
[0003]如圖1為現(xiàn)有的軟件產(chǎn)品測試流程示意圖。在進(jìn)行軟件產(chǎn)品的測試前,測試人員設(shè)計(jì)好測試用例和準(zhǔn)備好測試參數(shù),然后啟動自動化測試系統(tǒng),由系統(tǒng)執(zhí)行各個(gè)測試參數(shù)下的測試用例,在系統(tǒng)執(zhí)行測試用例完畢后,輸出測試報(bào)告。
[0004]采用上述測試方法,在設(shè)置詳盡的測試參數(shù)以后,可以較好的完成對軟件產(chǎn)品的漏洞測試。但是,這種方法一旦由用戶設(shè)定好測試參數(shù)后,這些測試參數(shù)是固定的,系統(tǒng)無法發(fā)現(xiàn)測試用例設(shè)置的測試參數(shù)以外的軟件產(chǎn)品的漏洞,測試效率不高,如果優(yōu)化測試參數(shù),需要人工進(jìn)行添加和維護(hù),操作較為麻煩。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例的目的在于提供一種軟件測試方法,以解決現(xiàn)有技術(shù)中軟件產(chǎn)品測試時(shí),設(shè)置好測試參數(shù)后無法發(fā)現(xiàn)測試參數(shù)范圍以外的漏洞的問題。從而提高測試效率和測試的便利性。
[0006]本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種軟件測試方法,所述方法包括下述步驟:
[0007]a)、接收測試用例和測試參數(shù);
[0008]b)、使用所述測試用例加載所述測試參數(shù)執(zhí)行漏洞測試;
[0009]c)、判斷測試次數(shù)是否大于預(yù)設(shè)的最大測試次數(shù);
[0010]d)、如果所述測試次數(shù)小于或等于所述最大測試次數(shù),將所述測試參數(shù)進(jìn)行變換組合得到新的測試參數(shù),并返回步驟b)。
[0011]本發(fā)明實(shí)施例的另一目的在于提供一種軟件測試裝置,所述裝置包括:
[0012]接收單元,用于接收測試用例和測試參數(shù);
[0013]漏洞測試的執(zhí)行單元,用于使用所述測試用例加載所述測試參數(shù)執(zhí)行漏洞測試;
[0014]判斷單元,用于判斷測試次數(shù)是否大于預(yù)設(shè)的最大測試次數(shù);
[0015]測試參數(shù)變換單元,用于如果所述測試次數(shù)小于或等于所述最大測試次數(shù),將所述測試參數(shù)進(jìn)行變換組合得到新的測試參數(shù)。
[0016]在本發(fā)明實(shí)施例中,在接收測試用例和測試參數(shù)后,使用所述測試用例加載所述測試參數(shù)執(zhí)行漏洞測試,然后對測試參數(shù)進(jìn)行變換組合后重新進(jìn)行測試,直到測試的次數(shù)達(dá)到預(yù)設(shè)的最大測試次數(shù)。本發(fā)明實(shí)施例能夠?qū)斎氲臏y試參數(shù)進(jìn)行變換組合,可以自動生成新的測試參數(shù),自動進(jìn)行多次的漏洞測試,從而有效的解決現(xiàn)有技術(shù)設(shè)置好測試參數(shù)后無法發(fā)現(xiàn)測試參數(shù)范圍外的漏洞的問題,不需要人工進(jìn)行測試參數(shù)的增加,能夠提高測試效率和測試的便利性。
【專利附圖】
【附圖說明】
[0017]圖1是本發(fā)明第一實(shí)施例提供的軟件測試的實(shí)現(xiàn)流程圖;
[0018]圖2是本發(fā)明第二實(shí)施例提供的軟件測試的實(shí)現(xiàn)流程圖;
[0019]圖3為本發(fā)明第二實(shí)施例提供的軟件測試的又一實(shí)現(xiàn)流程圖;
[0020]圖4是本發(fā)明第三實(shí)施例提供的軟件測試的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0021]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0022]在本發(fā)明實(shí)施例中,在接收測試用例和測試參數(shù)后,使用所述測試用例加載所述測試參數(shù)執(zhí)行漏洞測試,然后對測試參數(shù)進(jìn)行變換組合后重新進(jìn)行測試,直到測試的次數(shù)達(dá)到預(yù)設(shè)的最大測試次數(shù)。由于其能夠?qū)斎氲臏y試參數(shù)進(jìn)行變換組合,可以自動生成新的測試參數(shù),自動進(jìn)行多次的漏洞測試,從而有效的解決現(xiàn)有技術(shù)設(shè)置好測試參數(shù)后無法發(fā)現(xiàn)測試參數(shù)范圍外的漏洞的問題,不需要人工進(jìn)行測試參數(shù)的增加,能夠提高測試效率和測試的便利性。而設(shè)置最大測試次數(shù),可以避免系統(tǒng)作過多重復(fù)測試操作,節(jié)省系統(tǒng)資源。在測試后對測試參數(shù)分析,過濾掉部分未出現(xiàn)異常的測試參數(shù),能夠?qū)y試參數(shù)進(jìn)行更好的優(yōu)化,進(jìn)一步提高測試效率。
[0023]實(shí)施例一:
[0024]圖1示出了本發(fā)明實(shí)施例一提供的軟件測試,特別是在浸透測試中的實(shí)現(xiàn)流程,詳述如下:
[0025]在步驟SlOl中,接收測試用例和測試參數(shù)。
[0026]具體的,本發(fā)明所述測試用例,是指為某個(gè)特殊目標(biāo)而編制的一組測試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測試某個(gè)程序路徑或核實(shí)是否滿足某個(gè)特定需求。測試參數(shù)是指用于測試用例輸入的測試參數(shù)。而滲透測試,是為了證明網(wǎng)絡(luò)防御按照預(yù)期計(jì)劃正常運(yùn)行而提供的一種機(jī)制。
[0027]所接收的測試用例和測試參數(shù),為軟件測試人員預(yù)先制定的,根據(jù)不同的軟件測試設(shè)置不同的測試用例,或者在同一軟件的不同階段制作不同的測試用例和使用不同的測試參數(shù)。
[0028]在步驟S102中,使用所述測試用例加載所述測試參數(shù)執(zhí)行漏洞測試。
[0029]具體的,對于設(shè)置有多個(gè)測試參數(shù)的測試過程,由測試用例逐個(gè)加載所述測試參數(shù)執(zhí)行漏洞測試,根據(jù)測試用例的執(zhí)行條件和預(yù)期結(jié)果,可以判斷所述測試參數(shù)是否屬于出現(xiàn)異常的測試參數(shù)或者屬于未出現(xiàn)異常的測試參數(shù)。
[0030]在步驟S103中,判斷測試次數(shù)是否大于預(yù)設(shè)的最大測試次數(shù)。
[0031]具體的,預(yù)設(shè)的最大測試次數(shù)一般可根據(jù)測試的具體情況靈活設(shè)定,考慮到測試參數(shù)重新變換組合的可能性,可根據(jù)測試參數(shù)的個(gè)數(shù)設(shè)定與測試參數(shù)的個(gè)數(shù)相近。如某個(gè)測試用例輸入的測試參數(shù)為10個(gè),可設(shè)置最大測試次數(shù)為10次,當(dāng)然其并不局限于此,具體測試還應(yīng)以具體情況而定。
[0032]在每執(zhí)行步驟S102所述的漏洞測試后,計(jì)數(shù)器對測試次數(shù)加I操作,然后執(zhí)行本步驟所述的比較操作。
[0033]在步驟S104中,如果所述測試次數(shù)小于或等于所述最大測試次數(shù),將所述測試參數(shù)進(jìn)行變換組合得到新的測試參數(shù),并返回步驟102采用新的測試參數(shù)重新執(zhí)行漏洞測試。
[0034]具體的,經(jīng)過步驟S103所述的判斷步驟,當(dāng)測試次數(shù)不大于所述預(yù)設(shè)的最大次數(shù)時(shí),表示還可以進(jìn)行下一次的測試操作。
[0035]在所述測試次數(shù)小于或等于所述最大測試次數(shù),所述測試參數(shù)的變換組合可以包括下面各參數(shù)中的一種或多種:
[0036]所述測試次數(shù)小于或等于所述最大測試次數(shù)時(shí)的測試參數(shù);
[0037]將所述測試參數(shù)截?cái)嗪筮M(jìn)行隨機(jī)組合;
[0038]將所述測試參數(shù)的一部分用隨機(jī)數(shù)代替,得到新的測試參數(shù)。
[0039]關(guān)于對所述參數(shù)截?cái)嗪筮M(jìn)行隨機(jī)組合舉例如下:測試次數(shù)小于或等于所述最大測試次數(shù)時(shí)的測試參數(shù)包括兩個(gè),分別為X和Y,測試參數(shù)X包括[a,b,c,d]四個(gè)數(shù)值,測試參數(shù)Y包括[e,f,g,h]四個(gè)數(shù)值,對測試參數(shù)截?cái)嗪笾匦陆M合,如對X和Y的中間截?cái)啵匦陆M合后得到測試參數(shù)集合:[a, b, g, h]、[e, f, c, d]、[a, b, e, f]、[c, d, g, h],當(dāng)然也可以有多種截?cái)喾绞?,如將測試參數(shù)X的中的一個(gè)或者三個(gè)值用測試參數(shù)Y中的相應(yīng)個(gè)數(shù)的值代替,在此不羅列。
[0040]關(guān)于將將所述測試參數(shù)的一部分用隨機(jī)數(shù)代替舉例如下:測試次數(shù)小于或等于所述最大測試次數(shù)時(shí)的測試參數(shù)包括兩個(gè),分別為X和Y,測試參數(shù)X包括[a,b,c,d]四個(gè)數(shù)值,測試參數(shù)Y包括[e,f,g,h]四個(gè)數(shù)值,那么,可以對測試參數(shù)中的一個(gè)、兩個(gè)、三個(gè)或者四個(gè)數(shù)值進(jìn)行隨機(jī)變換,得到隨機(jī)產(chǎn)生的數(shù)值所替換的新的測試參數(shù),如隨機(jī)產(chǎn)生的新的測試參數(shù)為[I,m, η, ο]。
[0041]在本發(fā)明實(shí)施例中,在執(zhí)行漏洞測試后,可對測試參數(shù)進(jìn)行變換組合,生成新的測試參數(shù)繼續(xù)對軟件進(jìn)行測試,直到達(dá)到最大測試次數(shù),和現(xiàn)有技術(shù)的漏洞測試方式相比,其測試參數(shù)可以自動生成,可以更為全面的對軟件進(jìn)行測試,測試方便的同時(shí),也可提高測試效率。
[0042]實(shí)施例二:
[0043]圖2示出了本發(fā)明第二實(shí)施例提供的軟件測試方法和流程示意圖,詳述如下:
[0044]在步驟S201中,設(shè)置最大測試次數(shù)和/或設(shè)置無效參數(shù)最大執(zhí)行次數(shù)。
[0045]具體的,所述最大測試次數(shù),是指本發(fā)明實(shí)施例中執(zhí)行漏洞測試次數(shù)的最大值。所述無效參數(shù),是指將測試參數(shù)經(jīng)過測試用例的執(zhí)行條件的漏洞測試操作后,其輸出結(jié)果與預(yù)期結(jié)果相符,沒有出現(xiàn)異常的那些測試參數(shù)。無效參數(shù)的最大執(zhí)行次數(shù),其設(shè)定的值一般比最大執(zhí)行次數(shù)的值小。
[0046]在步驟S202中,接收測試用例和測試參數(shù)。
[0047]在步驟S203中,使用所述測試用例加載所述測試參數(shù)執(zhí)行漏洞測試。
[0048]在步驟S204中,判斷測試次數(shù)是否大于預(yù)設(shè)的最大測試次數(shù)。
[0049]步驟S202-S204與實(shí)施例一所述的步驟S101-S103相同,在此不作重復(fù)贅述。
[0050]在步驟S205中,如果所述測試次數(shù)小于或等于所述最大測試次數(shù),獲取執(zhí)行漏洞測試時(shí)未出現(xiàn)異常的測試參數(shù)集合。
[0051]具體的,在漏洞測試過程中,對于輸入的測試參數(shù),在完成測試用例中制定的執(zhí)行條件后,有可能得到的不是預(yù)期的結(jié)果,對于執(zhí)行測試用例中的執(zhí)行條件得到不符合預(yù)期結(jié)果的測試參數(shù),我們稱之為出現(xiàn)異常的測試參數(shù),對應(yīng)的,對于那些執(zhí)行測試用例的執(zhí)行條件符合預(yù)期結(jié)果的測試參數(shù),我們稱之為未出現(xiàn)異常的測試參數(shù)。
[0052]預(yù)期結(jié)果和執(zhí)行條件以及輸入的測試參數(shù),在步驟S202由用戶輸入或者制定。
[0053]在步驟S206中,將所述未出現(xiàn)異常的測試參數(shù)集合中的各測試參數(shù)的執(zhí)行次數(shù)與預(yù)設(shè)的無效參數(shù)最大執(zhí)行次數(shù)相比較,過濾掉所述未出現(xiàn)異常的測試參數(shù)集合中超過預(yù)設(shè)的無效參數(shù)最大執(zhí)行次數(shù)的測試參數(shù)。
[0054]由于在步驟S201中設(shè)置了無效參數(shù)最大執(zhí)行次數(shù),將未出現(xiàn)異常的測試參數(shù)的執(zhí)行次數(shù)與所述無效參數(shù)最大執(zhí)行次數(shù)比較,若大于所述無效參數(shù)最大執(zhí)行次數(shù),由于其未發(fā)現(xiàn)軟件漏洞,可對其進(jìn)行過濾處理。
[0055]如果未出現(xiàn)異常的參數(shù)的執(zhí)行次數(shù)小于所述無效參數(shù)最大執(zhí)行次數(shù),則對所述未出現(xiàn)異常的測試參數(shù)的執(zhí)行次數(shù)加一。
[0056]在步驟S207中,將所述測試參數(shù)進(jìn)行變換組合得到新的測試參數(shù),并將所述新的測試參數(shù)返回步驟S203。
[0057]具體的,將所述測試參數(shù)進(jìn)行變換組合得到新的測試參數(shù),所述新的測試參數(shù)可以包括以下一種或多種:
[0058]將所述未出現(xiàn)異常的測試參數(shù)集合中未超過預(yù)設(shè)的無效參數(shù)最大執(zhí)行次數(shù)的測試參數(shù)集合D ;
[0059]發(fā)現(xiàn)異常的參數(shù)集合B;
[0060]將所述測試參數(shù)集合D和測試參數(shù)集合B的測試參數(shù)截?cái)嗪筮M(jìn)行隨機(jī)組合得到的新的測試參數(shù);
[0061]和/或?qū)⑺鰷y試參數(shù)集合D和測試參數(shù)集合B的測試參數(shù)的一部分用隨機(jī)數(shù)代替,得到新的測試參數(shù)。
[0062]在步驟S208中,如果所述測試次數(shù)大于所述最大測試次數(shù),記錄測試結(jié)果并輸出測試報(bào)告。
[0063]在超過設(shè)置的最大測試測試次數(shù)后,表明當(dāng)前測試完成,將記錄的測試結(jié)果輸出,得到測試報(bào)告。
[0064]為便于理解本實(shí)施例所述方案,現(xiàn)對照圖3進(jìn)一步說明如下:
[0065]在301中,設(shè)定測試數(shù)據(jù),所述測試數(shù)據(jù)包括原始測試參數(shù)集合A、無效參數(shù)最大執(zhí)行次數(shù)和執(zhí)行最大輪數(shù)。
[0066]在302中,接收測試用例。所述測試用例為對系統(tǒng)進(jìn)行測試所選定的與測試參數(shù)相對應(yīng)的測試用例。
[0067]在303中,在所述待測試的系統(tǒng)上加載所述測試參數(shù),執(zhí)行所述測試用例。
[0068]在304中,判斷是否達(dá)到最大執(zhí)行次數(shù),如果是則轉(zhuǎn)到步驟S305,否則轉(zhuǎn)至306。
[0069]在305中,輸出測試報(bào)告,所述測試報(bào)告包括是否發(fā)現(xiàn)異常和引起異常的測試參數(shù)及異常的結(jié)果等。
[0070]在306中,對所述測試參數(shù)進(jìn)行分類,得到發(fā)現(xiàn)異常的測試參數(shù)集合B和未發(fā)現(xiàn)異常的測試參數(shù)集合C。
[0071 ] 在307中,對所述未發(fā)現(xiàn)異常的測試參數(shù)集合C的執(zhí)行次數(shù)進(jìn)行比較,過濾掉超過最大無效執(zhí)行次數(shù)的測試參數(shù),得到集合D。
[0072]在308中,合并發(fā)現(xiàn)異常的測試參數(shù)集合B和未發(fā)現(xiàn)異常的測試參數(shù)中參數(shù)集合D,所述參數(shù)集合D已過濾掉超過最大無效執(zhí)行次數(shù)的測試參數(shù),由參數(shù)集合B和參數(shù)集合D合并得到測試參數(shù)集合E。
[0073]在309中,對集合E的測試參數(shù)截?cái)?,相互隨機(jī)組合得到集合El。
[0074]在310中,對集合E中的測試參數(shù)的部分值替換為隨機(jī)值得到集合E2。
[0075]在311中,由測試參數(shù)集合E、E1、E2得到新的測試參數(shù)集合F,并返回303中加載新的測試參數(shù)集合F。
[0076]本發(fā)明實(shí)施例中,在接收測試用例和測試參數(shù)后,使用所述測試用例加載所述測試參數(shù)執(zhí)行漏洞測試,然后對測試參數(shù)進(jìn)行變換組合后重新進(jìn)行測試,直到測試的次數(shù)達(dá)到預(yù)設(shè)的最大測試次數(shù)。由于其能夠?qū)斎氲臏y試參數(shù)進(jìn)行變換組合,可以自動生成新的測試參數(shù),自動進(jìn)行多次的漏洞測試,從而有效的解決現(xiàn)有技術(shù)設(shè)置好測試參數(shù)后無法發(fā)現(xiàn)測試參數(shù)范圍外的漏洞的問題,不需要人工進(jìn)行測試參數(shù)的增加,能夠提高測試效率和測試的便利性。而設(shè)置最大測試次數(shù),可以避免系統(tǒng)作過多重復(fù)測試操作,節(jié)省系統(tǒng)資源。在測試后對測試參數(shù)分析,過濾掉部分未出現(xiàn)異常的測試參數(shù),能夠?qū)y試參數(shù)進(jìn)行更好的優(yōu)化,進(jìn)一步提高測試效率。
[0077]實(shí)施例三:
[0078]圖3示出了本發(fā)明第三實(shí)施提供了軟件測試的裝置的結(jié)構(gòu)框圖,詳細(xì)描述如下:
[0079]本發(fā)明實(shí)施例所述的軟件測試裝置,包括接收單元401、漏洞測試的執(zhí)行單元402、判斷單元403和測試參數(shù)變換單元404,其中
[0080]所述接收單元401,用于接收測試用例和測試參數(shù);
[0081]漏洞測試的執(zhí)行單元402,用于使用所述測試用例加載所述測試參數(shù)執(zhí)行漏洞測試;
[0082]判斷單元403,用于判斷測試次數(shù)是否大于預(yù)設(shè)的最大測試次數(shù);
[0083]測試參數(shù)變換單元404,用于如果所述測試次數(shù)小于或等于所述最大測試次數(shù),將所述測試參數(shù)進(jìn)行變換組合得到新的測試參數(shù)。
[0084]為有效的控制測試次數(shù)和得到測試結(jié)果,所述裝置還可包括:記錄輸出單元405,用于如果所述測試次數(shù)大于所述最大測試次數(shù),記錄測試結(jié)果并輸出測試報(bào)告。
[0085]為對測試參數(shù)進(jìn)行有效的篩選和優(yōu)化,所述裝置還包括:
[0086]設(shè)置單元406,用于設(shè)置最大測試次數(shù)和/或設(shè)置無效參數(shù)最大執(zhí)行次數(shù)。
[0087]測試參數(shù)獲取單元407,用于獲取執(zhí)行漏洞測試時(shí)未出現(xiàn)異常的測試參數(shù)集合;
[0088]測試參數(shù)過濾單元408,用于將所述未出現(xiàn)異常的測試參數(shù)集合中的各測試參數(shù)的執(zhí)行次數(shù)與預(yù)設(shè)的無效參數(shù)最大執(zhí)行次數(shù)相比較,過濾掉所述未出現(xiàn)異常的測試參數(shù)集合中超過預(yù)設(shè)的無效參數(shù)最大執(zhí)行次數(shù)的測試參數(shù)。
[0089]在本發(fā)明實(shí)施例中,所述測試參數(shù)變換單元404具體為:將所述測試參數(shù)隨機(jī)組合和/或?qū)⑺鰷y試參數(shù)用隨機(jī)數(shù)代替,得到新的測試參數(shù),并發(fā)送至漏洞測試的執(zhí)行單元402重新進(jìn)行測試。
[0090]本發(fā)明實(shí)施例所述的軟件測試裝置與實(shí)施例2所述的軟件測試方法相對應(yīng),在此不作重復(fù)贅述。
[0091]值得注意的是,上述裝置和系統(tǒng)實(shí)施例中,所包括的各個(gè)單元只是按照功能邏輯進(jìn)行劃分的,但并不局限于上述的劃分,只要能夠?qū)崿F(xiàn)相應(yīng)的功能即可;另外,各功能單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護(hù)范圍。
[0092]另外,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述各實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,相應(yīng)的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,所述的存儲介質(zhì),如R0M/RAM、磁盤或光盤等。
[0093]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種軟件測試方法,其特征在于,所述方法包括: a)、接收測試用例和測試參數(shù); b)、使用所述測試用例加載所述測試參數(shù)執(zhí)行漏洞測試; c)、判斷測試次數(shù)是否大于預(yù)設(shè)的最大測試次數(shù); d)、如果所述測試次數(shù)小于或等于所述最大測試次數(shù),將所述測試參數(shù)進(jìn)行變換組合得到新的測試參數(shù),并返回步驟b)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 如果所述測試次數(shù)大于所述最大測試次數(shù),記錄測試結(jié)果并輸出測試報(bào)告。
3.根據(jù)權(quán)利要求1-2任一項(xiàng)所述的方法,其特征在于,所述步驟如果所述測試次數(shù)小于或等于所述最大測試次數(shù),將所述測試參數(shù)進(jìn)行變換組合得到新的測試參數(shù)具體為: 將所述測試參數(shù)截?cái)嗪筮M(jìn)行隨機(jī)組合,和/或?qū)⑺鰷y試參數(shù)的一部分用隨機(jī)數(shù)代替,得到新的測試參數(shù)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述將所述測試參數(shù)進(jìn)行變換組合得到新的測試參數(shù)步驟前,還包括: 獲取執(zhí)行漏洞測試時(shí) 未出現(xiàn)異常的測試參數(shù)集合; 將所述未出現(xiàn)異常的測試參數(shù)集合中的各測試參數(shù)的執(zhí)行次數(shù)與預(yù)設(shè)的無效參數(shù)最大執(zhí)行次數(shù)相比較,過濾掉所述未出現(xiàn)異常的測試參數(shù)集合中超過預(yù)設(shè)的無效參數(shù)最大執(zhí)行次數(shù)的測試參數(shù)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟如果所述測試次數(shù)小于或等于所述最大測試次數(shù),將所述測試參數(shù)進(jìn)行變換組合得到新的測試參數(shù)具體為: 得到未出現(xiàn)異常的測試參數(shù)集合中未超過預(yù)設(shè)的無效參數(shù)最大次數(shù)的測試參數(shù)集合A和發(fā)現(xiàn)異常的參數(shù)集合B,將參數(shù)集合A和參數(shù)集合B合并得到合并參數(shù)集,對合并參數(shù)集截?cái)嗪筮M(jìn)行隨機(jī)組合和/或?qū)喜?shù)集的參數(shù)的一部分進(jìn)行隨機(jī)數(shù)據(jù)代替,得到新的測試參數(shù)集合。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括: 設(shè)置最大測試次數(shù)或設(shè)置無效參數(shù)最大執(zhí)行次數(shù)。
7.一種軟件測試裝置,其特征在于,所述裝置包括: 接收單元,用于接收測試用例和測試參數(shù); 漏洞測試的執(zhí)行單元,用于使用所述測試用例加載所述測試參數(shù)執(zhí)行漏洞測試; 判斷單元,用于判斷測試次數(shù)是否大于預(yù)設(shè)的最大測試次數(shù); 測試參數(shù)變換單元,用于如果所述測試次數(shù)小于或等于所述最大測試次數(shù),將所述測試參數(shù)進(jìn)行變換組合得到新的測試參數(shù)。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 記錄輸出單元,用于如果所述測試次數(shù)大于所述最大測試次數(shù),記錄測試結(jié)果并輸出測試報(bào)告。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 測試參數(shù)獲取單元,用于獲取執(zhí)行漏洞測試時(shí)未出現(xiàn)異常的測試參數(shù)集合; 測試參數(shù)過濾單元,用于將所述未出現(xiàn)異常的測試參數(shù)集合中的各測試參數(shù)的執(zhí)行次數(shù)與預(yù)設(shè)的無效參數(shù)最大執(zhí)行次數(shù)相比較,過濾掉所述未出現(xiàn)異常的測試參數(shù)集合中超過預(yù)設(shè)的無效參數(shù)最大執(zhí)行次數(shù)的測試參數(shù)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括: 設(shè)置單元,用于設(shè)置最 大測試次數(shù)或設(shè)置無效參數(shù)最大執(zhí)行次數(shù)。
【文檔編號】G06F11/36GK104077215SQ201310101079
【公開日】2014年10月1日 申請日期:2013年3月26日 優(yōu)先權(quán)日:2013年3月26日
【發(fā)明者】謝俊 申請人:騰訊科技(深圳)有限公司