《軟件測試技術(shù)》PPT課件.ppt_第1頁
《軟件測試技術(shù)》PPT課件.ppt_第2頁
《軟件測試技術(shù)》PPT課件.ppt_第3頁
《軟件測試技術(shù)》PPT課件.ppt_第4頁
《軟件測試技術(shù)》PPT課件.ppt_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第六章、軟件測試技術(shù),環(huán)境,被測對象,人員素質(zhì),被測對象模型,測試執(zhí)行,正確?,環(huán)境模型,錯誤模型, 軟件測試過程所涉及的要素,以及 這些要素之間的關(guān)系,正確,1) 測試過程模型,2)依據(jù)程序邏輯結(jié)構(gòu)-白盒測試技術(shù) (1)關(guān)于建立被測對象模型 控制流程圖:結(jié)點(diǎn)/分支/過程塊/鏈 路徑,1,2,3,6,4,5,7,X5 and Y3,其中:節(jié)點(diǎn)1、節(jié)點(diǎn)3、節(jié)點(diǎn)5、節(jié)點(diǎn)6、節(jié)點(diǎn)7為過程塊 節(jié)點(diǎn)2為分支,節(jié)點(diǎn)4為結(jié)點(diǎn),例如:以下為一個程序流程圖,其中該例子中有兩個判斷, 每個判斷都包含復(fù)合條件的邏輯表達(dá)式。,(A1)(B=0),(A=2)(X1),X=X/A,X=X+1,a,b,c,d,e,F,T,

2、T,F,其控制流程圖為:,(A1) (B=0),X=X/A,(A=2) (X1),X=X+1,T,T,a,c,b,d,e,結(jié)點(diǎn)1,結(jié)點(diǎn)2,(2)“完整測試”策略 該控制流程圖有4條不同的路徑。4條路徑可表示為: L1(ace)簡寫ace 、L2(abd)簡寫abd L3(abe)簡寫abe 、L4(acd)簡寫acd 路徑測試(PX):執(zhí)行所有可能的穿過程序的控制 流程路徑。 一般來說,這一測試嚴(yán)格地限制為所有可能的入口/出 口路徑。如果遵循這一規(guī)定,則我們說達(dá)到了100%路徑覆蓋 率。在路徑測試中,該策略是最強(qiáng)的,但一般是不可實(shí)現(xiàn)的。 針對該例子,要想實(shí)現(xiàn)路徑覆蓋,可選擇以下一組測試 用例(

3、規(guī)定測試用例的設(shè)計格式為:【輸入的(A,B,X), 輸出的(A,B,X)】)。 測 試 用 例 覆蓋路徑 【(2,0,4),(2,0,3)】 L1 【(1,1,1),(1,1,1)】 L2 【(1,1,2),(1,1,3)】 L3 【(3,0,3),(3,0,1)】 L4, 語句測試(P1):至少執(zhí)行程序中所有語句一次。 如果遵循這一規(guī)定,則我們說達(dá)到了100%語句覆蓋率( 用C1表達(dá))。 在該例子中,只要設(shè)計一種能通過路徑ace的測試用例, 就覆蓋了所有的語句。所以可選擇測試用例如下: 【(2,0,4),(2,0,3)】 覆蓋L1 語句覆蓋是最弱的邏輯覆蓋準(zhǔn)則。 問題:就該程序而言,如果兩個

