第三章黑盒測試與用例設(shè)計---黑盒測試及等價類劃分_第1頁
第三章黑盒測試與用例設(shè)計---黑盒測試及等價類劃分_第2頁
第三章黑盒測試與用例設(shè)計---黑盒測試及等價類劃分_第3頁
第三章黑盒測試與用例設(shè)計---黑盒測試及等價類劃分_第4頁
第三章黑盒測試與用例設(shè)計---黑盒測試及等價類劃分_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件軟件測試測試技術(shù)技術(shù)Te s t i n g AND Developing軟件測試過程與測試模型廣東嶺南職業(yè)技術(shù)學(xué)院上節(jié)回顧 測試模型 黑盒測試概念和優(yōu)缺點第3章 黑盒測試及其用例的設(shè)計3.2 黑盒測試法的概念3.3 三角形問題與NextDate函數(shù)3.4 等價類劃分法3.5 邊界值分析法3.6 因果圖法3.7 決策表法3.8 錯誤推測法3.9 測試方法的選擇本章教學(xué)目標(biāo)理論環(huán)節(jié) 學(xué)習(xí)理解黑盒測試方法的基本概念 學(xué)習(xí)理解黑盒測試的兩個典型問題 學(xué)習(xí)掌握黑盒測試的等價類劃分法 學(xué)習(xí)掌握黑盒測試的邊界值分析法 學(xué)習(xí)掌握黑盒測試的因果圖測試法和決策表法實踐環(huán)節(jié) 通過案例運(yùn)用學(xué)習(xí)掌握運(yùn)用方法解決實

2、際問題的能力 運(yùn)用等價類劃分法與邊界值分析法進(jìn)行實際程序測試 運(yùn)用因果圖測試法與決策表法進(jìn)行實際程序測試2022-4-25軟件輸入黑盒測試不深入代碼細(xì)節(jié)輸出3.2 黑盒測試概述 在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試者在程序接口進(jìn)行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性,如圖所示。2022-4-251黑盒測試主要用于發(fā)現(xiàn)以下情況是否有不正確或遺漏了的功能在接口上,能否正確地接受輸入數(shù)據(jù),能否產(chǎn)生正確地輸出信息訪問外部信息是否有錯性

3、能上是否滿足要求界面是否錯誤,是否不美觀初始化或終止錯誤2022-4-252“黑盒”的兩種基本方法 黑盒測試有兩種基本方法,即通過測試和失敗測試。 在進(jìn)行通過測試時,實際上是確認(rèn)軟件能做什么,而不會去考驗其能力如何。軟件測試員只運(yùn)用最簡單,最直觀的測試案例。 在設(shè)計和執(zhí)行測試案例時,總是先要進(jìn)行通過測試。在進(jìn)行破壞性試驗之前,看一看軟件基本功能是否能夠?qū)崿F(xiàn)。這一點很重要,否則在正常使用軟件時就會奇怪地發(fā)現(xiàn),為什么會有那么多的軟件缺陷出現(xiàn)? 在確信了軟件正確運(yùn)行之后,就可以采取各種手段通過搞“垮”軟件來找出缺陷。純粹為了破壞軟件而設(shè)計和執(zhí)行的測試案例,被稱為失敗測試或迫使出錯測試。2022-4-

4、253黑盒測試的優(yōu)、缺點黑盒測試的優(yōu)點有:1)比較簡單,不需要了解程序內(nèi)部的代碼及實現(xiàn);2)與軟件的內(nèi)部實現(xiàn)無關(guān);3)從用戶角度出發(fā),能很容易的知道用戶會用到哪些功能,會遇到哪些問題;4)基于軟件開發(fā)文檔,所以也能知道軟件實現(xiàn)了文檔中的哪些功能;5)在做軟件自動化測試時較為方便。黑盒測試的缺點有:1)不可能覆蓋所有的代碼,覆蓋率較低,大概只能達(dá)到總代碼量的30%;2)自動化測試的復(fù)用性較低。2022-4-254黑盒測試的測試用例設(shè)計方法1、等價類劃分方法;2、邊界值分析方法;3、錯誤推測方法;4、因果圖方法;5、決策表驅(qū)動分析方法;6、正交試驗設(shè)計方法;7、功能圖分析方法3.3 三角形問題與N

