国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺談白盒測試之基本路徑測試方法研究

2014-12-13 20:04佘鳳
軟件工程 2014年12期
關(guān)鍵詞:軟件測試

佘鳳

摘? 要:本文分析了白盒測試中基本路徑測試方法的相關(guān)概念,闡述了利用基本路徑測試方法設(shè)計測試用例的過程,最后通過實例說明基本路徑測試方法的使用。

關(guān)鍵詞:軟件測試;白盒測試;基本路徑測試

中圖分類號:TP311.52?????????? 文獻(xiàn)標(biāo)識碼:A

1? 引言(Introduction)

白盒測試[1]是基于程序的測試,它根據(jù)程序的控制結(jié)構(gòu)設(shè)計測試用例,主要用于軟件或程序驗證,測試產(chǎn)品的內(nèi)部結(jié)構(gòu)是否合理以及內(nèi)部操作是否按規(guī)定執(zhí)行。白盒測試要求對被測程序的結(jié)構(gòu)特性達(dá)到一定程度測試覆蓋[2],并以軟件中某類成分(如語句、判定、條件、判定/條件、條件組合、路徑)是否都已得到測試來判斷軟件測試的充分性。基本路徑測試[3]是白盒測試技術(shù)中測試覆蓋率較強(qiáng)的一種測試方法。

2? 基本路徑測試方法的相關(guān)概念(The concept of

the basic path testing method)

在實踐中,一個不太復(fù)雜的程序,其路徑都是一個龐大的數(shù)字,要在測試中覆蓋所有的路徑是不現(xiàn)實的。為了解決這一難題,只得把覆蓋的路徑數(shù)壓縮到一定限度內(nèi),例如,程序中的循環(huán)體只執(zhí)行一次?;韭窂綔y試就是這樣一種測試方法,在控制流圖的基礎(chǔ)上,通過分析控制結(jié)構(gòu)的環(huán)形復(fù)雜度,導(dǎo)出執(zhí)行路徑的基本集,再從該基本集設(shè)計測試用例。設(shè)計出的測試用例要保證在測試中程序的每個可執(zhí)行語句至少執(zhí)行一次。

3? 基本路徑測試方法的測試步驟(The step of the

basic path testing method)

3.1?? 畫出程序的控制流圖

程序流程圖(簡稱框圖)是一種程序控制結(jié)構(gòu)的圖形表示??刂屏鲌D(簡稱流圖)是對程序流程圖進(jìn)行簡化后得到的,它可以更加突出的表示程序控制流的結(jié)構(gòu)。控制流圖中包括兩種圖形符號:結(jié)點和控制流線。結(jié)點由帶標(biāo)號的圓圈“○”表示,可代表一個或多個無分支的語句、一個處理框序列和一個條件判定框(不包含復(fù)合條件)??刂屏骶€由帶箭頭的弧或線表示,可稱為邊,它代表程序中的控制流。一條邊必須終止于一個結(jié)點,即使該結(jié)點并不代表任何語句。由邊和結(jié)點限定的范圍稱為區(qū)域。

如果判斷中的條件表達(dá)式是由一個或多個邏輯運(yùn)算符(OR、AND、NAND、NOR)連接的復(fù)合條件表達(dá)式,則需要改為一系列只有單個條件的嵌套的判斷,如圖1所示。

圖1 復(fù)合條件流圖

Fig.1 Composite condition flow chart

3.2?? 計算程序的環(huán)形復(fù)雜度

環(huán)形復(fù)雜度也稱為圈復(fù)雜度,它是一種為程序邏輯復(fù)雜度提供定量尺度的軟件度量。用來衡量一個模塊邏輯結(jié)構(gòu)的復(fù)雜程度,在數(shù)量上表現(xiàn)為獨立路徑條數(shù),是需要測試的基本路徑數(shù)目的上限。有以下三種方法計算環(huán)形復(fù)雜度V(G)。

