欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法及其系統(tǒng)的制作方法

文檔序號(hào):6541856閱讀:159來(lái)源:國(guó)知局
結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法及其系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法及其系統(tǒng),所述方法包括:S1,根據(jù)被測(cè)文件中的語(yǔ)句的語(yǔ)義和表達(dá)式的語(yǔ)義選擇特定的邊界覆蓋準(zhǔn)則;S2,根據(jù)所述邊界覆蓋準(zhǔn)則獲取所述被測(cè)文件的語(yǔ)句邊界值和表達(dá)式邊界值;S3,為所述語(yǔ)句邊界值和所述表達(dá)式邊界值選擇對(duì)應(yīng)的可達(dá)路徑;S4,根據(jù)所述可達(dá)路徑生成測(cè)試用例,并對(duì)所述測(cè)試用例進(jìn)行比較,從而得到邊界值測(cè)試結(jié)果。本發(fā)明的結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法及其系統(tǒng),通過(guò)對(duì)不同的語(yǔ)句以及表達(dá)式選擇特定的邊界值覆蓋準(zhǔn)則,可以快速地找到對(duì)應(yīng)的邊界值,從而可以在結(jié)構(gòu)測(cè)試中對(duì)語(yǔ)句以及表達(dá)式的邊界值進(jìn)行測(cè)試。
【專利說(shuō)明】結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法及其系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件測(cè)試【技術(shù)領(lǐng)域】,尤其是,尤其涉及一種在結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法。
【背景技術(shù)】
[0002]邊界值測(cè)試的提出是用于功能測(cè)試。1979年,Myers GJ.提出輸入域的邊界比中間更加容易發(fā)生錯(cuò)誤,從而將邊界值分析看成補(bǔ)充等價(jià)類劃分的測(cè)試用例生成技術(shù),即不是選擇等價(jià)類的任意元素,而是選擇等價(jià)類的邊界。1997年Reid使用真實(shí)工程中的17個(gè)模塊做實(shí)驗(yàn),對(duì)比邊界值、語(yǔ)句覆蓋、分支覆蓋、隨機(jī)以及其他的測(cè)試方法的錯(cuò)誤檢測(cè)效果。試驗(yàn)結(jié)果表明,邊界值比其他所有方法都好,找到了幾乎17個(gè)模塊中的所有錯(cuò)誤;其中的14個(gè)模塊,需要50000個(gè)隨機(jī)測(cè)試用例才能得到與邊界值相當(dāng)?shù)臏y(cè)試效果。
[0003]結(jié)構(gòu)測(cè)試是一種基于代碼的測(cè)試,人們提出各種覆蓋準(zhǔn)則來(lái)驗(yàn)證結(jié)構(gòu)測(cè)試的充分性,比如語(yǔ)句覆蓋、分支覆蓋、全定義覆蓋、全引用覆蓋等等。但是這些傳統(tǒng)的覆蓋測(cè)試技術(shù)都是基于控制流圖,以控制流圖上的點(diǎn)和邊為覆蓋元素,所以只要求為覆蓋元素生成一個(gè)測(cè)試用例即可,而不關(guān)注取值是否在邊界上,導(dǎo)致傳統(tǒng)覆蓋測(cè)試很難檢測(cè)到邊界值發(fā)生錯(cuò)誤的情況。

【發(fā)明內(nèi)容】

