軟件工程 第7章:實(shí)現(xiàn)3 測試方法_第1頁
軟件工程 第7章:實(shí)現(xiàn)3 測試方法_第2頁
軟件工程 第7章:實(shí)現(xiàn)3 測試方法_第3頁
軟件工程 第7章:實(shí)現(xiàn)3 測試方法_第4頁
軟件工程 第7章:實(shí)現(xiàn)3 測試方法_第5頁
已閱讀5頁,還剩142頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、7.6 白盒測試技術(shù)白盒測試技術(shù) 白盒測試白盒測試 的原則的原則 對程序模塊的所有對程序模塊的所有獨(dú)立獨(dú)立 執(zhí)行路徑執(zhí)行路徑至少測試一次至少測試一次 對所有的對所有的邏輯判定邏輯判定取取 “真真”與取與取“假假”的兩種情況的兩種情況 都至少測試一次。都至少測試一次。 在在循環(huán)的邊界和可操作范圍循環(huán)的邊界和可操作范圍 內(nèi)內(nèi)執(zhí)行循環(huán)體執(zhí)行循環(huán)體 測試測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,的有效性, 完成邊界條件的測試。完成邊界條件的測試。 循 環(huán) 小 于 等 于 20 次 迪杰斯特拉定律:迪杰斯特拉定律:窮盡測試永遠(yuǎn)不可能窮盡測試永遠(yuǎn)不可能 執(zhí)行路徑:執(zhí)行路徑:5 520 20個 個 如果如果1m