4、判斷的邏輯運(yùn)算寫錯, 例如,第一個判斷中的邏輯運(yùn)算符“”錯寫成了“”,或 者第二個判斷中的邏輯運(yùn)算符“”錯寫成了“”,利用上面 的測試用例,仍可覆蓋所有4個可執(zhí)行路徑,而發(fā)現(xiàn)不了判 斷中邏輯運(yùn)算符出現(xiàn)的錯誤。, 分支測試(P2):至少執(zhí)行程序中每一分支一次。如果 遵循這一規(guī)定,則我們說達(dá)到了100%分支覆蓋率(用C2表示)。 分支覆蓋是一種比語句覆蓋稍強(qiáng)的邏輯覆蓋。但若程序中 分支的判定是由幾個條件聯(lián)合構(gòu)成時,它未必能發(fā)現(xiàn)每個條件 的錯誤。 例如對于以上例子,如果選擇路徑L1和L2,就可得到實(shí)現(xiàn) 分支覆蓋的測試用例: 【(2,0,4),(2,0,3)】 覆蓋L1 【(1,1,1),(1,1,1

5、)】 覆蓋L2 如果選擇路徑L3和L4,還可得另一組可用的測試用例: 【(2,1,1),(2,1,2)】 覆蓋L3 【(3,0,3),(3,1,1)】 覆蓋L4 問題:分支覆蓋還不能保證一定能查出在判斷的條件中存 在的錯誤。例如,在該例子中,若第二個分支X1錯寫成X1, 利用上述兩組測試用例進(jìn)行測試,無法查出這一錯誤。因此, 需要更強(qiáng)的邏輯覆蓋準(zhǔn)則去檢驗(yàn)判定的內(nèi)部條件。, 條件組合測試 條件組合測試是一種具有更強(qiáng)邏輯覆蓋的測試。 條件組合測試,就是設(shè)計足夠的測試用例,使每個判定 中的所有可能的條件取值組合至少執(zhí)行一次。如果遵循這一 規(guī)定,則我們說就實(shí)現(xiàn)了條件組合覆蓋。只要滿足了條件組 合覆蓋,

6、就一定滿足分支覆蓋。 在條件組合覆蓋技術(shù)發(fā)展過程中,最初,在設(shè)計測試用 例時,人們只考慮使分支中各個條件的所有可能結(jié)果至少出 現(xiàn)一次。但發(fā)現(xiàn)該測試技術(shù)未必能覆蓋全部分支。例如,在 上圖的例子中,程序段中有四個條件:A1,B=0,A=2,X1。 條件A1 取真值標(biāo)記為T1,取假值標(biāo)記為F1 條件B=0 取真值標(biāo)記為T2,取假值標(biāo)記為F2 條件A=2 取真值標(biāo)記為T3,取假值標(biāo)記為F3 條件X1 取真值標(biāo)記為T4,取假值標(biāo)記為F4 在設(shè)計測試用例時,要考慮如何選擇測試用例實(shí)現(xiàn)T1、 F1、T2、F2、T3、F3、T4、F4的全部覆蓋:,例如,可設(shè)計如下測試用例實(shí)現(xiàn)條件覆蓋: 測 試 用 例 通過路

7、徑 條件取值 覆蓋分支 【(1,0,3),(1,0,4)】 L3 F1 T2 F3 T4 b,e 【(2,1,1),(2,1,2)】 L3 T1 F2 T3 F4 b,e 從上面的測試用例,可以看到該組測試用例雖然實(shí)現(xiàn)了 判定中各條件的覆蓋,但沒有實(shí)現(xiàn)分支覆蓋,因?yàn)樵摻M測試 用例只覆蓋了第一個判斷的取假分支和第二個判斷的取真分 支。為此,人們又進(jìn)一步提出了條件組合覆蓋技術(shù)。 例如,在該例子中,前一個判定有4中條件組合: (1)(A1),(B=0), 標(biāo)記為 T1 、T2; (2)(A1),(B0),標(biāo)記為 T1 、F2,; (3)(A1),(B=0), 標(biāo)記為 F1 、T2; (4)(A1),

8、(B0),標(biāo)記為 F1 、F2; 后一個判定又有4中條件組合: (5)(A=2), (X1), 標(biāo)記為 T3、T4; (6)(A=2), ( X1),標(biāo)記為 T3、F4; (7)(A2),( X1),標(biāo)記為 F3、T4; (8)(A2),( X1),標(biāo)記為 F3、F4。,因此,要滿足條件組合覆蓋,設(shè)計的測試用例必須滿足 以下16種條件組合: (1)(A1),(B=0), (A=2), (X1), 可標(biāo)記為 T1 、T2、T3、T4; (1)(A1),(B=0), (A=2), ( X1),可標(biāo)記為 T1 、T2、T3、F4; (1)(A1),(B=0), (A2),( X1),可標(biāo)記為 T1