[0004]本發(fā)明提供一種結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法及其系統(tǒng),可以快速地找到各個(gè)語(yǔ)句以及表達(dá)式的邊界值,并對(duì)其邊界值進(jìn)行測(cè)試。
[0005]根據(jù)上述目的,本發(fā)明提供了一種結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法,該包括:SI,根據(jù)被測(cè)文件中的語(yǔ)句的語(yǔ)義和表達(dá)式的語(yǔ)義選擇特定的邊界覆蓋準(zhǔn)則;S2,根據(jù)所述邊界覆蓋準(zhǔn)則獲取所述被測(cè)文件的語(yǔ)句邊界值和表達(dá)式邊界值;S3,為所述語(yǔ)句邊界值和所述表達(dá)式邊界值選擇對(duì)應(yīng)的可達(dá)路徑;S4,根據(jù)所述可達(dá)路徑生成測(cè)試用例,并對(duì)所述測(cè)試用例進(jìn)行比較,從而得到邊界值測(cè)試結(jié)果。
[0006]其中,所述步驟S2包括:從所述結(jié)構(gòu)測(cè)試的控制流圖中,得到語(yǔ)句節(jié)點(diǎn),然后根據(jù)所述邊界覆蓋準(zhǔn)則得到所述語(yǔ)句邊界值;從結(jié)構(gòu)測(cè)試中的抽象語(yǔ)法樹中,得到所述表達(dá)式的節(jié)點(diǎn),然后根據(jù)所述邊界覆蓋準(zhǔn)則得到所述表達(dá)式邊界值。
[0007]其中,根據(jù)所述邊界值覆蓋準(zhǔn)則獲取所述語(yǔ)句邊界值的過(guò)程還包括:所述結(jié)構(gòu)測(cè)試中的跳轉(zhuǎn)語(yǔ)句的每個(gè)邊界值為一個(gè)路徑集合,所述邊界覆蓋準(zhǔn)則檢測(cè)到所述集合中的任一個(gè)元素,則得到所述跳轉(zhuǎn)語(yǔ)句的語(yǔ)句邊界值。
[0008]其中,當(dāng)語(yǔ)句邊界值為路徑集合時(shí),為所述路徑集合中的任一個(gè)元素選擇到可達(dá)路徑,即為此語(yǔ)句邊界值選擇到可達(dá)路徑。
[0009]其中,當(dāng)語(yǔ)句邊界值為路徑集合時(shí),對(duì)此語(yǔ)句邊界值選擇路徑的具體步驟包括:S51,獲取所述語(yǔ)句邊界值中的第一個(gè)元素;S52,選擇一條經(jīng)過(guò)所述第一個(gè)元素的第一路徑;S53,判斷所述第一路徑是否為所述第一個(gè)元素的可達(dá)路徑;S54,如果是,則將所述第一路徑作為所述語(yǔ)句邊界值的可達(dá)路徑;如果否,則選擇所述語(yǔ)句邊界值中的下一個(gè)元素,并重復(fù)進(jìn)行上述判斷,直到找到所述語(yǔ)句邊界值的可達(dá)路徑。
[0010]其中,對(duì)所述表達(dá)式邊界值選擇路徑的具體步驟包括:S61,找到所述表達(dá)式所在的控制流圖節(jié)點(diǎn);S62,獲取所述表達(dá)式的邊界值的約束Cv ;S63,選擇一條經(jīng)過(guò)所述控制流圖節(jié)點(diǎn)的路徑;S64,獲取所述路徑的約束Cp ;S65,判斷C=Cv Λ Cp是否有解;S66,如果判定C有解,則所述路徑為所述表達(dá)式邊界值的可達(dá)路徑;如果判定C無(wú)解,則重新選擇一條經(jīng)過(guò)所述控制流圖節(jié)點(diǎn)的路徑,直至C有解。
[0011]根據(jù)本發(fā)明的另一個(gè)方面,提供了一種故障自動(dòng)注入與故障檢測(cè)的系統(tǒng),所述系統(tǒng)包括:邊界覆蓋準(zhǔn)則選擇模塊,用于根據(jù)被測(cè)文件中的語(yǔ)句的語(yǔ)義和表達(dá)式的語(yǔ)義選擇特定的邊界覆蓋準(zhǔn)則;邊界值選取模塊,用于根據(jù)所述邊界覆蓋準(zhǔn)則獲取所述被測(cè)文件的語(yǔ)句邊界值和表達(dá)式邊界值;可達(dá)路徑選擇模塊,用于為所述語(yǔ)句邊界值和所述表達(dá)式邊界值選擇對(duì)應(yīng)的可達(dá)路徑;邊界值測(cè)試模塊,用于根據(jù)所述可達(dá)路徑生成測(cè)試用例,并對(duì)所述測(cè)試用例進(jìn)行比較,從而得到邊界值測(cè)試結(jié)果。
[0012]本發(fā)明所述的結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法及其系統(tǒng),通過(guò)對(duì)不同的語(yǔ)句以及表達(dá)式選擇特定的邊界值覆蓋準(zhǔn)則,可以快速地找到對(duì)應(yīng)的邊界值,從而可以在結(jié)構(gòu)測(cè)試中對(duì)語(yǔ)句以及表達(dá)式的邊界值進(jìn)行測(cè)試。
【專利附圖】