方法1:V(G)=控制流圖中區(qū)域的數(shù)量。邊和結(jié)點圈定的區(qū)域叫做區(qū)域,當(dāng)對區(qū)域計數(shù)時,圖形外的區(qū)域也應(yīng)記為一個區(qū)域。

方法2:V(G)=E(控制流圖中邊的數(shù)量)-N(控制流圖中結(jié)點的數(shù)量)+2。

方法3:V(G)=P(流圖中判定結(jié)點的數(shù)量)+1。

3.3?? 確定基本路徑集合

導(dǎo)出基本路徑集,列出程序的獨立路徑。一條獨立路徑是指和其他的獨立路徑相比,至少引入一個新處理語句或一個新判斷的程序通路。V(G)值正好等于該程序的獨立路徑條數(shù)。

3.4?? 設(shè)計測試用例

為了確?;韭窂郊械拿恳粭l路徑的執(zhí)行,根據(jù)判斷結(jié)點給出的條件,選擇適當(dāng)?shù)臄?shù)據(jù)以保證某一條路徑可以被測試到,設(shè)計測試用例的輸入數(shù)據(jù)和預(yù)期輸出,確?;韭窂郊械拿恳粭l路徑的執(zhí)行。

4?? 基本路徑測試方法的應(yīng)用(The application of the

basic path testing method)

三角形問題:輸入三個整數(shù)a、b和c分別作為三角形的三條邊,通過程序判斷有這三條邊構(gòu)成的三角形類型是:等邊三角形、等腰三角形、一般三角形或非三角形。利用基本路徑測試法對三角形問題進(jìn)行測試用例設(shè)計。主要代碼如下所示(注:數(shù)字1-16是語句編號,方便繪制控制流圖,編程時不用寫入) 。

1.??? if ((a>;=b+c)

2.? ??? ||(b>;=a+c)

3.? ????? ||(c>;=b+a))

4.? ???? cout<;<; "非三角形";

5.??? else

6.? ??? if ((a==b)

7.? ????? &;&;(b==c))

8.? ???? cout<;<; "等邊三角形";

9.?? else

10.? ??? if ((a==b)endprint

11. ??????????? ||(a==c)

12. ?????? ||(c==b) )

13.???????????? cout<;<;"等腰三角形";

14.?? else

15.? ???? cout<;<; "一般三角形";

16.? ? cout<;<;endl;

第一步:繪制控制流圖,如圖2所示。(注意:復(fù)合條件語句,需改復(fù)合條件的判斷為一系列單個條件的嵌套)

圖2 程序控制流圖

Fig.2 Program control flow chart

第二步:計算程序的環(huán)形復(fù)雜度V(G),分析如下:

1.控制流圖中有9個區(qū)域。

2.V(G)=20條邊-13結(jié)點+2=9。

3.V(G)=8個判定結(jié)點+1=9。

所以,程序的環(huán)形復(fù)雜度V(G)=9。

第三步:確定基本路徑集合。根據(jù)環(huán)形復(fù)雜性V(G)的計算,導(dǎo)出基本路徑集,列出程序的獨立路徑(用題中給出的語句編號表示)。設(shè)計時注意要點:從較短路徑順序增加,每個分支盡可能走一次??傻贸龌韭窂郊歇毩⒙窂饺缦拢?/p>

P1:? 1-4-16

P2:? 1-2-4-16

P3:? 1-2-3-4-16

P4:? 1-2-3-6-7-8-16

P5:? 1-2-3-6-10-13-16

P6:? 1-2-3-6-10-11-13-16

P7:? 1-2-3-6-10-11-12-13-16

P8:? 1-2-3-6-10-11-12-15-16

P9:? 1-2-3-6-7-10-11-12-15-16

第四步:設(shè)計測試用例。根據(jù)基本路徑集中9條獨立的路徑,設(shè)計滿足上面基本路徑集的測試用例,詳見表1。

表1 測試用例

Tab.1 Test case

5?? 結(jié)論(Conclusion)