9、、T2、F3、T4 (1)(A1),(B=0), (A2), ( X1),可標(biāo)記為 T1 、T2、F3、F4。 (2)(A1),(B0), (A=2), (X1), 可標(biāo)記為 T1 、F2, T3、T4; (2)(A1),(B0), (A=2), ( X1),可標(biāo)記為 T1 、F2、T3、F4; (2)(A1),(B0), (A2),( X1),可標(biāo)記為 T1 、F2、F3、T4; (2)(A1),(B0), (A2),( X1),可標(biāo)記為 T1 、F2、F3、F4。 (3)(A1),(B=0), (A=2), (X1), 可標(biāo)記為 F1 、T2、T3、T4; (3)(A1),(B=0), (

10、A=2), ( X1),可標(biāo)記為 F1 、T2、T3、F4; (3)(A1),(B=0), (A2),( X1),可標(biāo)記為 F1 、T2、F3、T4; (3)(A1),(B=0), (A2),( X1),可標(biāo)記為 F1 、T2、F3、F4。 (4)(A1),(B0), (A=2), (X1), 可標(biāo)記為 F1 、F2、T3、T4; (4)(A1),(B0), (A=2), ( X1),可標(biāo)記為 F1 、F2、T3、F4; (4)(A1),(B0), (A2),( X1),可標(biāo)記為 F1 、F2、F3、T4; (4)(A1),(B0), (A2),( X1),可標(biāo)記為 F1 、F2、F3、F4。

11、,可以采用以下四組測試數(shù)據(jù),從而實(shí)現(xiàn)條件組合覆蓋。 測 試 用 例 覆蓋條件 覆蓋組合號 通過路徑 【(2,0,4),(2,0,3)】 T1 T2 T3 T4 1、5 L1 【(2,1,1),(2,1,2)】 T1 F2 T3 F4 2、6 L3 【(1,0,3),(1,0,4)】 F1 T2 F3 T4 3、7 L3 【(1,1,1),(1,1,1)】 F1 F2 F3 F4 4、8 L2 【(3,0,3),(3,0,1)】 T1 T2 F3 F4 1、8 L4 這組測試用例實(shí)現(xiàn)了分支覆蓋,也實(shí)現(xiàn)了條件的所有 可能取值的組合的覆蓋。,(3)循環(huán)情況的路徑選取 一層 二層 級連循環(huán) 嵌套循環(huán)

12、還要考慮循環(huán)變量的具體情況 關(guān)鍵路徑的選取 主要功能路徑 沒有功能的路徑 最短路徑 .,3) 功能測試-基于規(guī)格說明的測試 3.1 事務(wù)流測試技術(shù) ( 1 )基本概念: 事務(wù):以用戶的角度所見的一個工作單元。 一個事務(wù)由一系列操作組成。其中某些操作可含 有系統(tǒng)執(zhí)行成分,或含有設(shè)備執(zhí)行成分。 事務(wù)處理流程(圖):系統(tǒng)行為的一種表示方法,為 功 能測試建立了軟件動作模式。其中使用了白盒 測試中的一些概念,例如:分支,結(jié)點(diǎn),鏈等。,1,2,3,6,4,5,7,1,2,3,1,1,1,A,A:Path1繼續(xù),A:Path2繼續(xù),A,A繼續(xù),B,A,B,C,A:Path1,A:Path2,A:繼續(xù),A,

13、B,A,B,A,C,測試設(shè)備:路徑分析器,測試用例數(shù)據(jù)庫, 測試執(zhí)行調(diào)度器, 路徑敏化問題.,(2)與程序控制流程圖的比較: 事務(wù)流圖是一種數(shù)據(jù)流圖,即從操作應(yīng)用的歷史,觀察數(shù)據(jù)對象。 事務(wù)流圖中的判定;“抽象”了一個復(fù)雜的過程。,事務(wù)流圖存在“中斷”,把一個過程等價地變換為具有繁多出口的鏈支。,并生,絲分裂,吸收,結(jié)合,(3)測試步驟 第一步:獲取事務(wù)流程圖,即建立被測對象模型; 第二步:瀏覽與復(fù)審 主要對事務(wù)進(jìn)行分類,為設(shè)計用例奠 定基礎(chǔ); 第三步:用例設(shè)計 涉及:覆蓋策略,事務(wù)選取,路徑敏化等; 第四步:測試設(shè)備開發(fā): 路徑分析器,測試用例數(shù)據(jù)庫, 測試執(zhí)行調(diào)度器, . 第五步:測試執(zhí)行

