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

下載本文檔

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

文檔簡介

第三章黑盒測試與用例設計---黑盒測試與等價類劃分第一頁,共42頁。軟件測試技術(shù)TestingANDDeveloping軟件測試過程與測試模型廣東嶺南職業(yè)技術(shù)學院第二頁,共42頁。上節(jié)回顧測試模型黑盒測試概念和優(yōu)缺點第三頁,共42頁。第3章黑盒測試及其用例的設計3.2黑盒測試法的概念3.3三角形問題與NextDate函數(shù)3.4等價類劃分法3.5邊界值分析法3.6因果圖法3.7決策表法3.8錯誤推測法3.9測試方法的選擇第四頁,共42頁。本章教學目標理論環(huán)節(jié)學習理解黑盒測試方法的基本概念學習理解黑盒測試的兩個典型問題學習掌握黑盒測試的等價類劃分法學習掌握黑盒測試的邊界值分析法學習掌握黑盒測試的因果圖測試法和決策表法實踐環(huán)節(jié)通過案例運用學習掌握運用方法解決實際問題的能力運用等價類劃分法與邊界值分析法進行實際程序測試運用因果圖測試法與決策表法進行實際程序測試第五頁,共42頁。軟件輸入黑盒測試不深入代碼細節(jié)輸出3.2黑盒測試概述在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試者在程序接口進行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性,如圖所示。4/19/2023第六頁,共42頁。1.黑盒測試主要用于發(fā)現(xiàn)以下情況①是否有不正確或遺漏了的功能②在接口上,能否正確地接受輸入數(shù)據(jù),能否產(chǎn)生正確地輸出信息③訪問外部信息是否有錯④性能上是否滿足要求⑤界面是否錯誤,是否不美觀⑥初始化或終止錯誤4/19/2023第七頁,共42頁。2.“黑盒”的兩種基本方法黑盒測試有兩種基本方法,即通過測試和失敗測試。在進行通過測試時,實際上是確認軟件能做什么,而不會去考驗其能力如何。軟件測試員只運用最簡單,最直觀的測試案例。在設計和執(zhí)行測試案例時,總是先要進行通過測試。在進行破壞性試驗之前,看一看軟件基本功能是否能夠?qū)崿F(xiàn)。這一點很重要,否則在正常使用軟件時就會奇怪地發(fā)現(xiàn),為什么會有那么多的軟件缺陷出現(xiàn)?在確信了軟件正確運行之后,就可以采取各種手段通過搞“垮”軟件來找出缺陷。純粹為了破壞軟件而設計和執(zhí)行的測試案例,被稱為失敗測試或迫使出錯測試。4/19/2023第八頁,共42頁。3.黑盒測試的優(yōu)、缺點黑盒測試的優(yōu)點有:1)比較簡單,不需要了解程序內(nèi)部的代碼及實現(xiàn);2)與軟件的內(nèi)部實現(xiàn)無關(guān);3)從用戶角度出發(fā),能很容易的知道用戶會用到哪些功能,會遇到哪些問題;4)基于軟件開發(fā)文檔,所以也能知道軟件實現(xiàn)了文檔中的哪些功能;5)在做軟件自動化測試時較為方便。黑盒測試的缺點有:1)不可能覆蓋所有的代碼,覆蓋率較低,大概只能達到總代碼量的30%;2)自動化測試的復用性較低。4/19/2023第九頁,共42頁。4.黑盒測試的測試用例設計方法1、等價類劃分方法;2、邊界值分析方法;3、錯誤推測方法;4、因果圖方法;5、決策表驅(qū)動分析方法;6、正交試驗設計方法;7、功能圖分析方法4/19/2023第十頁,共42頁。3.3三角形問題與NextDate函數(shù)1、三角形問題輸入三個整數(shù)a、b、c,分別作為三角形的三條邊,現(xiàn)通過程序判斷由三條邊構(gòu)成的三角形的類型為等邊三角形、等腰三角形、一般三角形(特殊的還有直角三角形),以及構(gòu)不成三角形?,F(xiàn)在要求輸入三個整數(shù)a、b、c,必須滿足以下條件:條件11≤a≤100條件4a<b+c條件21≤b≤100條件5b<a+c條件31≤c≤100條件6c<a+b

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