白盒測試又稱為結(jié)構(gòu)測試,邏輯驅(qū)動測試。測試人員可以訪問程序員的代碼,并通過檢查代碼來測試,可以看到盒子里面程序的內(nèi)部結(jié)構(gòu)?;韭窂綔y試是白盒測試技術(shù)中測試覆蓋率較強(qiáng)的一種測試方法。本文重點介紹了基本路徑測試方法的相關(guān)概念,分析了使用基本路徑測試方法設(shè)計測試用例的過程,最后結(jié)合實例說明使用基本路徑測試方法設(shè)計測試用例的應(yīng)用。

參考文獻(xiàn)(References)

[1] 陳衛(wèi)衛(wèi).軟件測試[M].西安:西安電子科技大學(xué)出版社,2011.

[2] 魏琴,梅佳.軟件測試技術(shù)(基于工作過程)[M].北京:電子工業(yè)

出版社,2012.

[3] 于艷華,王素華,吳艷平.軟件測試技術(shù)與項目實訓(xùn)[M].北京:

中國人民大學(xué)出版社,2013.

作者簡介:

佘? 鳳(1976-),女,碩士,軟件設(shè)計師,高校講師.研究領(lǐng)

域:軟件測試.endprint

11. ??????????? ||(a==c)

12. ?????? ||(c==b) )

13.???????????? cout<;<;"等腰三角形";

14.?? else

15.? ???? cout<;<; "一般三角形";

16.? ? cout<;<;endl;

第一步:繪制控制流圖,如圖2所示。(注意:復(fù)合條件語句,需改復(fù)合條件的判斷為一系列單個條件的嵌套)

圖2 程序控制流圖

Fig.2 Program control flow chart

第二步:計算程序的環(huán)形復(fù)雜度V(G),分析如下:

1.控制流圖中有9個區(qū)域。

2.V(G)=20條邊-13結(jié)點+2=9。

3.V(G)=8個判定結(jié)點+1=9。

所以,程序的環(huán)形復(fù)雜度V(G)=9。

第三步:確定基本路徑集合。根據(jù)環(huán)形復(fù)雜性V(G)的計算,導(dǎo)出基本路徑集,列出程序的獨立路徑(用題中給出的語句編號表示)。設(shè)計時注意要點:從較短路徑順序增加,每個分支盡可能走一次??傻贸龌韭窂郊歇毩⒙窂饺缦拢?/p>

P1:? 1-4-16

P2:? 1-2-4-16

P3:? 1-2-3-4-16

P4:? 1-2-3-6-7-8-16

P5:? 1-2-3-6-10-13-16

P6:? 1-2-3-6-10-11-13-16

P7:? 1-2-3-6-10-11-12-13-16

P8:? 1-2-3-6-10-11-12-15-16

P9:? 1-2-3-6-7-10-11-12-15-16

第四步:設(shè)計測試用例。根據(jù)基本路徑集中9條獨立的路徑,設(shè)計滿足上面基本路徑集的測試用例,詳見表1。

表1 測試用例

Tab.1 Test case

5?? 結(jié)論(Conclusion)

白盒測試又稱為結(jié)構(gòu)測試,邏輯驅(qū)動測試。測試人員可以訪問程序員的代碼,并通過檢查代碼來測試,可以看到盒子里面程序的內(nèi)部結(jié)構(gòu)?;韭窂綔y試是白盒測試技術(shù)中測試覆蓋率較強(qiáng)的一種測試方法。本文重點介紹了基本路徑測試方法的相關(guān)概念,分析了使用基本路徑測試方法設(shè)計測試用例的過程,最后結(jié)合實例說明使用基本路徑測試方法設(shè)計測試用例的應(yīng)用。

參考文獻(xiàn)(References)

[1] 陳衛(wèi)衛(wèi).軟件測試[M].西安:西安電子科技大學(xué)出版社,2011.

[2] 魏琴,梅佳.軟件測試技術(shù)(基于工作過程)[M].北京:電子工業(yè)

出版社,2012.