5、extDate函數(shù) 1、三角形問題 輸入三個整數(shù)a、b、c,分別作為三角形的三條邊,現(xiàn)通過程序判斷由三條邊構(gòu)成的三角形的類型為等邊三角形、等腰三角形、一般三角形(特殊的還有直角三角形),以及構(gòu)不成三角形。 現(xiàn)在要求輸入三個整數(shù)a、b、c,必須滿足以下條件: 條件1 1a100 條件4 ab+ c 條件2 1b100 條件5 ba+ c 條件3 1c100 條件6 ca+ b 三角形問題與NextDate函數(shù)(續(xù)) 如果輸入值a、b、c不滿足條件1、條件2和條件3中的任意一個,程序給出“邊的取值超出允許范圍”的信息。 如果輸入值a、b、c 滿足條件1、條件2和條件3,則輸出下列四種情況之一:(1

6、)如果不滿足條件4、條件5和條件6中的任意一個,則程序輸出為“非三角形”。(2)如果三條邊相等,則程序輸出為“等邊三角形”。(3)如果恰好有兩條邊相等,則程序輸出為“等腰三角形”。(4)如果三條邊都不相等,則程序輸出為“一般三角形”。 三角形問題的復(fù)雜之處在于輸入與輸出之間的關(guān)系比較復(fù)雜。三角形問題與NextDate函數(shù)(續(xù)) 2、NextDate函數(shù) NextDate函數(shù)說明另一種復(fù)雜的關(guān)系,即輸入變量之間邏輯關(guān)系的復(fù)雜性。 NextDate函數(shù)包含三個變量month、day和year,函數(shù)的輸出為輸入日期后一天的日期。 要求輸入變量month、day和year均為整數(shù)值,并且滿足下列條件:

7、 條件1 1 month 12 條件2 1 day 31 條件3 1912 year 2050 在NextDate函數(shù)中有兩種復(fù)雜性的輸入來源,一是輸入域的復(fù)雜性,二是確定閏年的規(guī)則并要增加“額外天”。3.4 等價類劃分法n計算兩個1100之內(nèi)的整數(shù)之和n如何測試?等價類劃分法n等價類劃分法是一種重要的、常用的黑盒測試方法,它將不能窮舉的測試過程進(jìn)行合理分類,從而保證設(shè)計出來的測試用例具有完整性和代表性。n舉例:設(shè)計這樣的測試用例,來實現(xiàn)一個對所有實數(shù)進(jìn)行開平方運(yùn)算( y = sqrt(x) )的程序的測試。思考方向: 由于開平方運(yùn)算只對非負(fù)實數(shù)有效,這時需要將所有的實數(shù)(輸入域x)進(jìn)行劃分,

8、可以分成:正實數(shù)、0 和 負(fù)實數(shù)。假設(shè)我們選定+1.4444代表正實數(shù),-2.345代表負(fù)實數(shù),則為該程序設(shè)計的測試用例的輸入為+1.4444、 0 和 -2.345。等價類劃分法(續(xù))n等價類劃分法是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分為若干部分(子集),然后從每一個子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例。n等價類是指某個輸入域的子集合。所有這些子集合(即等價類)并不相交,且并集為輸入域。n在一個子集合中的各個輸入數(shù)據(jù),對于揭露程序中的錯誤都是等效的,因此它們具有等價特性。即每一個該子集的代表性數(shù)據(jù)在測試中的作用都等價于這一類中的其它數(shù)據(jù)。n這樣,只選取某個等價類中的一個或幾個代表性

9、的數(shù)據(jù)來測試,則等效于對于這一類所有值的測試。n因此,問題劃轉(zhuǎn)化為如何分等價類,而不需要考慮窮盡測試了3.4.1 等價類的劃分原則 等價類的特征: 完備性所有等價類的并集為整個輸入域 無冗余性等價類互不相交 如何劃分?等價類的劃分原則(續(xù)) 劃分等價類可分為兩種情況:(1)有效等價類 是指對軟件規(guī)格說明而言,是有意義的、合理的輸入數(shù)據(jù)所組成的集合。利用有效等價類,能夠檢驗程序是否實現(xiàn)了規(guī)格說明中預(yù)先規(guī)定的功能和性能。(2)無效等價類 是指對軟件規(guī)格說明而言,是無意義的、不合理的輸入數(shù)據(jù)所構(gòu)成的集合。利用無效等價類,可以鑒別程序異常處理的情況,檢查被測對象的功能和性能的實現(xiàn)是否有不符合規(guī)格說明要