條件11≤month≤12

條件21≤day≤31

條件31912≤year≤2050在NextDate函數(shù)中有兩種復雜性的輸入來源,一是輸入域的復雜性,二是確定閏年的規(guī)則并要增加“額外天”。第十三頁,共42頁。3.4等價類劃分法3.4.1等價類的劃分原則3.4.2等價類劃分法的測試用例設計3.4.3常見等價類劃分測試形式3.4.4使用等價類劃分法測試的實例第十四頁,共42頁。計算兩個1~100之內(nèi)的整數(shù)之和如何測試?第十五頁,共42頁。第十六頁,共42頁。第十七頁,共42頁。第十八頁,共42頁。等價類劃分法等價類劃分法是一種重要的、常用的黑盒測試方法,它將不能窮舉的測試過程進行合理分類,從而保證設計出來的測試用例具有完整性和代表性。舉例:設計這樣的測試用例,來實現(xiàn)一個對所有實數(shù)進行開平方運算(y=sqrt(x))的程序的測試。思考方向:由于開平方運算只對非負實數(shù)有效,這時需要將所有的實數(shù)(輸入域x)進行劃分,可以分成:正實數(shù)、0和負實數(shù)。假設我們選定+1.4444代表正實數(shù),-2.345代表負實數(shù),則為該程序設計的測試用例的輸入為+1.4444、0和-2.345。第十九頁,共42頁。等價類劃分法(續(xù))等價類劃分法是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分為若干部分(子集),然后從每一個子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例。等價類是指某個輸入域的子集合。所有這些子集合(即等價類)并不相交,且并集為輸入域。在一個子集合中的各個輸入數(shù)據(jù),對于揭露程序中的錯誤都是等效的,因此它們具有等價特性。即每一個該子集的代表性數(shù)據(jù)在測試中的作用都等價于這一類中的其它數(shù)據(jù)。這樣,只選取某個等價類中的一個或幾個代表性的數(shù)據(jù)來測試,則等效于對于這一類所有值的測試。因此,問題劃轉(zhuǎn)化為如何分等價類,而不需要考慮窮盡測試了第二十頁,共42頁。3.4.1等價類的劃分原則等價類的特征:完備性——所有等價類的并集為整個輸入域無冗余性——等價類互不相交如何劃分?——第二十一頁,共42頁。等價類的劃分原則(續(xù))劃分等價類可分為兩種情況:(1)有效等價類

——是指對軟件規(guī)格說明而言,是有意義的、合理的輸入數(shù)據(jù)所組成的集合。利用有效等價類,能夠檢驗程序是否實現(xiàn)了規(guī)格說明中預先規(guī)定的功能和性能。(2)無效等價類

