《 軟件測試技術》課件4-2等價類_第1頁
《 軟件測試技術》課件4-2等價類_第2頁
《 軟件測試技術》課件4-2等價類_第3頁
《 軟件測試技術》課件4-2等價類_第4頁
《 軟件測試技術》課件4-2等價類_第5頁
已閱讀5頁,還剩41頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

黑盒測試(2)等價類等價類測試類型用等價類設計測試用例案例本節內容問題引入測試的矛盾為保證軟件產品的質量,需要進行完備(徹底)的測試;但這是不現實的,因為:輸入量太大;輸出結果太多;軟件實現途徑太多;如果決定不去測試所有的情況,就選擇了風險。問題引入從經濟的角度來說,我們希望測試沒有冗余;一個好的測試用例在于能發現至今未發現的錯誤;一個成功的測試是發現了至今未發現的錯誤的測試。軟件質量和投入的成本如何平衡?等價類方法可令測試事半功倍。舉例:設計測試用例,實現一個對所有實數進行開方運算(f=sqrt(x))的程序的測試。4.2等價類測試4.2.1等價類等價類的劃分劃分等價類的方法等價類測試類型用等價類設計測試用例1.等價類劃分劃分劃分是指互不相交的一組子集,這些子集的并是整個集合。劃分的定義給定集合B,以及B的一組子集A1、A2……、An,這些子集是B的一個劃分,當且僅當:

A1∪A2∪…∪An=B,且

i≠j有Ai∩Aj=Φ劃分在軟件測試中的作用劃分對于測試的作用:完備性無冗余性邊界值分析方法的固有弱點是漏洞和冗余性。等價類測試的主要任務之一就是:

找出合適的劃分。等價類劃分將輸入定義域進行一個劃分,并且劃分的各個子集是由等價關系決定的。此處的等價關系是指:在子集合中,各個輸入數據對于揭露程序中的錯誤都是等效的。等價類的分類有效等價類對于程序的規格說明來說,是合理的、有意義的輸入數據所構成的集合;無效等價類對于程序的規格說明來說,是不合理的、沒有意義的輸入數據所構成的集合;等價類測試的思想:把全部的輸入數據劃分成若干個等價類,在每一個等價類中取一個數據來進行測試。在子集合中,各個輸入數據對于揭露程序中的錯誤是等效的。等價類測試的假設:測試某等價類的代表值,就等效于對這個等價類中其他值的測試。2.等價類測試等價類的特點完備性無冗余性等價性注意設計測試用例時,要同時考慮有效等價類和無效等價類。3.劃分等價類的方法(1)按區間劃分如果輸入條件規定了取值范圍或值的個數就可確定一個有效等價類和兩個無效等價類。例如:輸入學生成績,范圍是0到100;實驗課一個班選課人數20至40人;(2)按照數值劃分如果規定了輸入數據的一組值,且程序要對每一個輸入值分別進行處理,要對每一個規定的輸入值確立一個有效等價類,而對于這組值之外的所有值確立一個無效等價類。例:輸入條件說明學歷可為:專科、本科、碩士、博士四種之一。(3)按照數值集合劃分輸入條件規定了輸入值的集合或是規定了“必須如何”的條件,則可確定一個有效等價類和一個無效等價類例如:“文件名稱必須以字母開頭,……”(4)如果輸入條件是一個布爾量,則可以確立一個有效等價類和一個無效等價類。例如:用驗證碼登錄網站。(5)進一步細分等價類如已劃分的等價類各元素在程序中的處理方式不同,則應將此等價類進一步劃分成更小的等價類。例如:輸入三條邊,判斷三角形的形狀。(首先判斷是否能構成三角形,如果可以構成三角形,

再進一步判斷三角形的形狀。)4.2.2等價類測試類型單缺陷與多缺陷假設產生弱等價類與強等價類測試之分;是否進行無效數據的處理產生健壯與一般等價類測試之分;等價類測試的分類:弱一般等價類測試強一般等價類測試弱健壯等價類測試強健壯等價類測試討論對象一個具有兩個自變量x1和x2的函數FF實現為一個程序且輸入變量x1和x2的邊界以及邊界內的區間a≤x1≤d,區間為[a,b),[b,c),[c,d]e≤x2≤g,區間為[e,f),[f,g]討論對象(續)1.弱一般等價類測試弱一般等價類測試的假設:“單缺陷”假設失效極少是由兩個或多個缺陷的同時發生引起的測試用例設計:選取的測試用例覆蓋所有的有效等價類。