2、s1ms完成一完成一 個測試個測試 近似為近似為101014 14個 個 需需31703170年年 1. 語句覆蓋語句覆蓋 2. 判定覆蓋判定覆蓋 3. 條件覆蓋條件覆蓋 4. 判定判定-條件覆蓋條件覆蓋 5. 條件組合覆蓋條件組合覆蓋 6. 路徑覆蓋路徑覆蓋 設(shè)計(jì)測試用例,使被測程序中的設(shè)計(jì)測試用例,使被測程序中的每個每個 可執(zhí)行語句至少被執(zhí)行一次可執(zhí)行語句至少被執(zhí)行一次 int a, b; double c; if ( a 0 if ( a 1 | c 1 ) c= c+1; c = b+c; c=b+c c=c/a c=c+1 T T F F a 0 N為:為:a 1 double c

3、if ( a 0 if ( a 1 | c 1 ) c= c+1; c = b+c; c=b+c c=c/a c=c+1 T T F F a 0 if ( a 1 | c 1 ) c= c+1; c = b+c; c=b+c c=c/a c=c+1 T T F F a 0 double c if ( a 0 if ( a 1 | c 1 ) c= c+1; c = b+c; c=b+c c=c/a c=c+1 T T F F a 0 double c 1 if ( a 0 3 4 if ( a 1 | c 0 double c; if ( a 0 if ( a 1 | c 1 ) c= c+1

4、; c = b+c; c=b+c c=c/a c=c+1 T T F F a 0 u需要有深入的系統(tǒng)知識,才能合理的劃分等價類。需要有深入的系統(tǒng)知識,才能合理的劃分等價類。 對考試系統(tǒng)“成績查詢模塊”子模塊 輸入準(zhǔn)考證號查詢成績 行政專業(yè)準(zhǔn)考證號碼為:110001111215 法律專業(yè)準(zhǔn)考證號碼為:210001212006 財經(jīng)專業(yè)準(zhǔn)考證號碼為:310001314015 例例2:準(zhǔn)考證號碼:準(zhǔn)考證號碼 例例:準(zhǔn)考證號碼的等價類劃分準(zhǔn)考證號碼的等價類劃分 有效等價類有效等價類: (1) 110001 111215 (2) 210001 212006 (3) 310001 314015 無效等價類

5、無效等價類: (4) - 110000 (5) 111216 210000 (6) 212007 310000 (7) 314016 + 等價類的劃分規(guī)則等價類的劃分規(guī)則 規(guī)則規(guī)則有效等價類個數(shù)有效等價類個數(shù)無效等價類個數(shù)無效等價類個數(shù) 范圍范圍 12 定值或布爾值定值或布爾值 11 數(shù)組數(shù)組 n1 規(guī)則規(guī)則 1x 四四 邊界值分析法邊界值分析法 Boundary Value Analysis,BVA 理論提出:理論提出: 長期的測試工作經(jīng)驗(yàn)表明,大量的錯誤是發(fā)生在長期的測試工作經(jīng)驗(yàn)表明,大量的錯誤是發(fā)生在 輸入輸入或或輸出輸出范圍的范圍的邊界邊界上,而不是發(fā)生在輸入輸出范上,而不是發(fā)生在輸入

6、輸出范 圍的內(nèi)部。因此針對各種邊界情況設(shè)計(jì)測試用例,可圍的內(nèi)部。因此針對各種邊界情況設(shè)計(jì)測試用例,可 以查出更多的錯誤。以查出更多的錯誤。 定義:定義: 邊界值分析法就是對邊界值分析法就是對輸入或輸出的邊界值輸入或輸出的邊界值進(jìn)行測進(jìn)行測 試的一種黑盒測試方法。試的一種黑盒測試方法。 通常邊界值分析法是通常邊界值分析法是作為對等價類劃分法的補(bǔ)充作為對等價類劃分法的補(bǔ)充, 這種情況下,其測試用例來自等價類的邊界。這種情況下,其測試用例來自等價類的邊界。 1. 常見的邊界值常見的邊界值 1)對)對16-bit 的整數(shù)而言的整數(shù)而言 32767 和和 -32768 是邊界是邊界 2)屏幕上光標(biāo)在最左

7、上、最右下位置)屏幕上光標(biāo)在最左上、最右下位置 3)報表的第一行和最后一行)報表的第一行和最后一行 4)數(shù)組元素的第一個和最后一個)數(shù)組元素的第一個和最后一個 5)循環(huán)的第)循環(huán)的第 0 次、第次、第 1 次和倒數(shù)第次和倒數(shù)第 2 次、最后一次次、最后一次 邊界值分析的基礎(chǔ)思想是在輸入變量的取值區(qū)間邊界值分析的基礎(chǔ)思想是在輸入變量的取值區(qū)間 內(nèi)取內(nèi)取最小值、略高于最小值、正常值、略低于最大值最小值、略高于最小值、正常值、略低于最大值 和最大值和最大值5個值。個值。 邊界值分析邊界值分析健壯性健壯性邊界值分析邊界值分析 2. 用例設(shè)計(jì)思想用例設(shè)計(jì)思想 例例1:一個輸入年份的輸入框,一個輸入年份的

8、輸入框,其其限制條件是限制條件是1900 年至年至2012年,那么年,那么選擇測試用例為:選擇測試用例為: 1900,1901,1950,2011,2012 1899,1900,1901,1950,2011,2012,2013 例例2:銀行銀行取取款機(jī),款機(jī),取款取款金額是金額是100 10000,提款,提款 的顆粒度為的顆粒度為100元,那么元,那么選擇測試用例為:選擇測試用例為: 0,100,200,5000,9900,10000,10100 3. 選擇測試用例技巧選擇測試用例技巧 (1)輸入條件:范圍輸入條件:范圍 剛剛達(dá)到剛剛達(dá)到這個范圍的邊界的值,以及這個范圍的邊界的值,以及剛剛超越

9、剛剛超越這這 個范圍邊界的值個范圍邊界的值 例如:如果程序的規(guī)格說明中規(guī)定:例如:如果程序的規(guī)格說明中規(guī)定:“重量在重量在10公斤公斤 至至50公斤范圍內(nèi)的郵件,其郵費(fèi)計(jì)算公式為公斤范圍內(nèi)的郵件,其郵費(fèi)計(jì)算公式為”。 測試用例測試用例:9.99,10 ,10.01,25,49.99, 50,50.01 (2)輸入條件:值的個數(shù)輸入條件:值的個數(shù) 最大個數(shù)最大個數(shù),最小個數(shù),比最小個數(shù)少一,比最大個最小個數(shù),比最小個數(shù)少一,比最大個 數(shù)多一數(shù)多一 例如:一個輸入文件應(yīng)包括例如:一個輸入文件應(yīng)包括1255個記錄個記錄 則測試用:則測試用:0,1,122,255,256等。等。 (3)(1)、()、