[3] 于艷華,王素華,吳艷平.軟件測試技術(shù)與項目實訓(xùn)[M].北京:

中國人民大學(xué)出版社,2013.

作者簡介:

佘? 鳳(1976-),女,碩士,軟件設(shè)計師,高校講師.研究領(lǐng)

域:軟件測試.endprint

11. ??????????? ||(a==c)

12. ?????? ||(c==b) )

13.???????????? cout<;<;"等腰三角形";

14.?? else

15.? ???? cout<;<; "一般三角形";

16.? ? cout<;<;endl;

第一步:繪制控制流圖,如圖2所示。(注意:復(fù)合條件語句,需改復(fù)合條件的判斷為一系列單個條件的嵌套)

圖2 程序控制流圖

Fig.2 Program control flow chart

第二步:計算程序的環(huán)形復(fù)雜度V(G),分析如下:

1.控制流圖中有9個區(qū)域。

2.V(G)=20條邊-13結(jié)點+2=9。

3.V(G)=8個判定結(jié)點+1=9。

所以,程序的環(huán)形復(fù)雜度V(G)=9。

第三步:確定基本路徑集合。根據(jù)環(huán)形復(fù)雜性V(G)的計算,導(dǎo)出基本路徑集,列出程序的獨立路徑(用題中給出的語句編號表示)。設(shè)計時注意要點:從較短路徑順序增加,每個分支盡可能走一次。可得出基本路徑集中獨立路徑如下:

P1:? 1-4-16

P2:? 1-2-4-16

P3:? 1-2-3-4-16

P4:? 1-2-3-6-7-8-16

P5:? 1-2-3-6-10-13-16

P6:? 1-2-3-6-10-11-13-16

P7:? 1-2-3-6-10-11-12-13-16

P8:? 1-2-3-6-10-11-12-15-16

P9:? 1-2-3-6-7-10-11-12-15-16

第四步:設(shè)計測試用例。根據(jù)基本路徑集中9條獨立的路徑,設(shè)計滿足上面基本路徑集的測試用例,詳見表1。

表1 測試用例

Tab.1 Test case

5?? 結(jié)論(Conclusion)

白盒測試又稱為結(jié)構(gòu)測試,邏輯驅(qū)動測試。測試人員可以訪問程序員的代碼,并通過檢查代碼來測試,可以看到盒子里面程序的內(nèi)部結(jié)構(gòu)?;韭窂綔y試是白盒測試技術(shù)中測試覆蓋率較強(qiáng)的一種測試方法。本文重點介紹了基本路徑測試方法的相關(guān)概念,分析了使用基本路徑測試方法設(shè)計測試用例的過程,最后結(jié)合實例說明使用基本路徑測試方法設(shè)計測試用例的應(yīng)用。

參考文獻(xiàn)(References)

[1] 陳衛(wèi)衛(wèi).軟件測試[M].西安:西安電子科技大學(xué)出版社,2011.

[2] 魏琴,梅佳.軟件測試技術(shù)(基于工作過程)[M].北京:電子工業(yè)

出版社,2012.

[3] 于艷華,王素華,吳艷平.軟件測試技術(shù)與項目實訓(xùn)[M].北京:

中國人民大學(xué)出版社,2013.

作者簡介:

佘? 鳳(1976-),女,碩士,軟件設(shè)計師,高校講師.研究領(lǐng)

域:軟件測試.endprint

猜你喜歡
軟件測試
軟件測試方向人才培養(yǎng)“1+X”融合研究
基于OBE的軟件測試課程教學(xué)改革探索
航天軟件測試模型構(gòu)建與應(yīng)用
基于MBD模型自動生成測試用例的軟件測試方法
計算機(jī)軟件測試方法的研究
EXCEL和VBA實現(xiàn)軟件測試記錄管理
關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
一種航空機(jī)載軟件測試項目的進(jìn)度改進(jìn)模型
軍用軟件測試文檔生成設(shè)計與實現(xiàn)
軟件測試工程化模型及應(yīng)用研究