日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

黑盒测试方法|测试用例的设计方法--等价类划分方法

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 黑盒测试方法|测试用例的设计方法--等价类划分方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

黑盒測試方法–測試用例的設計方法–等價類劃分方法

目錄

  • 等價類劃分方法
  • 邊界值分析方法
  • 錯誤推測方法
  • 因果圖方法
  • 判定表驅動分析方法
  • 正交實驗設計方法
  • 功能圖分析方法
  • 場景設計方法

等價類劃分方法

一、方法簡介
(1)定義
把所有可能的輸入數據,即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少數具有代表性的數據作為測試用例。該方法是一種重要的,常用的黑盒測試用例設計方法。

(2)劃分等價類:
等價類是指某個輸入域的子集合。在該子集合中,各個輸入數據對于揭露程序中的錯誤都是等效的,并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試,因此,可以把全部輸入數據合理劃分為若干等價類,在每一個等價類中取一個數據作為測試的輸入條件就可以用少量代表性的測試數據取得較好的測試結果。等價類劃分可有兩種不同的情況:有效等價類和無效等價類。

  • 有效等價類
    是指對于程序的規格說明來說是合理的、有意義的輸入數據構成的集合。利用有效等價類可檢驗程序是否實現了規格說明中所規定的功能和性能。

  • 無效等價類
    與有效等價類的定義恰巧相反。無效等價類指對程序的規格說明是不合理的或無意義的輸入數據所構成的集合。對于具體的問題,無效等價類至少應有一個,也可能有多個。

  • 設計測試用例時,要同時考慮這兩種等價類。因為軟件不僅要能接收合理的數據,也要能經受意外的考驗,這樣的測試才能確保軟件具有更高的可靠性。

    (3)劃分等價類的標準

  • 完備測試、避免冗余;
  • 劃分等價類重要的是:集合的劃分,劃分為互不相交的一組子集,而子集的并是整個集合;
  • 并是整個集合:完備性;
  • 子集互不相交:保證一種形式的無冗余性;
  • 同一類中標識(選擇)一個測試用例,同一等價類中,往往處理相同,相同處理映射到"相同的執行路徑"。
  • (4)劃分等價類的方法

  • 在輸入條件規定了取值范圍或值的個數的情況下,則可以確立一個有效等價類和兩個無效等價類。如:輸入值是學生成績,范圍是0~100;
  • 在輸入條件規定了輸入值的集合或者規定了"必須如何"的條件的情況下,可確立一個有效等價類和一個無效等價類;
  • 在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類。
  • 在規定了輸入數據的一組值(假定n個),并且程序要對每一個輸入值分別處理的情況下,可確立n個有效等價類和一個無效等價類。例:輸入條件說明學歷可為:專科、本科、碩士、博士四種之一,則分別取這四種這四個值作為四個有效等價類,另外把四種學歷之外的任何學歷作為無效等價類。
  • 在規定了輸入數據必須遵守的規則的情況下,可確立一個有效等價類(符合規則)和若干個無效等價類(從不同角度違反規則);
  • 在確知已劃分的等價類中各元素在程序處理中的方式不同的情況下,則應再將該等價類進一步的劃分為更小的等價類。
  • (5)設計測試用例
    在確立了等價類后,可建立等價類表,列出所有劃分出的等價類輸入條件:有效等價類、無效等價類,然后從劃分出的等價類中按以下三個原則設計測試用例:

  • 為每一個等價類規定一個唯一的編號;
  • 設計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋地有效等價類,重復這一步,直到所有的有效等價類都被覆蓋為止;
  • 設計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重復這一步,直到所有的無效等價類都被覆蓋為止。
  • 二、例子
    (1)例子1
    某程序規定:"輸入三個整數 a 、 b 、 c 分別作為三邊的邊長構成三角形。通過程序判定所構成的三角形的類型,當此三角形為一般三角形、等腰三角形及等邊三角形時,分別作計算 … "。用等價類劃分方法為該程序進行測試用例設計。(三角形問題的復雜之處在于輸入與輸出之間的關系比較復雜。)

    1、分析題目中給出和隱含的對輸入條件的要求:
    (1)整數 (2)三個數 (3)非零數 (4)正數
    (5)兩邊之和大于第三邊 (6)等腰 (7)等邊

    2、如果 a 、 b 、 c 滿足條件( 1 ) ~ ( 4 ),則輸出下列四種情況之一:

  • 如果不滿足條件(5),則程序輸出為 " 非三角形 " 。
  • 如果三條邊相等即滿足條件(7),則程序輸出為 " 等邊三角形 " 。
  • 如果只有兩條邊相等、即滿足條件(6),則程序輸出為 " 等腰三角形 " 。
  • 如果三條邊都不相等,則程序輸出為 " 一般三角形 " 。
  • 3、列出等價類表并編號👇

    4、覆蓋有效等價類的測試用例👇

    覆蓋有效等價類的測試用例(a b c)覆蓋等價類號碼
    3 4 5(1)–(7)
    4 4 5(1)–(7),(8)
    4 5 5(1)–(7),(9)
    5 4 5(1)–(7),(10)
    4 4 4(1)–(7),(11)

    5、覆蓋無效等價類的測試用例👇

    (2)例子2
    設有一個檔案管理系統,要求用戶輸入以年月表示的日期。假設日期限定在1990年1月~2049年12月,并規定日期由6位數字字符組成,前4位表示年,后2位表示月。現用等價類劃分法設計測試用例,來測試程序的"日期檢查功能"。

    1、劃分等價類并編號,下表等價類劃分的結果👇

    輸入等價類有效等價類無效等價類
    日期的類型及長度①6位數字字符②有非數字字符、③少于6位數字字符、④多于6位數字字符
    年份范圍⑤在1990~2049之間⑥小于1990、⑦大于2049
    月份范圍⑧在01~12之間⑨等于00、⑩大于12

    2、設計測試用例,以便覆蓋所有的有效等價類在表中列出了3個有效等價類,編號分別為①、⑤、⑧,設計的測試用例如下:

    測試數據期望結果覆蓋的有效等價類
    200211輸入有效①、⑤、⑧

    3、為每一個無效等價類設計一個測試用例,設計結果如下:

    測試數據期望結果覆蓋的無效等價類
    95June無效輸入
    20036無效輸入
    2001006無效輸入
    198912無效輸入
    200401無效輸入
    200100無效輸入
    200113無效輸入

    (3)例子3
    NextDate 函數包含三個變量:month 、 day 和 year ,函數的輸出為輸入日期后一天的日期。 例如,輸入為 2006年3月 7日,則函數的輸出為 2006年3月8日 。要求輸入變量 month 、 day 和 year 均為整數值,并且滿足下列條件:
    ①1≤month≤12
    ②1≤day≤31
    ③1920≤year≤2050

    1、有效等價類

    有效等價類
    M1={月份:1≤月份≤12}
    D1={日期:1≤日期≤31}
    Y1={年:1812≤年≤2012}

    2、若條件 ① ~ ③中任何一個條件失效,則 NextDate 函數都會產生一個輸出,指明相應的變量超出取值范圍,比如 "month 的值不在 1-12 范圍當中 " 。顯然還存在著大量的 year 、 month 、 day 的無效組合, NextDate 函數將這些組合作統一的輸出: " 無效輸入日期 " 。其無效等價類為:

    無效等價類
    M2={月份:月份<1}
    M3={月份:月份>12}
    D2={日期:日期<1}
    D3={日期:日期>31}
    Y2={年:年<1812}
    Y3={年:年>2012}

    3、弱一般等價類測試用例

    月份日期年預期輸出
    61519121912年6月16日

    強一般等價類測試用例同弱一般等價類測試用例
    注:弱–有單缺陷假設;健壯–考慮了無效值

    4、弱健壯等價類測試

    用例ID月份日期年預期輸出
    WR161519121912年6月16日
    WR2-1151912月份不在1~12中
    WR313151912月份不在1~12中
    WR46-11912日期不在1~31中
    WR56321912日期不在1~31中
    WR66151811年份不在1812~2012中
    WR76152013年份不在1812~2012中

    5、強健壯等價類測試

    用例ID月份日期年預期輸出
    SR1-1151912月份不在1~12中
    SR26-11912日期不在1~31中
    SR36151811年份不在1812~2012中
    SR4-1-11912兩個無效一個有效
    SR56-11811兩個無效一個有效
    SR6-1151811兩個無效一個有效
    SR7-1-11811三個無效

    (4)例子4
    傭金問題等價類測試用例,它是根據傭金函數的輸出值域定義等價類,來改進測試用例集合。

    銷售額傭金
    銷售額≤1000元傭金10%
    1000<銷售額≤1800傭金=100+(銷售額-1000)*15%
    銷售額>1800傭金=220+(銷售額-1800)*20%
    測試用例槍機(45)槍托(30)槍管(25)銷售額傭金
    155550050
    21515151500175
    32525252500360

    根據輸出域選擇輸入值,使落在輸出域等價類內,可以結合弱健壯測試用例結合。

    總結

    以上是生活随笔為你收集整理的黑盒测试方法|测试用例的设计方法--等价类划分方法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。