10、(2)應(yīng)用于輸出條件)應(yīng)用于輸出條件 例如:某程序的規(guī)格說明要求計(jì)算出例如:某程序的規(guī)格說明要求計(jì)算出“每月保險金扣每月保險金扣 除額為除額為0至至1165.25元元” 測試用例選取應(yīng)能使計(jì)算結(jié)果為測試用例選取應(yīng)能使計(jì)算結(jié)果為0.00和和1165.25、以及、以及 -0.01及及1165.26等。等。 例如:檢索系統(tǒng)程序,要求每次例如:檢索系統(tǒng)程序,要求每次“最少顯示最少顯示1條、最多條、最多 顯示顯示4條檢索信息條檢索信息 測試用例應(yīng)能使輸出結(jié)果為:測試用例應(yīng)能使輸出結(jié)果為:1,4,還應(yīng)包括,還應(yīng)包括0,5等。等。 (4)輸入、輸出域是)輸入、輸出域是有序集合有序集合 集合的第一個元素和最后

11、一個元素集合的第一個元素和最后一個元素 (5)內(nèi)部數(shù)據(jù)結(jié)構(gòu)內(nèi)部數(shù)據(jù)結(jié)構(gòu) 內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值 (6)分析規(guī)格說明,找出其它可能的邊界條件)分析規(guī)格說明,找出其它可能的邊界條件 (7)正常值正常值接近取值范圍中間值接近取值范圍中間值即可即可 例:例:“輸入輸入3個值,輸出三角形的類型個值,輸出三角形的類型”測試用例:測試用例: 測試用例測試用例a ab bc c預(yù)期輸出預(yù)期輸出 Test1Test1 Test2Test2 Test3Test3 Test4Test4 Test5Test5 6060 6060 6060 5050 5050 6060 6060 6060 5

12、050 5050 1 1 2 2 6060 9999 100100 等腰三角形等腰三角形 等腰三角形等腰三角形 等邊三角形等邊三角形 等腰三角形等腰三角形 非三角形非三角形 Test6Test6 Test7Test7 Test8Test8 Test9Test9 6060 6060 5050 5050 1 1 2 2 9999 100100 6060 6060 5050 5050 等腰三角形等腰三角形 等腰三角形等腰三角形 等腰三角形等腰三角形 非三角形非三角形 Test10Test10 Test11Test11 Test12Test12 Test13Test13 1 1 2 2 9999 10

13、0100 6060 6060 5050 5050 6060 6060 5050 5050 等腰三角形等腰三角形 等腰三角形等腰三角形 等腰三角形等腰三角形 非三角形非三角形 邊界值是特殊的等價類邊界值是特殊的等價類 邊界值分析不僅考慮輸入,還要考慮輸出。邊界值分析不僅考慮輸入,還要考慮輸出。 4. 邊界值與等價類的區(qū)別邊界值與等價類的區(qū)別 5. 邊界值的弱點(diǎn)邊界值的弱點(diǎn) “單缺陷單缺陷”假設(shè)假設(shè):即由于缺陷導(dǎo)致的程序失效極少是即由于缺陷導(dǎo)致的程序失效極少是 由兩個(或多個)缺陷的同時作用引起。由兩個(或多個)缺陷的同時作用引起。 程序程序輸入是輸入是多個獨(dú)立的變量,多個獨(dú)立的變量,比較比較適合

