【測試二】黑盒測試的測試用例設計方法

黑盒測試的測試用例設計方法:
1. 等價類劃分
2. 邊界值分析
3. 錯誤推測法
4. 因果圖

一、等價類劃分

定義:等價類劃分設計方法是把所有可能的輸入數據,即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少量具有代表性的數據作為測試用例。
等價類是指某個輸入域的子集合,在該子集合中,各個輸入數據對于揭露程序中的錯誤都是等效的(可合理假設:測試某等價類的代表值就等于對這一類其他值的測試)。

確定等價類的原則:

  1. 如果輸入條件規定了取值范圍,或者是值得個數,則可以確立一個有效等價類和兩個無效等價類。
  • 例如:序號值可以從1到999。
    一個有效等價類:1<=序號值<=999
    兩個無效等價類:序號值<1,序號值>999
  1. 如果輸入條件規定了輸入值的集合,或者是規定了“必須如何”的條件,可確立一個有效等價類和一個無效等價類。
  • 例如:在C語言中對變量標識符規定為“以字母打頭的”。
    所有字母打頭的構成有效等價類
    不在此集合內的為無效等價類
  1. 如果輸入條件是布爾量,確立一個有效等價類和一個無效等價類
  • 例如:0和1,是和非
  1. 如果規定了輸入數據是一組值,而且程序要對每個輸入值分別進行處理,這時可為每一個輸入值確立一個有效等價類,此外再針對這組值確立一個無效等價類,它應是所有不允許輸入值的集合。
  • 例如:在規定教師分房方案中對教授、副教授、講師和助教分別計算分數,然后做處理。
    四個有效等價類為:教授、副教授、講師、助教
    一個無效等價類,即所有不符合以上四個的集合
  1. 如果規定了輸入數據必須遵守的規則,則可以確立一個有效等價類(符合的),和若干無效等價類(以不同角度違反規則)。
  • 例如:在C語言中,規定“一個語句必須以分號‘;’結束”。
    一個有效等價類:以“;”結束
    若干無效等價類:以“;,.”等符號結束
  1. 如果確定以劃分的等價類中各元素在程序中的處理方式不同,則應將此等價類進一步劃分為更小的等價類。

每一個無效等價類至少要用一個測試用例,否則就有可能漏掉某一類錯誤,但允許若干個有效等價類合用同一個測試用例,以便進一步減少測試次數。

確立測試用例原則:

  1. 為每一個等價類規定一個唯一的編號。
  2. 設計一個新的測試用例,使其盡可能的覆蓋尚未被覆蓋的有效等價類,重復,直至覆蓋所有的有效等價類。
  3. 設計一個新的測試用例,使其僅覆蓋尚未被覆蓋的無效等價類,重復,直至覆蓋所有無效等價類。

二、邊界值分析

采用邊界值分析法來選擇測試用例,可使得北側程序能在邊界值及其附近運行,從而更有效的地暴露程序中潛藏的錯誤。

使用邊界值分析法設計測試用例,首先應該確定邊界情況,通常輸入和輸出等價類的邊界,就是應該著重測試的邊界情況,其次,應當選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數據,而不是等價類中的典型值或任意值作為測試數據。

基于邊界值分析法選擇測試用例原則:

  1. 如果輸入條件規定了值得范圍,應取剛達到這個范圍的邊界值,以及剛剛超過這個范圍邊界的值作為測試輸入的數據。
  2. 如果輸入條件規定了值的個數,應取最大個數、最小個數、比最小個數少一、比最大個數多以的數作為測試輸入的數據。
  3. 如果程序的規格說明給出的輸入域或者輸出域是有序集合,則應選取集合的第一個元素和最后一個元素作為測試用例數據。
  4. 如果程序中使用了一個內部數據結構,應當選擇這個內部數據結構邊界上的值作為測試用例。

三、錯誤推測法

錯誤推測法發是根據經驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性地設計測試用例的方法。

四、因果圖法

因果圖法是一種適合于描述對于多種條件的組合,相應產生多個動作的形式的測試用例設計方法。

利用因果圖生成測試用例的基本步驟:

  1. 分析軟件規格說明描述中哪些是原因,哪些是結果,并給每個原因和結果賦予一個標識符。
  2. 分析軟件規格說明描述的語言,找出原因和結果之間,原因和原因之間的關系,根據這些關系,畫出因果圖。
  3. 在因果圖上用一些記號表明約束或限制條件。
  4. 把因果圖轉換為判定表。
  5. 把判定表的每一列拿出來作為數據,設計測試用例。

因果圖法適用于被測程序具有多種輸入條件,程序的輸出有依賴于輸入條件的各種組合的情況,因果圖一種簡化了的邏輯圖,它能直觀地表明程序輸入條件和輸出動作之間的相互關系。

例:第一列字符必須是A或B,第二列字符必須是一個數字,在此情況下進行文件的修改,但如果第一列字符不正確,則給出信息L;如果第二列字符不是數字,則給出信息M。

解:

  1. 畫出因果關系表和因果圖。


    因果圖
  1. 根據因果圖建立判定表。
    按條件的各種組合情況產生對應的動作。原因1和原因2不能同時成立,故可排除這種情況。
    從判定表可設計出測試用例:6個測試用例是所需的數據。
判定表

五、測試方法的選擇

  • 在任何情況下都應該使用邊界值分析方法
  • 必要時用等價類劃分法補充測試方法
  • 必要時再用錯誤推測法補充測試方法
  • 對照程序邏輯,檢查已經設計出的測試方案
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,825評論 6 546
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,814評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,980評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,064評論 1 319
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,779評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,109評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,099評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,287評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,799評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,515評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,750評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,221評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,933評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,327評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,667評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,492評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,703評論 2 380

推薦閱讀更多精彩內容

  • 等價類劃分方法: 一.方法簡介 1.定義是把所有可能的輸入數據,即程序的輸入域劃分成若干部分(子集),然后從每一個...
    繼續hug閱讀 5,620評論 1 16
  • 1.測試與軟件模型 軟件開發生命周期模型指的是軟件開發全過程、活動和任務的結構性框架。軟件項目的開發包括:需求、設...
    Mr希靈閱讀 21,984評論 7 278
  • 1.測試與軟件模型 軟件開發生命周期模型指的是軟件開發全過程、活動和任務的結構性框架。軟件項目的開發包括:需求、設...
    宇文臭臭閱讀 6,745評論 5 100
  • 測試用例的設計是測試實現階段的核心工作,也是指導如何執行測試的基礎。 測試用例(Test Case)是為某個特殊目...
    倔強的瀟灑小姐閱讀 8,853評論 1 21
  • 相關文章: 《再說說APP測試設計-1》《再說APP測試設計-2》《關于ad hoc test》《干了這碗蛋炒飯 ...
    慧眾rodman閱讀 3,251評論 1 34