14、; 第六步:測試結(jié)果比較。,3.2 等價類劃分技術(shù) (1) 基本概念 等價類:輸入域的一個子集,在該子集中,各個輸入 數(shù)據(jù)對于揭示程序中的錯誤都是等效的。即:以等價類中 的某代表值進(jìn)行的測試,等價于對該類中其他取值的測試。 有效等價類:指那些對于軟件的規(guī)格說明書而言,是 合理的、有意義的輸入數(shù)據(jù)所構(gòu)成的集合。 -用于實(shí)現(xiàn)功能和性能的測試。 無效等價類:指那些對于軟件的規(guī)格說明書而言,是 不合理的、無意義的輸入數(shù)據(jù)所構(gòu)成的集合。 -用于測試那些所實(shí)現(xiàn)的功能和性能不符合規(guī)格說明 書的要求。,(2)等價類劃分原則(指南) 如果輸入條件規(guī)定了輸入數(shù)據(jù)的取值范圍或值的個數(shù), 則可以確定一個有效等價類和二

15、個無效等價類。例如: 輸入條件:“.項數(shù)可以是1到999”,無效等價類,有效等價類,無效等價類,1,999, 如果輸入條件規(guī)定了輸入值的集合,或規(guī)定了“必須 如何”的條件,則可以確定一個有效等價類和一個無效 等價類。例如:“標(biāo)識符是一字母打頭的串。” 則 字母打頭的-為一個有效等價類,而 其余的-為一個無效等價類, 如果輸入條件是一個布爾量,則可以確定一個有效等價 類和一個無效等價類。 如果輸入條件規(guī)定了輸入數(shù)據(jù)的一組值,而且軟件要對 每個輸入值進(jìn)行處理,則可以為每一個輸入值確定一個有 效等價類,為所有不允許的輸入值確定一個無效等價類。 如果輸入條件規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,則可以 確定一

16、個有效等價類(符合規(guī)則),和若干個無效等價類。 例如:“語句必須以;號結(jié)束” 注意:如果在已確定的等價類中各元素在軟件中的處理方 式不同,則應(yīng)根據(jù)需要對等價類進(jìn)一步進(jìn)行劃分。,(3) 測試用例設(shè)計 在確定了等價類之后,建立等價類表: - 輸入條件 有效等價類 無效等價類 - (4) 實(shí)例研究 某一8位計算機(jī),其十六進(jìn)制常數(shù)的定義為:以0 x或0X 開頭的數(shù)是十六進(jìn)制整數(shù),其值的范圍是-7f至7f(大小寫 字母不加區(qū)別),如0 x13,0X6A,-0 x3c,第一步:建立等價類表 - 輸入條件 有效等價類 無效等價類 - 十六進(jìn)制整數(shù) 1、 0 x或0X開頭 4、非0 x或非-開頭的串 1-2位數(shù)字串 5、含有非數(shù)字且(a,b,c,d,e,f) 以外字符 6、多于5個字符 2、以- 0 x開頭的 7、-后跟非0的多位串 1-2位數(shù)字串 8、-0后跟數(shù)字串 9、-后多于3個數(shù)字 3、在-7f至7f之間 10、小于-7f 11、大于 7f,第二步:為有效等價類設(shè)計測試用例 測試用例 期望結(jié)果 覆蓋范圍 0 x23 顯示有效輸入 1,3 -0 x15 顯示有效輸入 2,3 第三步:為無效等價類至少設(shè)計

溫馨提示

  • 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

提交評論