測試理論之黑盒測試用例設(shè)計方法及選擇策略

說明:本文章非黑盒測試方法使用普及文章,僅闡述每個方法的原理典予、適用場景及使用技巧。

黑盒測試本質(zhì)是數(shù)據(jù)驅(qū)動的測試乐严。把程序看做黑盒瘤袖,不考慮內(nèi)部邏輯結(jié)構(gòu),僅根據(jù)規(guī)格說明設(shè)計測試用例昂验,驗證其是否符合要求捂敌。

黑盒測試方法是窮舉輸入的測試方法,但實際上無法進行窮舉既琴,所以用例設(shè)計需要講究方法和技巧占婉,從而設(shè)計出有效且關(guān)鍵的測試用例。

黑盒測試用例設(shè)計方法

針對輸入或輸出條件:等價類劃分法甫恩、邊界值分析法逆济。
針對輸入或輸出條件之間的聯(lián)系、互相組合:因果圖法磺箕、判定表驅(qū)動法奖慌。
針對多因素、多水平組合(3個或3個以上的試驗因素):正交實驗法松靡。
針對狀態(tài)遷移和邏輯:功能圖法简僧。
針對業(yè)務(wù)流程、事件流:場景法雕欺。

等價類劃分法

原理
把輸入或輸出數(shù)據(jù)劃分為有效和無效等價類岛马,從每個等價類中選取具有代表性的數(shù)據(jù)進行測試。

考慮范圍:輸入值阅茶、輸出值蛛枚、內(nèi)部值、時間關(guān)系脸哀、計算蹦浦、測試前置或后置條件、配置等撞蜂。

適用場景
只要有輸入或輸出盲镶。

使用技巧

  • 把盡可能多的有效等價類設(shè)計到一條測試用例中;
    • 采用邊界值分析法進行有效補充蝌诡。
  • 每個無效等價類就是一條測試用例溉贿。
    • 子集不能相交;
    • 子集不能為空浦旱;
    • 子集的合集應(yīng)該等同于原始集合宇色。

邊界值分析法

原理
針對輸入或輸出范圍的邊界值進行測試。

通常是針對有效等價類的邊界值進行測試。

考慮范圍:變量的最大值宣蠕、最小值例隆、中間值、比最大值大的值抢蚀、比最小值小的值镀层。

適用場景
有范圍的輸入或輸出。

使用技巧
通常結(jié)合等價類劃分法使用皿曲,是作為對等價類劃分法的有效補充唱逢。

錯誤猜測法

原理
憑借直覺和經(jīng)驗推測某些可能的錯誤,針對這些錯誤設(shè)計測試用例的方法屋休。

適用場景
幾乎所有場景坞古。

使用技巧
沒有技巧,直覺和經(jīng)驗堆積博投。

因果圖法

原理
根據(jù)輸入條件的組合绸贡、約束關(guān)系和輸出條件的因果關(guān)系,利用圖解法分析輸入條件的各種組合情況毅哗,寫出判定表听怕,從而設(shè)計測試用例的方法。

因果圖法最終生成的就是判定表虑绵,它適合于檢查程序輸入條件的各種組合情況尿瞭。

適用場景
多種輸入條件組合。

使用技巧
因果圖法和判定表結(jié)合使用翅睛。

判定表驅(qū)動法

原理
針對不同邏輯條件的組合值声搁,分別執(zhí)行不同的操作。

適用場景
多個邏輯條件組合會產(chǎn)生不同的操作情況捕发。

使用技巧

  1. 規(guī)格說明以判定表形式給出疏旨,或很容易轉(zhuǎn)換成判定表。
  2. 條件的排列順序不會也不影響執(zhí)行哪些操作扎酷。
  3. 規(guī)則的排列順序不會也不影響執(zhí)行哪些操作檐涝。
  4. 每當(dāng)某一規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗別的規(guī)則法挨。
  5. 如果某一規(guī)則得到滿足要執(zhí)行多個操作,這些操作的執(zhí)行順序無關(guān)緊要谁榜。

正交實驗法

原理
正交試驗法是研究多因素、多水平組合的一種試驗法凡纳,它是利用正交表來對試驗進行設(shè)計窃植,通過少數(shù)的試驗替代全面試驗,根據(jù)正交表的正交性從全面試驗中挑選適量的荐糜、有代表性的點進行試驗巷怜,這些有代表性的點具備了“均勻分散葛超,整齊可比”的特點。

適用場景
多因素延塑、多水平組合(3個或3個以上的試驗因素)巩掺。

使用技巧
使用PICT工具。

功能圖法

原理
一個程序的功能說明通常由動態(tài)說明和靜態(tài)說明組成页畦。動態(tài)說明描述了輸入數(shù)據(jù)的次序或轉(zhuǎn)移的次序。靜態(tài)說明描述了輸入條件與輸出條件之間的對應(yīng)關(guān)系研儒。用功能圖形象地表示程序的功能說明豫缨,并機械地生成功能圖的測試用例。

功能圖法實際上是一種黑盒和白盒相混合(灰盒)的用例設(shè)計方法端朵。

功能圖法中要用到邏輯覆蓋和路徑測試的概念和方法(白盒測試方法)好芭。

適用場景
狀態(tài)遷移(測試路徑)與邏輯模型。

使用技巧
功能圖中的每一條路徑即是一條測試用例冲呢。

場景法