——是指對軟件規(guī)格說明而言,是無意義的、不合理的輸入數(shù)據(jù)所構(gòu)成的集合。利用無效等價類,可以鑒別程序異常處理的情況,檢查被測對象的功能和性能的實現(xiàn)是否有不符合規(guī)格說明要求的地方。第二十二頁,共42頁。等價類的劃分原則(續(xù))進行等價類劃分的依據(jù):(1)按照區(qū)間劃分在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,可以確定一個有效等價類和兩個無效等價類。例:程序輸入條件為小于100大于10的整數(shù)x,則有效等價類為10<x<100,兩個無效等價類為x≤10和x≥100。例:程序輸入x取值于一個固定的枚舉類型{1,3,7,15},且程序中對這4個數(shù)值分別進行了處理,則有效等價類為x=1、x=3、x=7、x=15,無效等價類為x≠1,3,7,15的值的集合。(2)按照數(shù)值劃分在規(guī)定了一組輸入數(shù)據(jù)(假設包括n個輸入值),并且程序要對每一個輸入值分別進行處理的情況下,可確定n個有效等價類(每個值確定一個有效等價類)和一個無效等價類(所有不允許的輸入值的集合)。第二十三頁,共42頁。等價類的劃分原則(續(xù))(3)按照數(shù)值集合劃分在輸入條件規(guī)定了輸入值的集合或規(guī)定了“必須如何”的條件下,可以確定一個有效等價類和一個無效等價類(該集合有效值之外)。例:程序輸入條件為取值為奇數(shù)的整數(shù)x,則有效等價類為x的值為奇數(shù)的整數(shù),無效等價類為x的值不為奇數(shù)的整數(shù)。例:程序輸入條件為以字符‘a(chǎn)’開頭、長度為8的字符串,并且字符串不包含‘a(chǎn)’~‘z’之外的其它字符,則有效等價類為滿足了上述所有條件的字符串,無效等價類為不以‘a(chǎn)’開頭的字符串、長度不為8的字符串和包含了‘a(chǎn)’~‘z’之外其它字符的字符串。(5)細分等價類在確知已劃分的等價類中各元素在程序中的處理方式不同的情況下,則應再將該等價類進一步劃分為更小的等價類,并建立等價類表。(4)按照限制條件或規(guī)則劃分在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則或限制條件的情況下,可確定一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。第二十四頁,共42頁。等價類的劃分原則思考:如何考慮下面問題的等價類劃分?1、一個類似超級瑪麗的游戲,游戲的快捷鍵有:四個方向鍵、跑、攻擊、防御,如何劃分等價類進行測試?2、銀行系統(tǒng)的數(shù)據(jù)庫要求用戶賬戶密碼必須為6位數(shù)字,如何劃分等價類?第二十五頁,共42頁。等價類劃分法的測試用例設計在設計測試用例時,應同時考慮有效等價類和無效等價類測試用例的設計。根據(jù)劃分好的等價類表可確定測試用例,具體過程如下:(1)列出可能首先為等價類表中的每一個等價類(2)分別規(guī)定一個唯一的編號。(3)設計一個新的測試用例,使它能夠盡量覆蓋尚未覆蓋的有效等價類。重復這個步驟,直到所有的有效等價類均被測試用例所覆蓋(盡量一對多)。(4)設計一個新的測試用例,使它僅覆蓋一個尚未覆蓋的無效等價類。重復這一步驟,直到所有的無效等價類均被測試用例所覆蓋(必須一對一)。第二十六頁,共42頁。例1:游戲快捷鍵測試第一步:劃分有效和無效等價類并編號輸入條件有效等價類無效等價類指定的單個按鍵↑↓←→跑(a)攻擊(z)防御(x)非指定的單個按鍵多個按鍵第二步:依次設計測試用例,直到所有有效等價類被覆蓋測試用例:①↑鍵②↓鍵③←鍵④→鍵⑤a鍵⑥z鍵⑦x鍵第三步:依次設計測試用例,直到所有無效等價類被覆蓋⑧q鍵⑨a鍵+s鍵⑩s鍵+d鍵第二十七頁,共42頁。例2:銀行賬戶密碼測試第一步:劃分有效和無效等價類并編號輸入條件有效等價類無效等價類6位1~9字符6位任意數(shù)字少于6位數(shù)字字符多于6位數(shù)字字符任意長度的含有非數(shù)字字符的字符串第二步:依次設計測試用例,直到所有有效等價類被覆蓋測試用例:①123456第三步:依次設計測試用例,直到所有無效等價類被覆蓋②123③1234567④a123第二十八頁,共42頁。常見等價類劃分測試形式針對是否對無效數(shù)據(jù)進行測試,可以將等價類測試分為標準等價類測試和健壯等價類測試。標準等價類測試——不考慮無效數(shù)據(jù)值,測試用例使用每個等價類中的一個值。健壯等價類測試——主要的出發(fā)點是考慮了無效等價類。對有效輸入,測試用例從每個有效等價類中取一個值;對無效輸入,一個測試用例有一個無效值,其他值均取有效值。