【附圖說(shuō)明】
[0013]通過(guò)參考附圖會(huì)更加清楚的理解本發(fā)明的特征和優(yōu)點(diǎn),附圖是示意性的而不應(yīng)理解為對(duì)本發(fā)明進(jìn)行任何限制,在附圖中:
[0014]圖1示出了本發(fā)明的結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法的流程圖;
[0015]圖2示出了本發(fā)明的結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法的對(duì)語(yǔ)句邊界值選擇路徑的實(shí)施例的流程圖;
[0016]圖3示出了本發(fā)明的結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法的對(duì)所述表達(dá)式邊界值選擇路徑的實(shí)施例的流程圖;
[0017]圖4示出了本發(fā)明的結(jié)構(gòu)測(cè)試中的邊界值的測(cè)試系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0018]下面將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)描述。
[0019]圖1示出了本發(fā)明的結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法的流程圖。
[0020]參照?qǐng)D1,本發(fā)明的實(shí)施例的結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法包括:
[0021]步驟SI,根據(jù)被測(cè)文件中的語(yǔ)句的語(yǔ)義和表達(dá)式的語(yǔ)義選擇特定的邊界覆蓋準(zhǔn)則。
[0022]步驟S2,根據(jù)所述邊界覆蓋準(zhǔn)則獲取所述被測(cè)文件的語(yǔ)句邊界值和表達(dá)式邊界值。
[0023]在本實(shí)施例中,通過(guò)從所述結(jié)構(gòu)測(cè)試的控制流圖中,得到語(yǔ)句節(jié)點(diǎn),然后根據(jù)所述邊界覆蓋準(zhǔn)則得到所述語(yǔ)句邊界值。并且,在所述結(jié)構(gòu)測(cè)試中的跳轉(zhuǎn)語(yǔ)句的每個(gè)邊界值為一個(gè)路徑集合,所述邊界覆蓋準(zhǔn)則檢測(cè)到所述集合中的任一個(gè)元素,則得到所述跳轉(zhuǎn)語(yǔ)句的語(yǔ)句邊界值。[0024]同時(shí),從結(jié)構(gòu)測(cè)試中的抽象語(yǔ)法樹中,得到所述表達(dá)式的節(jié)點(diǎn),然后根據(jù)所述邊界覆蓋準(zhǔn)則得到所述表達(dá)式邊界值。
[0025]步驟S3,為所述語(yǔ)句邊界值和所述表達(dá)式邊界值選擇對(duì)應(yīng)的可達(dá)路徑。
[0026]在本實(shí)施例中,當(dāng)語(yǔ)句邊界值為路徑集合時(shí),為所述路徑集合中的任一個(gè)元素選擇到可達(dá)路徑,則為此語(yǔ)句邊界值選擇到可達(dá)路徑。
[0027]圖2示出了本發(fā)明的結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法的對(duì)語(yǔ)句邊界值選擇路徑的實(shí)施例的流程圖。
[0028]參照?qǐng)D2,當(dāng)語(yǔ)句邊界值為路徑集合V=Ivi |i=l,2,3...}時(shí),對(duì)此語(yǔ)句邊界值V=Ivi I i=l, 2,3...}選擇路徑的具體步驟包括:
[0029]S51,獲取語(yǔ)句邊界值V中的任一個(gè)元素V1 ;
[0030]S52,選擇一條經(jīng)過(guò)元素V1的路徑P ;
[0031]S53,判斷路徑P是否為元素V1的可達(dá)路徑;
[0032]S54,如果是,則將路徑P作為語(yǔ)句邊界值V的可達(dá)路徑;如果否,則選擇語(yǔ)句邊界值V中的下一個(gè)元素,并重復(fù)進(jìn)行上述判斷,直到找到語(yǔ)句邊界值V的可達(dá)路徑。
[0033]在本實(shí)施例中,其他不是路徑集合的邊界值,都是控制流圖中的點(diǎn)和邊,其選擇路徑的方法與現(xiàn)有測(cè)試程序中的方法相同,在此不再贅述。
[0034]圖3示出了本發(fā)明的結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法的對(duì)所述表達(dá)式邊界值選擇路徑的實(shí)施例的流程圖;
[0035]參照?qǐng)D3,在本發(fā)明的另一個(gè)實(shí)施例中,對(duì)表達(dá)式邊界值選擇路徑的具體步驟包括:
[0036]S61,找到所述表達(dá)式所在的控制流語(yǔ)句節(jié)點(diǎn)S,
[0037]S62,得到所述表達(dá)式的邊界值的約束Cv ;
[0038]S63,選擇一條經(jīng)過(guò)上述控制流圖節(jié)點(diǎn)S的路徑P ;
[0039]S64,獲取所述路徑的約束Cp ;
[0040]S65,判斷C=Cv Λ Cp是否有解;
[0041]S66,如果判定C有解,則所述路徑為所述表達(dá)式邊界值的可達(dá)路徑;如果判定C無(wú)解,則重新選擇一條經(jīng)過(guò)所述控制流圖節(jié)點(diǎn)的路徑,直至C有解。
[0042]S4,根據(jù)所述可達(dá)路徑生成測(cè)試用例,并對(duì)所述測(cè)試用例進(jìn)行比較,從而得到邊界值測(cè)試結(jié)果。
[0043]下面是本發(fā)明的在結(jié)構(gòu)測(cè)試中進(jìn)行邊界值測(cè)試的一個(gè)具體的實(shí)施例。
[0044]對(duì)一個(gè)字符串表示的小數(shù),四舍五入取整:
[0045]程序源代碼(節(jié)選)及對(duì)應(yīng)的控制流圖如下所示:
[0046][0047]
【權(quán)利要求】
1.結(jié)構(gòu)測(cè)試中的邊界值測(cè)試方法,其特征在于,包括: Si,根據(jù)被測(cè)文件中的語(yǔ)句的語(yǔ)義和表達(dá)式的語(yǔ)義選擇特定的邊界覆蓋準(zhǔn)則; S2,根據(jù)所述邊界覆蓋準(zhǔn)則獲取所述被測(cè)文件的語(yǔ)句邊界值和表達(dá)式邊界值; S3,為所述語(yǔ)句邊界值和所述表達(dá)式邊界值選擇對(duì)應(yīng)的可達(dá)路徑; S4,根據(jù)所述可達(dá)路徑生成測(cè)試用例,并對(duì)所述測(cè)試用例進(jìn)行比較,從而得到邊界值測(cè)試結(jié)果。
2.根據(jù)權(quán)利要求1所述的故障自動(dòng)注入與故障檢測(cè)的方法,其特征在于,所述步驟S2包括: 從所述結(jié)構(gòu)測(cè)試的控制流圖中,得到語(yǔ)句節(jié)點(diǎn),然后根據(jù)所述邊界覆蓋準(zhǔn)則得到所述語(yǔ)句邊界值; 從結(jié)構(gòu)測(cè)試中的抽象語(yǔ)法樹中,得到所述表達(dá)式的節(jié)點(diǎn),然后根據(jù)所述邊界覆蓋準(zhǔn)則得到所述表達(dá)式邊界值。
3.根據(jù)權(quán)利要求2所述的故障自動(dòng)注入與故障檢測(cè)的方法,其特征在于,根據(jù)所述邊界值覆蓋準(zhǔn)則獲取所述語(yǔ)句邊界值的過(guò)程還包括: 所述結(jié)構(gòu)測(cè)試中的跳轉(zhuǎn)語(yǔ)句的每個(gè)邊界值為一個(gè)路徑集合,所述邊界覆蓋準(zhǔn)則檢測(cè)到所述集合中的任一個(gè)元素,則得到所述跳轉(zhuǎn)語(yǔ)句的語(yǔ)句邊界值。
4.根據(jù)權(quán)利要求1所述的故障自動(dòng)注入與故障檢測(cè)的方法,其特征在于,當(dāng)語(yǔ)句邊界值為路徑集合時(shí),為所述路徑集合中的任一個(gè)元素選擇到可達(dá)路徑,即為此語(yǔ)句邊界值選擇到可達(dá)路徑。
5.根據(jù)權(quán)利要求4所述的故障自動(dòng)注入與故障檢測(cè)的方法,其特征在于,當(dāng)語(yǔ)句邊界值為路徑集合時(shí),對(duì)此語(yǔ)句邊界值選擇路徑的具體步驟包括: S51,獲取所述語(yǔ)句邊界值中的第一個(gè)元素; S52,選擇一條經(jīng)過(guò)所述第一個(gè)元素的第一路徑; S53,判斷所述第一路徑是否為所述第一個(gè)元素的可達(dá)路徑; S54,如果是,則將所述第一路徑作為所述語(yǔ)句邊界值的可達(dá)路徑;如果否,則選擇所述語(yǔ)句邊界值中的下一個(gè)元素,并重復(fù)進(jìn)行上述判斷,直到找到所述語(yǔ)句邊界值的可達(dá)路徑。
6.根據(jù)權(quán)利要求1所述的故障自動(dòng)注入與故障檢測(cè)的方法,其特征在于,對(duì)所述表達(dá)式邊界值選擇路徑的具體步驟包括: S61,找到所述表達(dá)式所在的控制流圖節(jié)點(diǎn); S62,獲取所述表達(dá)式的邊界值的約束Cv ; S63,選擇一條經(jīng)過(guò)所述控制流圖節(jié)點(diǎn)的路徑; S64,獲取所述路徑的約束Cp ; S65,判斷C=Cv Λ Cp是否有解; S66,如果判定C有解,則所述路徑為所述表達(dá)式邊界值的可達(dá)路徑;如果判定C無(wú)解,則重新選擇一條經(jīng)過(guò)所述控制流圖節(jié)點(diǎn)的路徑,直至C有解。
7.故障自動(dòng)注入與故障檢測(cè)的系統(tǒng),其特征在于,所述系統(tǒng)包括: 邊界覆蓋準(zhǔn)則選擇模塊,用于根據(jù)被測(cè)文件中的語(yǔ)句的語(yǔ)義和表達(dá)式的語(yǔ)義選擇特定的邊界覆蓋準(zhǔn)則; 邊界值選取模塊,用于根據(jù)所述邊界覆蓋準(zhǔn)則獲取所述被測(cè)文件的語(yǔ)句邊界值和表達(dá)式邊界值; 可達(dá)路徑選擇模塊,用于為所述語(yǔ)句邊界值和所述表達(dá)式邊界值選擇對(duì)應(yīng)的可達(dá)路徑; 邊界值測(cè)試模塊,用于根據(jù)所述可達(dá)路徑生成測(cè)試用例,并對(duì)所述測(cè)試用例進(jìn)行比較,從而得到邊界值測(cè)試結(jié) 果。
【文檔編號(hào)】G06F11/36GK103914380SQ201410115157
【公開日】2014年7月9日 申請(qǐng)日期:2014年3月26日 優(yōu)先權(quán)日:2014年3月26日
【發(fā)明者】宮云戰(zhàn), 李峰, 黃俊飛, 金大海, 王雅文 申請(qǐng)人:北京郵電大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
新泰市| 五峰| 三门县| 大余县| 屏东市| 皋兰县| 宜昌市| 甘肃省| 顺昌县| 南部县| 满洲里市| 平凉市| 临沂市| 罗源县| 汪清县| 阜城县| 白水县| 中西区| 潼南县| 南宫市| 长寿区| 辽阳市| 稻城县| 娄烦县| 丰县| 息烽县| 天全县| 平谷区| 上虞市| 防城港市| 赣榆县| 云林县| 郑州市| 荆门市| 讷河市| 漯河市| 保山市| 西华县| 三亚市| 南康市| 平潭县|