原理
核心思想是站在用戶的角度上檢測軟件功能舍败,發(fā)現(xiàn)軟件的錯誤。

場景法能夠以最少的測試成本敬拓,來發(fā)現(xiàn)最多的與用戶平時使用時息息相關(guān)的軟件缺陷或錯誤邻薯。

適用場景
業(yè)務(wù)流程清晰(工作流或場景)、參與者與系統(tǒng)交互過程乘凸。

使用技巧

  1. 理解業(yè)務(wù)需求厕诡,分析業(yè)務(wù)基本流和備選流上所有會影響數(shù)據(jù)流走向的的各種因素,從用戶操作角度拆分流程中各環(huán)節(jié)营勤,同時考慮時間灵嫌、網(wǎng)絡(luò)等因素。
  2. 組合場景中可能發(fā)生的事件序列葛作。
  3. 將環(huán)境因素和事件序列進行組合并進行分析推導(dǎo)寿羞,得到不同的場景。

黑盒測試方法選擇策略

測試用例的設(shè)計方法不是單獨存在的赂蠢,在實際情況中绪穆,往往是綜合使用各種方法才能有效地提高測試效率和測試覆蓋率,這需要了解方法的原理客年,積累經(jīng)驗霞幅,以提高測試水平。

  1. 對于業(yè)務(wù)流程清晰的系統(tǒng)量瓜,可以利用場景法貫穿整個測試案例過程司恳,在案例中綜合使用各種測試方法。
  2. 如果有輸入條件的組合绍傲,可選擇因果圖法和判定表驅(qū)動法扔傅。
  3. 通過功能圖法針對不同時期條件的有效性設(shè)計不同的測試數(shù)據(jù)耍共。
  4. 優(yōu)先使用等價類劃分,包括輸入和輸出條件的等價劃分猎塞,把無限測試變成有限測試试读,減少工作量和提高測試效率的最有效方法。
  5. 在任何情況下都必須考慮邊界值分析法荠耽。
  6. 使用錯誤猜測技術(shù)增加更多的測試用例钩骇。
  7. 對于參數(shù)配置類,使用正交實驗法選擇較少的組合方式達到最佳效果铝量。
  8. 對照程序邏輯倘屹,檢查已設(shè)計出的測試用例的邏輯覆蓋程度。如果沒有達到要求的覆蓋度量標(biāo)準慢叨,應(yīng)當(dāng)再補充足夠的測試用例纽匙。

參考資料

-《軟件評測師教程》

微信公眾號:daodaotest

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者拍谐。
  • 序言:七十年代末烛缔,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子轩拨,更是在濱河造成了極大的恐慌践瓷,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件气嫁,死亡現(xiàn)場離奇詭異当窗,居然都是意外死亡,警方通過查閱死者的電腦和手機寸宵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門崖面,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人梯影,你說我怎么就攤上這事巫员。” “怎么了甲棍?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵简识,是天一觀的道長。 經(jīng)常有香客問我感猛,道長七扰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任陪白,我火速辦了婚禮颈走,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘咱士。我一直安慰自己立由,他們只是感情好轧钓,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著锐膜,像睡著了一般毕箍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上道盏,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天而柑,我揣著相機與錄音,去河邊找鬼荷逞。 笑死牺堰,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的颅围。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼恨搓,長吁一口氣:“原來是場噩夢啊……” “哼院促!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起斧抱,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤常拓,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后辉浦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體弄抬,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年宪郊,在試婚紗的時候發(fā)現(xiàn)自己被綠了掂恕。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡弛槐,死狀恐怖懊亡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情乎串,我是刑警寧澤店枣,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站叹誉,受9級特大地震影響鸯两,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜长豁,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一钧唐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蕉斜,春花似錦逾柿、人聲如沸缀棍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽爬范。三九已至,卻和暖如春弱匪,著一層夾襖步出監(jiān)牢的瞬間青瀑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工萧诫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留斥难,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓帘饶,卻偏偏與公主長得像哑诊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子及刻,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 測試用例的設(shè)計是測試實現(xiàn)階段的核心工作镀裤,也是指導(dǎo)如何執(zhí)行測試的基礎(chǔ)。 測試用例(Test Case)是為某個特殊目...
    倔強的瀟灑小姐閱讀 8,756評論 1 21
  • 一缴饭、常用黑盒測試用例設(shè)計方法 等價類劃分法 邊界值分析法 判定表法 因果圖法 狀態(tài)遷移圖法 流程分析法 正交試驗法...
    hollow_s閱讀 1,074評論 0 1
  • 測試用例的內(nèi)容:用例編號暑劝、用例標(biāo)題、重要級別颗搂、預(yù)置條件担猛、測試輸入、操作步驟丢氢、預(yù)期結(jié)果傅联、測試結(jié)果、作者疚察。 黑盒測試用...
    CT9955閱讀 3,955評論 0 31
  • 一纺且,邊界值 什么是邊界值? 邊界值是對于輸入等價類和輸出等價類而言稍浆,稍高于其邊界值與稍低于邊界值的一些特定情況载碌。 ...
    hello李治中閱讀 512評論 0 0
  • 思考: 任意輸入三角形三邊,判斷能夠構(gòu)成三角形衅枫?輸入3個整數(shù)a嫁艇、b、c構(gòu)成三角形弦撩,設(shè)計測試用例數(shù)量步咪。假設(shè)在16位計...
    EndEvent閱讀 3,506評論 0 4