一種基于神經(jīng)網(wǎng)絡(luò)的測(cè)試數(shù)據(jù)生成方法
【專利摘要】本發(fā)明提供一種基于神經(jīng)網(wǎng)絡(luò)的測(cè)試數(shù)據(jù)生成方法,其具體實(shí)現(xiàn)過(guò)程如下:測(cè)試數(shù)據(jù)生成器生成的測(cè)試數(shù)據(jù)一方面通過(guò)度量分析提取測(cè)試數(shù)據(jù)指數(shù),另一方面通過(guò)評(píng)價(jià)器得到測(cè)試數(shù)據(jù)揭示的故障類別;由一系列測(cè)試數(shù)據(jù)指數(shù)及對(duì)應(yīng)的故障類別組成神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)樣本,采用學(xué)習(xí)算法實(shí)施神經(jīng)網(wǎng)絡(luò)訓(xùn)練,訓(xùn)練完畢得到訓(xùn)練好的神經(jīng)網(wǎng)絡(luò);由評(píng)價(jià)器生成測(cè)試數(shù)據(jù),經(jīng)過(guò)度量分析提取測(cè)試數(shù)據(jù)指數(shù),將其輸入到訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),得到測(cè)試數(shù)據(jù)的揭錯(cuò)等級(jí),并據(jù)此對(duì)測(cè)試數(shù)據(jù)進(jìn)行取舍處理。該一種基于神經(jīng)網(wǎng)絡(luò)的測(cè)試數(shù)據(jù)生成方法和現(xiàn)有技術(shù)相比,能夠生成高質(zhì)量的測(cè)試數(shù)據(jù),并盡可能的降低測(cè)試數(shù)據(jù)總數(shù),從而降低軟件開(kāi)發(fā)成本,實(shí)用性強(qiáng),易于推廣。
【專利說(shuō)明】一種基于神經(jīng)網(wǎng)絡(luò)的測(cè)試數(shù)據(jù)生成方法
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,具體的說(shuō)是一種動(dòng)態(tài)的對(duì)網(wǎng)頁(yè)進(jìn)行創(chuàng)建和加載,實(shí)現(xiàn)實(shí)時(shí)更新功能的基于神經(jīng)網(wǎng)絡(luò)的測(cè)試數(shù)據(jù)生成方法。
【背景技術(shù)】
[0003]Kore對(duì)測(cè)試數(shù)據(jù)生成問(wèn)題的定義是:給定一個(gè)程序元素,找到一個(gè)程序的輸入,使它能執(zhí)行這個(gè)程序元素。生成測(cè)試數(shù)據(jù)的方法有的面向路徑,有的面向非標(biāo)準(zhǔn)路經(jīng)。方法有三類:隨機(jī)方法、面向目標(biāo)和面向路徑的測(cè)試數(shù)據(jù)生成方法,每一類方法有可分為靜態(tài)或動(dòng)態(tài)的測(cè)試數(shù)據(jù)生成方法。
[0004]一、靜態(tài)和動(dòng)態(tài)測(cè)試數(shù)據(jù)生成方法。靜態(tài)測(cè)試數(shù)據(jù)生成,不基于程序的輸入數(shù)據(jù)而是采用程序的符號(hào)執(zhí)行以及表達(dá)式的消解和變換的方法。動(dòng)態(tài)測(cè)試數(shù)據(jù)生成,是利用程序的實(shí)際輸入數(shù)據(jù)來(lái)執(zhí)行程序的方法。
[0005]二、隨機(jī)測(cè)試數(shù)據(jù)生成方法。隨機(jī)方法,是最簡(jiǎn)單的測(cè)試數(shù)據(jù)生成方法,可以生成任一類型輸入變量的值,但找出程序的錯(cuò)誤的概率較低,一般常用隨機(jī)方法作為其他測(cè)試數(shù)據(jù)生成方法的比較對(duì)象。
[0006]三、面向目標(biāo)的測(cè)試數(shù)據(jù)生成方法。給定程序控制流圖中的一條非標(biāo)準(zhǔn)路經(jīng),面向目標(biāo)的方法生成測(cè)試數(shù)據(jù)來(lái)遍歷該路經(jīng)。因此該方法事實(shí)上是生成測(cè)試數(shù)據(jù)來(lái)遍歷經(jīng)過(guò)該非標(biāo)準(zhǔn)路徑的所有路徑,其效果比隨機(jī)方法強(qiáng)得多。
[0007]在軟件開(kāi)發(fā)過(guò)程中,軟件測(cè)試占有舉足輕重的地位。一般意義上,軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行的過(guò)程。其中,設(shè)計(jì)和生成有效地測(cè)試數(shù)據(jù)是決定軟件測(cè)試質(zhì)量的重要因素之一。測(cè)試數(shù)據(jù)生成可以被理解為一個(gè)抽樣過(guò)程,即根據(jù)相應(yīng)的測(cè)試覆蓋標(biāo)準(zhǔn),采用一定的方法,在測(cè)試數(shù)據(jù)全集中進(jìn)行抽樣,選取出一批錯(cuò)誤敏感的測(cè)試數(shù)據(jù),它們具有較高的發(fā)現(xiàn)軟件錯(cuò)誤的可能性。一個(gè)有效的測(cè)試數(shù)據(jù)設(shè)計(jì)方法可以生成高質(zhì)量的測(cè)試數(shù)據(jù),并盡可能的降低測(cè)試數(shù)據(jù)總數(shù),從而降低軟件開(kāi)發(fā)成本。所以,為了縮短開(kāi)發(fā)周期,降低費(fèi)用,研究者們正在研究軟件測(cè)試數(shù)據(jù)的自動(dòng)生成問(wèn)題。由于此問(wèn)題極其復(fù)雜,通常屬于組合優(yōu)化問(wèn)題,用常規(guī)方法解決遇到困難,因此軟件測(cè)試數(shù)據(jù)的智能化生成問(wèn)題成為軟件測(cè)試的研究熱點(diǎn)。人工神經(jīng)網(wǎng)絡(luò)具有自適應(yīng)、自組織和實(shí)時(shí)學(xué)習(xí)的特點(diǎn),在軟件測(cè)試數(shù)據(jù)智能化生成的研究中較為活躍,技術(shù)也日趨成熟。因此,基于神經(jīng)網(wǎng)絡(luò)的測(cè)試數(shù)據(jù)生成顯然已經(jīng)成為研究測(cè)試數(shù)據(jù)智能化生成問(wèn)題的一種方法。
[0008]人工神經(jīng)網(wǎng)絡(luò)(ANN)是一種運(yùn)算模型,由大量的節(jié)點(diǎn)(或稱神經(jīng)元)和之間相互聯(lián)接構(gòu)成。每個(gè)節(jié)點(diǎn)代 表一種特定的輸出函數(shù),稱為激勵(lì)函數(shù)。每?jī)蓚€(gè)節(jié)點(diǎn)間的連接都代表一個(gè)對(duì)于通過(guò)該連接信號(hào)的加權(quán)值,稱之為權(quán)重,這相當(dāng)于人工神經(jīng)網(wǎng)絡(luò)的記憶。網(wǎng)絡(luò)的輸出則依網(wǎng)絡(luò)的連接方式,權(quán)重值和激勵(lì)函數(shù)的不同而不同。而網(wǎng)絡(luò)自身通常都是對(duì)自然界某種算法或者函數(shù)的逼近,也可能是對(duì)一種邏輯策略的表達(dá)。人工神經(jīng)網(wǎng)絡(luò)是并行分布式系統(tǒng),采用了與傳統(tǒng)人工智能和信息處理技術(shù)完全不同的機(jī)理,克服了傳統(tǒng)的基于邏輯符號(hào)的人工智能在處理直覺(jué)、非結(jié)構(gòu)化信息方面的缺陷,具有自適應(yīng)、自組織和實(shí)時(shí)學(xué)習(xí)的特點(diǎn)。
[0009]學(xué)習(xí)是神經(jīng)網(wǎng)絡(luò)研究的一個(gè)重要內(nèi)容,它的適應(yīng)性是通過(guò)學(xué)習(xí)實(shí)現(xiàn)的。根據(jù)環(huán)境的變化,對(duì)權(quán)值進(jìn)行調(diào)整,改善系統(tǒng)的行為根據(jù)學(xué)習(xí)環(huán)境不同,神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方式可分為監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)。在監(jiān)督學(xué)習(xí)中,將訓(xùn)練樣本的數(shù)據(jù)加到網(wǎng)絡(luò)輸入端,同時(shí)將相應(yīng)的期望輸出與網(wǎng)絡(luò)輸出相比較,得到誤差信號(hào),以此控制權(quán)值連接強(qiáng)度的調(diào)整,經(jīng)多次訓(xùn)練后收斂到一個(gè)確定的權(quán)值。當(dāng)樣本情況發(fā)生變化時(shí),經(jīng)學(xué)習(xí)可以修改權(quán)值以適應(yīng)新的環(huán)境。非監(jiān)督學(xué)習(xí)時(shí),事先不給定標(biāo)準(zhǔn)樣本,直接將網(wǎng)絡(luò)置于環(huán)境之中,學(xué)習(xí)階段與工作階段成為一體。此時(shí),學(xué)習(xí)規(guī)律的變化服從連接權(quán)值的演變方程。
[0010]基于此,現(xiàn)提供一種可生成高質(zhì)量的測(cè)試數(shù)據(jù),降低測(cè)試數(shù)據(jù)總數(shù)并能降低軟件開(kāi)發(fā)成本的基于神經(jīng)網(wǎng)絡(luò)的測(cè)試數(shù)據(jù)生成方法。
【發(fā)明內(nèi)容】
[0011]本發(fā)明的技術(shù)任務(wù)是解決現(xiàn)有技術(shù)的不足,提供一種可生成高質(zhì)量的測(cè)試數(shù)據(jù)、基于神經(jīng)網(wǎng)絡(luò)的測(cè)試數(shù)據(jù)生成方法。
[0012]本發(fā)明的技術(shù)方案是按以下方式實(shí)現(xiàn)的,該一種基于神經(jīng)網(wǎng)絡(luò)的測(cè)試數(shù)據(jù)生成方法,其具體實(shí)現(xiàn)過(guò)程如下:
1)訓(xùn)練階段:
測(cè)試數(shù)據(jù)生成器生成的測(cè)試數(shù)據(jù)一方面通過(guò)度量分析提取測(cè)試數(shù)據(jù)指數(shù),另一方面通過(guò)評(píng)價(jià)器得到測(cè)試數(shù)據(jù)揭示的故障類別;由一系列測(cè)試數(shù)據(jù)指數(shù)及對(duì)應(yīng)的故障類別組成神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)樣本,采用學(xué)習(xí)算法實(shí)施神經(jīng)網(wǎng)絡(luò)訓(xùn)練,訓(xùn)練完畢得到訓(xùn)練好的神經(jīng)網(wǎng)絡(luò);
2)預(yù)測(cè)階段:
由評(píng)價(jià)器生成測(cè)試數(shù)據(jù),經(jīng)過(guò)度量分析提取測(cè)試數(shù)據(jù)指數(shù),將其輸入到訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),得到測(cè)試數(shù)據(jù)的揭錯(cuò)等級(jí),并據(jù)此對(duì)測(cè)試數(shù)據(jù)進(jìn)行取舍處理。
[0013]所述測(cè)試數(shù)據(jù)是測(cè)試數(shù)據(jù)生成器使用隨機(jī)法生成,該測(cè)試數(shù)據(jù)輸入到被測(cè)軟件后得到相應(yīng)的輸出結(jié)果,大量輸入輸出結(jié)果組成步驟I)中所述的學(xué)習(xí)樣本。
[0014]所述評(píng)價(jià)器用于正確判斷一個(gè)測(cè)試數(shù)據(jù)是否導(dǎo)致被測(cè)軟件出現(xiàn)故障,若出現(xiàn)故障屬于何種類別的故障,該評(píng)價(jià)器通過(guò)軟件故障模式分析、構(gòu)建測(cè)試數(shù)據(jù)故障模型庫(kù)實(shí)現(xiàn)。
[0015]所述學(xué)習(xí)算法為BP算法。
[0016]本發(fā)明與現(xiàn)有技術(shù)相比所產(chǎn)生的有益效果是:
本發(fā)明的一種基于神經(jīng)網(wǎng)絡(luò)的測(cè)試數(shù)據(jù)生成方法通過(guò)訓(xùn)練和測(cè)試后,能夠生成高質(zhì)量的測(cè)試數(shù)據(jù),并盡可能的降低測(cè)試數(shù)據(jù)總數(shù),從而降低軟件開(kāi)發(fā)成本,實(shí)用性強(qiáng),易于推廣。
【專利附圖】
【附圖說(shuō)明】
[0017]附圖1為本發(fā)明的訓(xùn)練階段流程圖。
[0018]附圖2是本發(fā)明的預(yù)測(cè)階段流程圖。
【具體實(shí)施方式】[0019]下面結(jié)合附圖對(duì)本發(fā)明的一種基于神經(jīng)網(wǎng)絡(luò)的測(cè)試數(shù)據(jù)生成方法作以下詳細(xì)說(shuō)明。
[0020]如附圖1、圖2所示,現(xiàn)提供一種基于神經(jīng)網(wǎng)絡(luò)的測(cè)試數(shù)據(jù)生成方法,該方法中的人工神經(jīng)網(wǎng)絡(luò)用英文縮寫(xiě)ANN表示,通過(guò)ANN預(yù)測(cè)得到測(cè)試數(shù)據(jù)的揭錯(cuò)能力選用測(cè)試數(shù)據(jù),以減少測(cè)試數(shù)據(jù)數(shù)量。
[0021]其具體實(shí)現(xiàn)過(guò)程如下:
一、訓(xùn)練階段。
[0022]測(cè)試數(shù)據(jù)生成器生成的測(cè)試數(shù)據(jù)一方面通過(guò)度量分析提取測(cè)試數(shù)據(jù)指數(shù),另一方面通過(guò)評(píng)價(jià)器得到測(cè)試數(shù)據(jù)揭示的故障類別。由一系列測(cè)試數(shù)據(jù)指數(shù)及對(duì)應(yīng)的故障類別組成ANN的學(xué)習(xí)樣本,采用學(xué)習(xí)算法實(shí)施ANN訓(xùn)練,訓(xùn)練完畢得到訓(xùn)練好的ANN。這里的學(xué)習(xí)算法是指BP算法。
[0023]預(yù)測(cè)階段。
[0024]由評(píng)價(jià)器生成測(cè)試數(shù)據(jù),經(jīng)過(guò)度量分析提取測(cè)試數(shù)據(jù)指數(shù),將其輸入到訓(xùn)練好的ANN,得到測(cè)試數(shù)據(jù)的揭錯(cuò)等級(jí),并據(jù)此對(duì)測(cè)試數(shù)據(jù)進(jìn)行取舍處理。
[0025]訓(xùn)練階段是對(duì)評(píng)價(jià)器的學(xué)習(xí)概括,預(yù)測(cè)階段是對(duì)評(píng)價(jià)器的推廣。評(píng)價(jià)器是ANN預(yù)測(cè)測(cè)試數(shù)據(jù)的關(guān)鍵。評(píng)價(jià)器能正確判斷一個(gè)測(cè)試數(shù)據(jù)是否導(dǎo)致被測(cè)軟件出現(xiàn)故障,若出現(xiàn)故障屬于何種類別的故障。評(píng)價(jià)器可以通過(guò)軟件故障模式分析,構(gòu)建測(cè)試數(shù)據(jù)故障模型庫(kù)實(shí)現(xiàn)。
[0026]上述方法中通過(guò)使用隨機(jī)法生成大量測(cè)試數(shù)據(jù),輸入到被測(cè)軟件得到相應(yīng)的輸出結(jié)果。將此大量輸入輸出結(jié)果組成學(xué)習(xí)樣本,通過(guò)對(duì)ANN進(jìn)行構(gòu)建、訓(xùn)練、裁減和規(guī)則抽取,析取出輸入和輸出的相互影響,得到精簡(jiǎn)的測(cè)試數(shù)據(jù)集。如果生成測(cè)試數(shù)據(jù)需要不斷運(yùn)行被測(cè)系統(tǒng)。單元測(cè)試時(shí),驅(qū)動(dòng)單元的運(yùn)行比較可行,但對(duì)復(fù)雜的系統(tǒng)測(cè)試,不斷運(yùn)行目標(biāo)系統(tǒng),存在效率低、成本高、甚至不可行的問(wèn)題。為解決該問(wèn)題,可采用ANN構(gòu)建系統(tǒng)模型,替代目標(biāo)系統(tǒng),評(píng)價(jià)測(cè)試數(shù)據(jù)。學(xué)習(xí)樣本集通過(guò)隨機(jī)法生成的功能測(cè)試數(shù)據(jù)及其輸出獲得。
[0027]ANN在軟件測(cè)試中的應(yīng)用主要體現(xiàn)在兩個(gè)方面:
(I)將ANN作為分類器,預(yù)測(cè)測(cè)試數(shù)據(jù)的揭錯(cuò)能力,據(jù)此選用、精簡(jiǎn)測(cè)試數(shù)據(jù)集。
[0028](2) ANN用作系統(tǒng)逼近器,代替真實(shí)的被測(cè)系統(tǒng)實(shí)施軟件測(cè)試。ANN無(wú)論是作為分類器,還是作為逼近器,都需要準(zhǔn)備大量的學(xué)習(xí)樣本,精心的評(píng)價(jià)器設(shè)計(jì)、網(wǎng)絡(luò)結(jié)構(gòu)選取和復(fù)雜的學(xué)習(xí)訓(xùn)練,只有通過(guò)訓(xùn)練才能得到精簡(jiǎn)的測(cè)試數(shù)據(jù)集,生成高質(zhì)量的測(cè)試數(shù)據(jù)集,測(cè)試數(shù)據(jù)的自動(dòng)生成對(duì)軟件測(cè)試顯然是非常重要的,同樣對(duì)整個(gè)軟件開(kāi)發(fā)過(guò)程也是關(guān)系密切的。
[0029]以上所述僅為本發(fā)明的實(shí)施例而已,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于神經(jīng)網(wǎng)絡(luò)的測(cè)試數(shù)據(jù)生成方法,其特征在于其具體實(shí)現(xiàn)過(guò)程如下: 1)訓(xùn)練階段: 測(cè)試數(shù)據(jù)生成器生成的測(cè)試數(shù)據(jù)一方面通過(guò)度量分析提取測(cè)試數(shù)據(jù)指數(shù),另一方面通過(guò)評(píng)價(jià)器得到測(cè)試數(shù)據(jù)揭示的故障類別;由一系列測(cè)試數(shù)據(jù)指數(shù)及對(duì)應(yīng)的故障類別組成神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)樣本,采用學(xué)習(xí)算法實(shí)施神經(jīng)網(wǎng)絡(luò)訓(xùn)練,訓(xùn)練完畢得到訓(xùn)練好的神經(jīng)網(wǎng)絡(luò); 2)預(yù)測(cè)階段: 由評(píng)價(jià)器生成測(cè)試數(shù)據(jù),經(jīng)過(guò)度量分析提取測(cè)試數(shù)據(jù)指數(shù),將其輸入到訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),得到測(cè)試數(shù)據(jù)的揭錯(cuò)等級(jí),并據(jù)此對(duì)測(cè)試數(shù)據(jù)進(jìn)行取舍處理。
2.根據(jù)權(quán)利要求1所述的一種基于神經(jīng)網(wǎng)絡(luò)的測(cè)試數(shù)據(jù)生成方法,其特征在于:所述測(cè)試數(shù)據(jù)是測(cè)試數(shù)據(jù)生成器使用隨機(jī)法生成,該測(cè)試數(shù)據(jù)輸入到被測(cè)軟件后得到相應(yīng)的輸出結(jié)果,大量輸入輸出結(jié)果組成步驟I)中所述的學(xué)習(xí)樣本。
3.根據(jù)權(quán)利要求1所述的一種基于神經(jīng)網(wǎng)絡(luò)的測(cè)試數(shù)據(jù)生成方法,其特征在于:所述評(píng)價(jià)器用于正確判斷一個(gè)測(cè)試數(shù)據(jù)是否導(dǎo)致被測(cè)軟件出現(xiàn)故障,若出現(xiàn)故障屬于何種類別的故障,該評(píng)價(jià)器通過(guò)軟件故障模式分析、構(gòu)建測(cè)試數(shù)據(jù)故障模型庫(kù)實(shí)現(xiàn)。
4.根據(jù)權(quán)利要求1所述的一種基于神經(jīng)網(wǎng)絡(luò)的測(cè)試數(shù)據(jù)生成方法,其特征在于:所述學(xué)習(xí)算法為BP算法。
【文檔編號(hào)】G06N3/02GK103995775SQ201410214122
【公開(kāi)日】2014年8月20日 申請(qǐng)日期:2014年5月20日 優(yōu)先權(quán)日:2014年5月20日
【發(fā)明者】曹玲玲, 楊晉博, 潘睿 申請(qǐng)人:浪潮電子信息產(chǎn)業(yè)股份有限公司