国语精品91自产拍在线观看二区_色偷偷五月天_天天射夜夜爽_99久久免费国产特黄_1717国产精品久久

白盒測(cè)試的方法有哪些

時(shí)間:2022-08-04 09:31:22 職場(chǎng)健康 我要投稿
  • 相關(guān)推薦

白盒測(cè)試的方法有哪些

  導(dǎo)語:白盒測(cè)試 又稱結(jié)構(gòu)測(cè)試、透明盒測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于代碼的測(cè)試。白盒測(cè)試是一種測(cè)試用例設(shè)計(jì)方法,盒子指的是被測(cè)試的軟件,白盒指的是盒子是可視的,你清楚盒子內(nèi)部的東西以及里面是如何運(yùn)作的。以下是小編精心整理的白盒測(cè)試的方法有哪些,歡迎大家借鑒與參考,希望對(duì)大家有所幫助。

  "白盒"法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試。"白盒"法是窮舉路徑測(cè)試。在使用這一方案時(shí),測(cè)試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測(cè)試數(shù)據(jù)。

  貫穿程序的獨(dú)立路徑數(shù)是天文數(shù)字。采用什么方法對(duì)軟件進(jìn)行測(cè)試呢?

  常用的軟件測(cè)試方法有兩大類:

  靜態(tài)測(cè)試方法和動(dòng)態(tài)測(cè)試方法。其中軟件的靜態(tài)測(cè)試不要求在計(jì)算機(jī)上實(shí)際執(zhí)行所測(cè)程序,主要以一些人工的模擬技術(shù)對(duì)軟件進(jìn)行分析和測(cè)試;

  而軟件的動(dòng)態(tài)測(cè)試是通過輸入一組預(yù)先按照一定的測(cè)試準(zhǔn)則構(gòu)造的實(shí)例數(shù)據(jù)來動(dòng)態(tài)運(yùn)行程序,而達(dá)到發(fā)現(xiàn)程序錯(cuò)誤的過程。在動(dòng)態(tài)分析技術(shù)中,最重要的技術(shù)是路徑和分支測(cè)試。

  下面要介紹的六種覆蓋測(cè)試方法屬于動(dòng)態(tài)分析方法。

  白盒測(cè)試的測(cè)試方法有代碼檢查法、靜態(tài)結(jié)構(gòu)分析法、靜態(tài)質(zhì)量度量法、邏輯覆蓋法、基本路徑測(cè)試法、域測(cè)試、符號(hào)測(cè)試、Z路徑覆蓋、程序變異、

  其中運(yùn)用最為廣泛的是基本路徑測(cè)試法、

  基本路徑測(cè)試法是在程序控制流圖的基礎(chǔ)上,通過分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例的方法、

  設(shè)計(jì)出的測(cè)試用例要保證在測(cè)試中程序的每個(gè)可執(zhí)行語句至少執(zhí)行一次、

  在程序控制流圖的基礎(chǔ)上,通過分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計(jì)測(cè)試用例、包括以下4個(gè)步驟和一個(gè)工具方法:

  1、程序的控制流圖:描述程序控制流的一種圖示方法

  2、程序圈復(fù)雜度:McCabe復(fù)雜性度量、從程序的環(huán)路復(fù)雜性可導(dǎo)出程序基本路徑集合中的獨(dú)立路徑條數(shù),這是確定程序中每個(gè)可執(zhí)行語句至少執(zhí)行一次所必須的測(cè)試用例數(shù)目的上界、

  3、導(dǎo)出測(cè)試用例:根據(jù)圈復(fù)雜度和程序結(jié)構(gòu)設(shè)計(jì)用例數(shù)據(jù)輸入和預(yù)期結(jié)果、

  4、準(zhǔn)備測(cè)試用例:確;韭窂郊械拿恳粭l路徑的執(zhí)行、

  工具方法:

  圖形矩陣:是在基本路徑測(cè)試中起輔助作用的軟件工具,利用它可以實(shí)現(xiàn)自動(dòng)地確定一個(gè)基本路徑集、

  程序的控制流圖:描述程序控制流的一種圖示方法、

  圓圈稱為控制流圖的一個(gè)結(jié)點(diǎn),表示一個(gè)或多個(gè)無分支的語句或源程序語句

  流圖只有二種圖形符號(hào):圖中的每一個(gè)圓稱為流圖的結(jié)點(diǎn),代表一條或多條語句、流圖中的箭頭稱為邊或連接,代表控制流 任何過程設(shè)計(jì)都要被翻譯成控制流圖、

  如何根據(jù)程序流程圖畫出控制流程圖?

  在將程序流程圖簡(jiǎn)化成控制流圖時(shí),應(yīng)注意:

  在選擇或多分支結(jié)構(gòu)中,分支的匯聚處應(yīng)有一個(gè)匯聚結(jié)點(diǎn)、

  邊和結(jié)點(diǎn)圈定的區(qū)域叫做區(qū)域,當(dāng)對(duì)區(qū)域計(jì)數(shù)時(shí),圖形外的區(qū)域也應(yīng)記為一個(gè)區(qū)域、

  如果判斷中的條件表達(dá)式是由一個(gè)或多個(gè)邏輯運(yùn)算符 (OR,AND,NAND,NOR) 連接的復(fù)合條件表達(dá)式,則需要改為一系列只有單條件的嵌套的判斷、例如:1 if a or b 2 x 3 else 4 y

  對(duì)應(yīng)的邏輯為:

  獨(dú)立路徑:至少沿一條新的邊移動(dòng)的路徑

  基本路徑測(cè)試法的步驟:

  第一步:畫出控制流圖

  流程圖用來描述程序控制結(jié)構(gòu)、可將流程圖映射到一個(gè)相應(yīng)的流圖(假設(shè)流程圖的菱形決定框中不包含復(fù)合條件)、在流圖中,每一個(gè)圓,稱為流圖的結(jié)點(diǎn),代表一 個(gè)或多個(gè)語句、一個(gè)處理方框序列和一個(gè)菱形決測(cè)框可被映射為一個(gè)結(jié)點(diǎn),流圖中的箭頭,稱為邊或連接,代表控制流,類似于流程圖中的箭頭、一條邊必須終止于 一個(gè)結(jié)點(diǎn),即使該結(jié)點(diǎn)并不代表任何語句(例如:if—else—then結(jié)構(gòu))、由邊和結(jié)點(diǎn)限定的范圍稱為區(qū)域、計(jì)算區(qū)域時(shí)應(yīng)包括圖外部的范圍、

  第二步:計(jì)算圈復(fù)雜度

  圈復(fù)雜度是一種為程序邏輯復(fù)雜性提供定量測(cè)度的軟件度量,將該度量用于計(jì)算程序的基本的獨(dú)立路徑數(shù)目,為確保所有語句至少執(zhí)行一次的測(cè)試數(shù)量的上界、獨(dú)立路徑必須包含一條在定義之前不曾用到的邊、

  有以下三種方法計(jì)算圈復(fù)雜度:流圖中區(qū)域的數(shù)量對(duì)應(yīng)于環(huán)型的復(fù)雜性; 給定流圖G的圈復(fù)雜度V(G),定義為V(G)=E—N+2,E是流圖中邊的數(shù)量,N是流圖中結(jié)點(diǎn)的數(shù)量; 給定流圖G的圈復(fù)雜度V(G),定義為V(G)=P+1,P是流圖G中判定結(jié)點(diǎn)的數(shù)量、

  第三步:導(dǎo)出測(cè)試用例 根據(jù)上面的計(jì)算方法,可得出四個(gè)獨(dú)立的路徑、(一條獨(dú)立路徑是指,和其他的獨(dú)立路徑相比,至少引入一個(gè)新處理語句或一個(gè)新判斷的程序通路、V(G)值正好等于該程序的獨(dú)立路徑的條數(shù)、)

  路徑1:4—14

  路徑2:4—6—7—14

  路徑3:4—6—8—10—13—4—14

  路徑4:4—6—8—11—13—4—14

  根據(jù)上面的獨(dú)立路徑,去設(shè)計(jì)輸入數(shù)據(jù),使程序分別執(zhí)行到上面四條路徑、

  第四步:準(zhǔn)備測(cè)試用例

  為了確;韭窂郊械拿恳粭l路徑的執(zhí)行,根據(jù)判斷結(jié)點(diǎn)給出的條件,選擇適當(dāng)?shù)臄?shù)據(jù)以保證某一條路徑可以被測(cè)試到,滿足上面例子基本路徑集的測(cè)試用例是:

  舉例說明:流程圖描述了最多輸入50個(gè)值(以–1作為輸入結(jié)束標(biāo)志),計(jì)算其中有效的'學(xué)生分?jǐn)?shù)的個(gè)數(shù)、總分?jǐn)?shù)和平均值、

  步驟1:導(dǎo)出過程的流圖、

  步驟2:確定環(huán)形復(fù)雜性度量V(G):1)V(G)= 6 (個(gè)區(qū)域) 2)V(G)=E–N+2=16–12+2=6 其中E為流圖中的邊數(shù),N為結(jié)點(diǎn)數(shù); 3)V(G)=P+1=5+1=6 其中P為謂詞結(jié)點(diǎn)的個(gè)數(shù)、在流圖中,結(jié)點(diǎn)2、3、5、6、9是謂詞結(jié)點(diǎn)、

  步驟3:確定基本路徑集合(即獨(dú)立路徑集合)、于是可確定6條獨(dú)立的路徑:路徑1:1—2—9—10—12 路徑2:1—2—9—11—12 路徑3:1—2—3—9—10—12 路徑4:1—2—3—4—5—8—2… 路徑5:1—2—3—4—5—6—8—2… 路徑6:1—2—3—4—5—6—7—8—2…

  步驟4:為每一條獨(dú)立路徑各設(shè)計(jì)一組測(cè)試用例,以便強(qiáng)迫程序沿著該路徑至少執(zhí)行一次、

  1)路徑1(1—2—9—10—12)的測(cè)試用例:score[k]=有效分?jǐn)?shù)值,當(dāng)k < i ; score=–1,2≤i≤50; 期望結(jié)果:根據(jù)輸入的有效分?jǐn)?shù)算出正確的分?jǐn)?shù)個(gè)數(shù)n1、總分sum和平均分average、

  2)路徑2(1—2—9—11—12)的測(cè)試用例:score[ 1 ]= – 1 ; 期望的結(jié)果:average = – 1 ,其他量保持初值、

  3)路徑3(1—2—3—9—10—12)的測(cè)試用例:輸入多于50個(gè)有效分?jǐn)?shù),即試圖處理51個(gè)分?jǐn)?shù),要求前51個(gè)為有效分?jǐn)?shù); 期望結(jié)果:n1=50、且算出正確的總分和平均分、

  4)路徑4(1—2—3—4—5—8—2…)的測(cè)試用例:score=有效分?jǐn)?shù),當(dāng)i

  測(cè)試方法

  白盒測(cè)試的測(cè)試方法有代碼檢查法、靜態(tài)結(jié)構(gòu)分析法、靜態(tài)質(zhì)量度量法、邏輯覆蓋法、基本路徑測(cè)試法、域測(cè)試、符號(hào)測(cè)試、路徑覆蓋和程序變異。

  白盒測(cè)試法的覆蓋標(biāo)準(zhǔn)有邏輯覆蓋、循環(huán)覆蓋和基本路徑測(cè)試。其中邏輯覆蓋包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。六種覆蓋標(biāo)準(zhǔn)發(fā)現(xiàn)錯(cuò)誤的能力呈由弱到強(qiáng)的變化:

  1、語句覆蓋每條語句至少執(zhí)行一次。

  2、判定覆蓋每個(gè)判定的每個(gè)分支至少執(zhí)行一次。

  3、條件覆蓋每個(gè)判定的每個(gè)條件應(yīng)取到各種可能的值。

  4、判定/條件覆蓋同時(shí)滿足判定覆蓋條件覆蓋。

  5、條件組合覆蓋每個(gè)判定中各條件的每一種組合至少出現(xiàn)一次。

  6、路徑覆蓋使程序中每一條可能的路徑至少執(zhí)行一次。

  要求

  1、保證一個(gè)模塊中的所有獨(dú)立路徑至少被使用一次。

  2、對(duì)所有邏輯值均需測(cè)試 true 和 false。

  3、在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán)。

  4、檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)以確保其有效性。

  目的

  通過檢查軟件內(nèi)部的邏輯結(jié)構(gòu),對(duì)軟件中的邏輯路徑進(jìn)行覆蓋測(cè)試;在程序不同地方設(shè)立檢查點(diǎn),檢查程序的狀態(tài),以確定實(shí)際運(yùn)行狀態(tài)與預(yù)期狀態(tài)是否一致。

  特點(diǎn)

  依據(jù)軟件設(shè)計(jì)說明書進(jìn)行測(cè)試、對(duì)程序內(nèi)部細(xì)節(jié)的嚴(yán)密檢驗(yàn)、針對(duì)特定條件設(shè)計(jì)測(cè)試用例、對(duì)軟件的邏輯路徑進(jìn)行覆蓋測(cè)試。

  實(shí)施步驟

  1、測(cè)試計(jì)劃階段:根據(jù)需求說明書,制定測(cè)試進(jìn)度。

  2、測(cè)試設(shè)計(jì)階段:依據(jù)程序設(shè)計(jì)說明書,按照一定規(guī)范化的方法進(jìn)行軟件結(jié)構(gòu)劃分和設(shè)計(jì)測(cè)試用例。

  3、測(cè)試執(zhí)行階段:輸入測(cè)試用例,得到測(cè)試結(jié)果。

  4、測(cè)試總結(jié)階段:對(duì)比測(cè)試的結(jié)果和代碼的預(yù)期結(jié)果,分析錯(cuò)誤原因,找到并解決錯(cuò)誤。

  優(yōu)缺點(diǎn)

  優(yōu)點(diǎn)

  1、迫使測(cè)試人員去仔細(xì)思考軟件的實(shí)現(xiàn)

  2、可以檢測(cè)代碼中的每條分支和路徑

  3、揭示隱藏在代碼中的錯(cuò)誤

  4、對(duì)代碼的測(cè)試比較徹底

  5、最優(yōu)化

  缺點(diǎn)

  1、昂貴

  2、無法檢測(cè)代碼中遺漏的路徑和數(shù)據(jù)敏感性錯(cuò)誤

  3、不驗(yàn)證規(guī)格的正確性

  局限

  但即使每條路徑都測(cè)試了仍然可能有錯(cuò)誤?赡艹霈F(xiàn)的情況如下:

  窮舉路徑測(cè)試決不能查出程序違反了設(shè)計(jì)規(guī)范,即程序本身是個(gè)錯(cuò)誤的程序。

  窮舉路徑測(cè)試不可能查出程序中因遺漏路徑而出錯(cuò)。

  窮舉路徑測(cè)試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。

【白盒測(cè)試的方法有哪些】相關(guān)文章:

心理測(cè)試的方法有哪些04-24

男人減肥方法有哪些04-23

閱讀方法有哪些技巧03-30

廣告的調(diào)查方法有哪些09-29

正確讀書的方法有哪些05-10

護(hù)理管理方法有哪些07-19

家庭養(yǎng)金魚的方法有哪些08-04

科學(xué)養(yǎng)蠶的方法有哪些07-28

創(chuàng)建班級(jí)文化的方法有哪些07-19

廣東學(xué)業(yè)水平測(cè)試歷史命題特點(diǎn)有哪些06-07