14、邊界值適合邊界值 變量之間相互影響時,變量之間相互影響時,效果不好效果不好(人的身高體重人的身高體重) 邊界值分析與等價類劃分效果與測試人員的經(jīng)驗(yàn)密邊界值分析與等價類劃分效果與測試人員的經(jīng)驗(yàn)密 切相關(guān)。切相關(guān)。 組合分析法組合分析法 考慮思想:錯誤的主要來源來自于各種因素的組合,考慮思想:錯誤的主要來源來自于各種因素的組合, 而非一個因素。而非一個因素。 優(yōu)點(diǎn):實(shí)現(xiàn)成本低、維護(hù)成本低、容易自動化、錯優(yōu)點(diǎn):實(shí)現(xiàn)成本低、維護(hù)成本低、容易自動化、錯 誤發(fā)現(xiàn)效率高、測試方式靈活。誤發(fā)現(xiàn)效率高、測試方式靈活。 作業(yè):作業(yè): 1.閱讀偽代碼,完成下列任務(wù)閱讀偽代碼,完成下列任務(wù) (1)畫出程序流程圖、盒圖

15、。)畫出程序流程圖、盒圖。 (2)按照不同的覆蓋準(zhǔn)則,確定)按照不同的覆蓋準(zhǔn)則,確定 測試用例的數(shù)量,并設(shè)計(jì)測試用測試用例的數(shù)量,并設(shè)計(jì)測試用 例。例。 語句覆蓋語句覆蓋 判定覆蓋判定覆蓋 條件覆蓋條件覆蓋 路徑覆蓋路徑覆蓋 (3)畫出控制流圖,用基本路徑)畫出控制流圖,用基本路徑 法設(shè)計(jì)測試用例。法設(shè)計(jì)測試用例。 If X8 and Y5 then if X16 or Y10 then Z=3 endif Else If X0 or Y0 then Z=2 Else Z=1 endif endif 2.用邊界值法設(shè)計(jì)以下函數(shù)的測試用例。用邊界值法設(shè)計(jì)以下函數(shù)的測試用例。 (1)y=ABS(x

16、);(;(2)y=sin(x) 3.用等價類劃分法測試成績輸入文本框設(shè)計(jì)測試用例。用等價類劃分法測試成績輸入文本框設(shè)計(jì)測試用例。 (1)百分制;()百分制;(2)五級制。)五級制。 4.需要測試學(xué)號輸入文本框,學(xué)號結(jié)構(gòu)為需要測試學(xué)號輸入文本框,學(xué)號結(jié)構(gòu)為8位數(shù)字字位數(shù)字字 符組成,前兩位是年代后兩位,符組成,前兩位是年代后兩位,3、4兩位是專業(yè)編號兩位是專業(yè)編號 (1-50),),5、6位為班級編號(位為班級編號(1-20),),7、8位為位為50 以內(nèi)的流水號。以內(nèi)的流水號。 作業(yè):作業(yè):1.為以下流程圖所示的程序段設(shè)計(jì)一組測試用例,為以下流程圖所示的程序段設(shè)計(jì)一組測試用例, 要求分別滿足語

17、句覆蓋、判定覆蓋、條件覆蓋和路徑覆蓋要求分別滿足語句覆蓋、判定覆蓋、條件覆蓋和路徑覆蓋 設(shè)計(jì)測試用例。設(shè)計(jì)測試用例。 2.用基本路徑法設(shè)計(jì)測試用例。用基本路徑法設(shè)計(jì)測試用例。 X8 5.如果不屬于1-3條, 落點(diǎn)處無棋子,則移動棋子; 6.如果不屬于1-3條, 落點(diǎn)處為對方棋子(非老將),則移動棋子 并除去對方棋子; 7.如果不屬于1-3條,且落點(diǎn)處為對方老將,則移動棋子,并提示 戰(zhàn)勝對方,游戲結(jié)束。 二、二、 根據(jù)分析明確原因和結(jié)果根據(jù)分析明確原因和結(jié)果 原因: C1. 落點(diǎn)在棋盤上; C2.落點(diǎn)與起點(diǎn)構(gòu)成日字; C3.落點(diǎn)方向的鄰近交叉點(diǎn) 無棋子; C4.落點(diǎn)處為自己方棋子; C5.落點(diǎn)處