10、求的地方。 等價類的劃分原則(續(xù)) 進(jìn)行等價類劃分的依據(jù):(1)按照區(qū)間劃分 在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,可以確定一個有效等價類和兩個無效等價類。程序輸入x取值于一個固定的枚舉類型1,3,7,15,且程序 中對這4個數(shù)值分別進(jìn)行了處理,則有效等價類為x=1、x=3、 x=7、x=15,無效等價類為x1,3,7,15的值的集合。(2)按照數(shù)值劃分 在規(guī)定了一組輸入數(shù)據(jù)(假設(shè)包括 n個 輸入值),并且程序要對每一個輸入值分別進(jìn)行處理的情況下,可確定 n 個有效等價類(每個值確定一個有效等價類)和一個無效等價類(所有不允許的輸入值的集合)。(3)按照數(shù)值集合劃分 在輸入條件規(guī)定了輸入

11、值的集合或規(guī)定了“必須如何”的條件下,可以確定一個有效等價類和一個無效等價類(該集合有效值之外)。(5)細(xì)分等價類 在確知已劃分的等價類中各元素在程序中的處理方式不同的情況下,則應(yīng)再將該等價類進(jìn)一步劃分為更小的等價類,并建立等價類表。 (4)按照限制條件或規(guī)則劃分 在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則或限制條件的情況下,可確定一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。等價類的劃分原則思考:如何考慮下面問題的等價類劃分?1、一個類似超級瑪麗的游戲,游戲的快捷鍵有:四個方向鍵、跑、攻擊、防御,如何劃分等價類進(jìn)行測試?2、銀行系統(tǒng)的數(shù)據(jù)庫要求用戶賬戶密碼必須為6位數(shù)字,如何劃分等

12、價類?等價類劃分法的測試用例設(shè)計 在設(shè)計測試用例時,應(yīng)同時考慮有效等價類和無效等價類測試用例的設(shè)計。 根據(jù)劃分好的等價類表可確定測試用例,具體過程如下:(1)列出可能首先為等價類表中的每一個等價類(2)分別規(guī)定一個唯一的編號。(3)設(shè)計一個新的測試用例,使它能夠盡量覆蓋尚未覆蓋的有效等價類。重復(fù)這個步驟,直到所有的有效等價類均被測試用例所覆蓋(盡量一對多)。(4)設(shè)計一個新的測試用例,使它僅覆蓋一個尚未覆蓋的無效等價類。重復(fù)這一步驟,直到所有的無效等價類均被測試用例所覆蓋(必須一對一)。例1:游戲快捷鍵測試第一步:劃分有效和無效等價類并編號輸入條件輸入條件有效等價類有效等價類無效等價類無效等價

13、類指定的指定的單個按鍵單個按鍵跑跑(a)攻擊攻擊(z)防御防御(x)非指定的單個按鍵非指定的單個按鍵多個按鍵多個按鍵第二步:依次設(shè)計測試用例,直到所有有效等價類被覆蓋測試用例:鍵 鍵 鍵 鍵 a鍵 z鍵 x鍵第三步:依次設(shè)計測試用例,直到所有無效等價類被覆蓋q鍵 a鍵+s鍵 s鍵+d鍵例2:銀行賬戶密碼測試第一步:劃分有效和無效等價類并編號輸入條件輸入條件有效等價類有效等價類無效等價類無效等價類6位位19字字符符6位任意數(shù)字位任意數(shù)字 少于少于6位數(shù)字字符位數(shù)字字符多于多于6位數(shù)字字符位數(shù)字字符任意長度的含有非數(shù)任意長度的含有非數(shù)字字符的字符串字字符的字符串第二步:依次設(shè)計測試用例,直到所有有

14、效等價類被覆蓋測試用例:123456第三步:依次設(shè)計測試用例,直到所有無效等價類被覆蓋123 1234567 a123常見等價類劃分測試形式 針對是否對無效數(shù)據(jù)進(jìn)行測試,可以將等價類測試分為 標(biāo)準(zhǔn)等價類測試和健壯等價類測試。標(biāo)準(zhǔn)等價類測試不考慮無效數(shù)據(jù)值,測試用例使用每個等價類中的一個值。健壯等價類測試主要的出發(fā)點是考慮了無效等價類。對有效輸入,測試用例從每個有效等價類中取一個值; 對無效輸入,一個測試用例有一個無效值,其他值均取有效值。 標(biāo)準(zhǔn)等價類例如,輸入變量x1的范圍是:ax1d輸入變量x2的范圍是: cx2g 假設(shè)我們把x1的合理輸入范圍劃分為3個等價類:a,b,(b,c),c,d 假

