• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

    佘鳳

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

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

    中圖分類號:TP311.52?????????? 文獻標(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)特性達到一定程度測試覆蓋[2],并以軟件中某類成分(如語句、判定、條件、判定/條件、條件組合、路徑)是否都已得到測試來判斷軟件測試的充分性。基本路徑測試[3]是白盒測試技術(shù)中測試覆蓋率較強的一種測試方法。

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

    如果判斷中的條件表達式是由一個或多個邏輯運算符(OR、AND、NAND、NOR)連接的復(fù)合條件表達式,則需要改為一系列只有單個條件的嵌套的判斷,如圖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ù)期輸出,確保基本路徑集中的每一條路徑的執(zhí)行。

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

    basic path testing method)

    三角形問題:輸入三個整數(shù)a、b和c分別作為三角形的三條邊,通過程序判斷有這三條邊構(gòu)成的三角形類型是:等邊三角形、等腰三角形、一般三角形或非三角形。利用基本路徑測試法對三角形問題進行測試用例設(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ù)中測試覆蓋率較強的一種測試方法。本文重點介紹了基本路徑測試方法的相關(guān)概念,分析了使用基本路徑測試方法設(shè)計測試用例的過程,最后結(jié)合實例說明使用基本路徑測試方法設(shè)計測試用例的應(yīng)用。

    參考文獻(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ù)中測試覆蓋率較強的一種測試方法。本文重點介紹了基本路徑測試方法的相關(guān)概念,分析了使用基本路徑測試方法設(shè)計測試用例的過程,最后結(jié)合實例說明使用基本路徑測試方法設(shè)計測試用例的應(yīng)用。

    參考文獻(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ù)中測試覆蓋率較強的一種測試方法。本文重點介紹了基本路徑測試方法的相關(guān)概念,分析了使用基本路徑測試方法設(shè)計測試用例的過程,最后結(jié)合實例說明使用基本路徑測試方法設(shè)計測試用例的應(yīng)用。

    參考文獻(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é)改革探索
    計算機教育(2020年5期)2020-07-24 08:53:20
    航天軟件測試模型構(gòu)建與應(yīng)用
    軟件(2020年3期)2020-04-20 01:45:34
    基于MBD模型自動生成測試用例的軟件測試方法
    計算機軟件測試方法的研究
    電子測試(2018年14期)2018-09-26 06:05:06
    EXCEL和VBA實現(xiàn)軟件測試記錄管理
    電子制作(2018年16期)2018-09-26 03:27:18
    關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
    電子測試(2017年15期)2017-12-18 07:19:20
    一種航空機載軟件測試項目的進度改進模型
    電子測試(2017年12期)2017-12-18 06:36:14
    軍用軟件測試文檔生成設(shè)計與實現(xiàn)
    電子測試(2017年12期)2017-12-18 06:35:35
    軟件測試工程化模型及應(yīng)用研究
    黄大仙区| 吉木乃县| 简阳市| 三门县| 盐边县| 华安县| 若尔盖县| 外汇| 江孜县| 布尔津县| 班玛县| 马公市| 浑源县| 颍上县| 中方县| 尼玛县| 赞皇县| 岢岚县| 二连浩特市| 福鼎市| 宜都市| 绿春县| 南丹县| 裕民县| 修文县| 淳化县| 平果县| 同德县| 彭山县| 余姚市| 霸州市| 同仁县| 上杭县| 扶风县| 金寨县| 鹤岗市| 花莲县| 枝江市| 民权县| 沂水县| 岳阳市|