18、無棋子; C6.落點(diǎn)處為對方棋子(非 老將); C7.落點(diǎn)處為對方老將。 結(jié)果: E1.不移動棋子 E2.移動棋子 E3.移動棋子,并除去對方棋子 E4.移動棋子,并提示戰(zhàn)勝對 方,結(jié)束游戲 中間狀態(tài):11 落點(diǎn)合理且無半馬腿,可以前進(jìn) 添加中間節(jié)點(diǎn)添加中間節(jié)點(diǎn)11,目的是作為導(dǎo)出結(jié)果的進(jìn)一步原因目的是作為導(dǎo)出結(jié)果的進(jìn)一步原因,簡化因簡化因 果圖導(dǎo)出的判定表一果圖導(dǎo)出的判定表一 c1 c3 c4 c5 E1 c7 c6 c2 E2 E3 E4 11 V V V V V E 規(guī)則規(guī)則 選項(xiàng)選項(xiàng) 12345678910111213141516 C1 C2 C3 C4 1 1 1 1 1 1 1 0

19、 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 110100000000000000 E11011111111111111 規(guī)則 選項(xiàng) 12345678910111213141516 11 C5 C6 C7 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0

20、 1 0 0 0 0 1 0 0 0 0 E2 E3 E4 不 可 能 不 可 能 不 可 能 1 0 0 不 可 能 0 1 0 0 0 1 不 可 能 不 可 能 不 可 能 不 可 能 不 可 能 七、七、正交正交試驗(yàn)試驗(yàn)法法 正交試驗(yàn)法在各個領(lǐng)域都有廣泛的應(yīng)用,是一種高是一種高 效、快速、經(jīng)濟(jì)的效、快速、經(jīng)濟(jì)的試驗(yàn)試驗(yàn)設(shè)計(jì)方法設(shè)計(jì)方法。 在應(yīng)用系統(tǒng)測試中,如果對系統(tǒng)采用組合測試,工 作量非常大,這就需要從大量的數(shù)據(jù)中選出適量的從大量的數(shù)據(jù)中選出適量的 具有代表性的測試用例具有代表性的測試用例,正交試驗(yàn)法可以解決用例用例 選擇選擇這一問題。 如圖是個人信息查詢系統(tǒng)中的一個窗口。要測試的

21、控件有三個:姓名、身份證號碼、手機(jī)號碼,而每 個因素的狀態(tài)有兩個:填與不填,請用正交試驗(yàn)法 選擇測試用例。 (1)確定影響因子 表中的因素數(shù)3,即至少有3個因素數(shù); 行數(shù)最少為3(2-1)+1=4。 (2)選擇正交表 從正交表中查找,結(jié)果為L4(23)。 (3)變量映射 列號列號列號列號 123姓名 身份證 號 手機(jī)號 碼 行行 號號 10001填填填 20112填不填不填 31013不填填不填 41104不填不填填 0-填填 1-不填不填 (4)測試用例測試用例 填寫姓名、填寫身份證號、填寫手機(jī)號 填寫姓名、不填身份證號、不填手機(jī)號 不填姓名、填寫身份證號、不填手機(jī)號 不填姓名、不填身份證號、填寫手機(jī)號 根據(jù)其他測試方法增補(bǔ)以下測試用例作為補(bǔ)充: 不填姓名、不填身份證號、不填手機(jī)號 從測試用例可以看出,如果按每個因素兩個水平數(shù)來考慮的話, 需要8個測試用例,而通過正交實(shí)驗(yàn)法只需要5個,減少了測試 用例個數(shù)。 用最小的測試用例集獲得最大的測試覆蓋率用最小的測試用例集獲得最大的測試覆蓋率 八八 功能圖法功能圖法 使用功能圖形式化的方式形式化的方式表示程序的功能,并機(jī)械 地生成功能圖的測試用例。 功能圖模型功能圖模型 狀

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論