15、設(shè)把x2的合理輸入范圍劃分為2個等價類:e,f,(f,g 標(biāo)準(zhǔn)等價類劃分不考慮無效值,測試用例在每個等價類中選擇一個值,測試用例的總數(shù)等于輸入域等價類劃分的最大數(shù)目因此,我們每次依次在x1和x2的等價類中選取對應(yīng)的值設(shè)計測試用例,以最終完全覆蓋x1和x2的等價類。測試用例的總數(shù)等于輸入域等價類劃分的最大數(shù)目,即max3, 2=3個健壯等價類 主要的出發(fā)點是考慮了無效等價類。 對無效輸入,一個測試用例有一個無效值,其他值均取有效值。cbadefg3.4.4 使用等價類劃分法測試的實例 實例1 三角形問題的等價類劃分 比較簡單的方法是從被測程序的輸出域反過來定義等價類。 在三角形問題中,有四種可能

16、的輸出:等邊三角形、等腰三角形、一般三角形和非三角形。利用這些信息能夠確定下列輸出(值域)等價類。R1 = : 邊為a,b,c的等邊三角形 R2 = : 邊為a,b,c的等腰三角形 R3 = : 邊為a,b,c的一般三角形 R4 = : 邊為a,b,c不能組成三角形 3.4.4 使用等價類劃分法測試的實例 實例1 三角形問題的等價類劃分輸入條件輸入條件有效等價類有效等價類無效等價類無效等價類a,b,c介于介于1100的整數(shù),且的整數(shù),且a,b,c能組成三角形能組成三角形組成等邊三角形組成等邊三角形組成等腰三角形組成等腰三角形組成一般三角形組成一般三角形不能組成三角形不能組成三角形(注:上述四種

17、情(注:上述四種情況況a,b,c的取值都在的取值都在指定范圍)指定范圍)a的值不在指定范圍的值不在指定范圍b的值不在指定范圍的值不在指定范圍c的值不在指定范圍的值不在指定范圍三角形問題測試用例測試用例abc預(yù)期輸出預(yù)期輸出Test1101010等邊三角形等邊三角形Test210105等腰三角形等腰三角形Test3345一般三角形一般三角形Test4412非三角形非三角形三角形問題的4個標(biāo)準(zhǔn)等價類測試用例測試用例測試用例abc預(yù)期輸出預(yù)期輸出Test1567一般三角形一般三角形Test2-155a值超出輸入值定義域值超出輸入值定義域Test35-15b值超出輸入值定義域值超出輸入值定義域Test

18、455-1c值超出輸入值定義域值超出輸入值定義域Test510155a值超出輸入值定義域值超出輸入值定義域Test651015b值超出輸入值定義域值超出輸入值定義域Test755101c值超出輸入值定義域值超出輸入值定義域三角形問題的7個健壯等價類測試用例使用等價類劃分法測試的實例(續(xù)) 實例2 保險公司計算保費(fèi)費(fèi)率的程序 某保險公司的人壽保險的保費(fèi)計算方式為: 投保額保險費(fèi)率 其中,保險費(fèi)率依點數(shù)不同而有別,10點及10點以上保險費(fèi)率為0.6%,10點以下保險費(fèi)率為0.1%;而點數(shù)又是由 投保人的年齡、性別、婚姻狀況和撫養(yǎng)人數(shù)來決定,具體規(guī)則如下:這個例子更適合根據(jù)輸入域來設(shè)計等價類計算保費(fèi)費(fèi)率的程序(1)分析程序規(guī)格說明中給出和隱含的對輸入條件的要求,列出等價類表(包括有效等價類和無效等價類)。 年齡:一位或兩位非零整數(shù),值的有效范圍為199 性別:一位英文字符,只能取值M或F 婚姻:字符,只能取值已婚或未婚 撫養(yǎng)人數(shù):空白或一位非零整數(shù)(19) 點數(shù) :一位或兩位非零整數(shù),值的范圍為199(2)根據(jù)(1)中的等價類表,設(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

提交評論