第二十九頁,共42頁。標準等價類例如,輸入變量x1的范圍是:a≤x1≤d輸入變量x2的范圍是:c≤x2≤g假設我們把x1的合理輸入范圍劃分為3個等價類:[a,b],(b,c),[c,d]假設把x2的合理輸入范圍劃分為2個等價類:[e,f],(f,g]標準等價類劃分不考慮無效值,測試用例在每個等價類中選擇一個值,測試用例的總數(shù)等于輸入域等價類劃分的最大數(shù)目因此,我們每次依次在x1和x2的等價類中選取對應的值設計測試用例,以最終完全覆蓋x1和x2的等價類。測試用例的總數(shù)等于輸入域等價類劃分的最大數(shù)目,即max{3,2}=3個第三十頁,共42頁。健壯等價類主要的出發(fā)點是考慮了無效等價類。對無效輸入,一個測試用例有一個無效值,其他值均取有效值。cbadefg第三十一頁,共42頁。3.4.4使用等價類劃分法測試的實例實例1三角形問題的等價類劃分比較簡單的方法是從被測程序的輸出域反過來定義等價類。在三角形問題中,有四種可能的輸出:等邊三角形、等腰三角形、一般三角形和非三角形。利用這些信息能夠確定下列輸出(值域)等價類。R1={<a,b,c>:邊為a,b,c的等邊三角形}R2={<a,b,c>:邊為a,b,c的等腰三角形}R3={<a,b,c>:邊為a,b,c的一般三角形}R4={<a,b,c>:邊為a,b,c不能組成三角形}第三十二頁,共42頁。3.4.4使用等價類劃分法測試的實例實例1三角形問題的等價類劃分輸入條件有效等價類無效等價類a,b,c介于1~100的整數(shù),且a,b,c能組成三角形①組成等邊三角形②組成等腰三角形③組成一般三角形④不能組成三角形(注:上述四種情況a,b,c的取值都在指定范圍)⑤a的值不在指定范圍⑥b的值不在指定范圍⑦c的值不在指定范圍標準等價類測試用例健壯等價類測試用例第三十三頁,共42頁。三角形問題測試用例abc預期輸出Test1101010等邊三角形Test210105等腰三角形Test3345一般三角形Test4412非三角形三角形問題的4個標準等價類測試用例第三十四頁,共42頁。三角形問題測試用例abc預期輸出Test1567一般三角形Test2-155a值超出輸入值定義域Test35-15b值超出輸入值定義域Test455-1c值超出輸入值定義域Test510155a值超出輸入值定義域Test651015b值超出輸入值定義域Test755101c值超出輸入值定義域三角形問題的7個健壯等價類測試用例第三十五頁,共42頁。使用等價類劃分法測試的實例(續(xù))實例2保險公司計算保費費率的程序某保險公司的人壽保險的保費計算方式為:投保額×保險費率其中,保險費率依點數(shù)不同而有別,10點及10點以上保險費率為0.6%,10點以下保險費率為0.1%;而點數(shù)又是由投保人的年齡、性別、婚姻狀況和撫養(yǎng)人數(shù)來決定,具體規(guī)則如下:年齡

性別婚姻撫養(yǎng)人數(shù)

20~39

40~59

其它

M

F

已婚

未婚

1人扣0.5點最多扣3點(四舍五入取整)

6點

4點

2點

5點

3點

3點5點這個例子更適合根據(jù)輸入域來設計等價類第三十六頁,共42頁。計算保費費率的程序(1)分析程序規(guī)格說明中給出和隱含的對輸入條件的要求,列出等價類表(包括有效等價類和無效等價類)。年齡:一位或兩位非零整數(shù),值的有效范圍為1~99性別:一位英文字符,只能取值‘M’或’

溫馨提示

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

最新文檔

評論

0/150

提交評論