弱一般等價類測試用例2.強一般等價類測試基于多缺陷假設;測試用例設計:將每個變量的有效等價類做笛卡爾積,設計測試用例覆蓋笛卡爾積的每個元素。

有n個變量的函數,強一般等價類測試會產生多少個測試用例?思考:強一般等價類測試用例3.弱健壯等價類測試弱:基于單缺陷假設健壯:考慮無效值測試用例設計:對有效輸入,覆蓋每個有效等價類的一個值對無效輸入,測試用例將擁有一個無效值,并保持其余的值都是有效的弱健壯等價類測試用例4.強健壯等價類測試強健壯等價類測試:基于多缺陷假設,從所有等價類的笛卡爾積的每一個元素中獲得測試用例強:多缺陷假設健壯:考慮無效值強健壯等價類測試用例5.用等價類設計測試用例(1)劃分等價類,形成等價類表(2)設計一新的測試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價類,重復這一步驟,直到所有的有效等價類都被覆蓋為止;(3)設計一新測試用例,使其只覆蓋一個無效等價類,重復這一步驟直到所有無效等價類均被覆蓋;4.2.3案例三角形問題以不同的角度劃分等價類:輸出值域等價類輸入條件(數據范圍)的等價類以“整數相等”關系劃分的等價類以兩邊之和與第三邊之間的關系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不能構成三角形}2.輸入條件的等價類有效等價類:正整數;三個數;無效等價類:零或負數;少于三個數;3.“整數相等”關系劃分等價類D1={<a,b,c>:a=b=c}D2={<a,b,c>:a=b,a≠c}D3={<a,b,c>:a=c,a≠b}D4={<a,b,c>:b=c,a≠b}D5={<a,b,c>:a≠b,a≠c,b≠c}4.以兩邊之和與第三邊之間的關系劃分等價類D6={<a,b,c>:a≥b+c}D7={<a,b,c>:b≥a+c}D8={<a,b,c>:c≥a+b}等價類D6的進一步劃分D6‘={<abc>:a=b+c}D6"={<abc>:a>b+c}輸入條件有效等價類編號無效等價類編號三個正整數正整數1一邊為非正整數a為非正整數10b為非正整數11c為非正整數12兩邊為非正整數a,b為非正整數13a,c為非正整數14b,c為非正整數15三邊均為非正整數16三個數2只輸入一個數只給a17只給b18只給c19只輸入兩個數只給a,b20只給a,c21只給b,c22未輸入數23三角形的等價類輸入條件有效等價類編號無效等價類編號構成一般三角形a+b>c,且a≠b≠c3a+b<c24a+b=c25a+c>b,且a≠b≠c4a+c<b26a+c=b27b+c>a,且a≠b≠c5b+c<a28b+c=a29構成等腰三角形a=b,a≠c,且兩邊之和大于第三邊6a=c,a≠b,且兩邊之和大于第三邊7b=c,a≠b,且兩邊之和大于第三邊8構成等邊三角形a=b=c9

三角形的等價類電話號碼問題某城市電話號碼由三部分組成,分別是:地區碼——空白或4位數字;前綴——為三位數字,但不能為“0”,“1”;后綴——4位數字。假定被測程序能接受一切符合上述規定的電話號碼,拒絕所有不符合規定的電話號碼。請用強一般等價類方法進行測試,設計測試用例。思考NextDate問題NextDate函數包含三個變量

month、day和year,函數的輸出為輸入日期后面一天的日期。(1800≤year≤2050)用弱健壯等價類測試方法設計測試用例。練習課堂練習請設計測試用例,測試登錄功能。等價類測試指導方針和觀察1. 等價類測試的弱形式不如對應的強形式的測試全面。2. 如果實現語言是強類型,則沒有必要使用健壯形式的測試。3. 如果錯誤條件非常重要,則進行健壯形式的測試是合適的。4.如果輸入數據以離散值區間和集合定義,則等價類測試是合適的。當然也適用于如果變量值越界系統就會出現故障的系統。5. 通過結合邊界值測試,等價類測試可得到加強。6. 如果程序函數很復雜,則等價類測試是被指示的。在這種情況下,函數的復雜性可以幫助標識有用的等價類。7. 強等價類測試假設變量是獨立的,相應

溫馨提示

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

評論

0/150

提交評論