說明:本文章非黑盒測試方法使用普及文章,僅闡述每個方法的原理典予、適用場景及使用技巧。
黑盒測試本質(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)生不同的操作情況捕发。
使用技巧
- 規(guī)格說明以判定表形式給出疏旨,或很容易轉(zhuǎn)換成判定表。
- 條件的排列順序不會也不影響執(zhí)行哪些操作扎酷。
- 規(guī)則的排列順序不會也不影響執(zhí)行哪些操作檐涝。
- 每當(dāng)某一規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗別的規(guī)則法挨。
- 如果某一規(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)交互過程乘凸。
使用技巧
- 理解業(yè)務(wù)需求厕诡,分析業(yè)務(wù)基本流和備選流上所有會影響數(shù)據(jù)流走向的的各種因素,從用戶操作角度拆分流程中各環(huán)節(jié)营勤,同時考慮時間灵嫌、網(wǎng)絡(luò)等因素。
- 組合場景中可能發(fā)生的事件序列葛作。
- 將環(huán)境因素和事件序列進行組合并進行分析推導(dǎo)寿羞,得到不同的場景。
黑盒測試方法選擇策略
測試用例的設(shè)計方法不是單獨存在的赂蠢,在實際情況中绪穆,往往是綜合使用各種方法才能有效地提高測試效率和測試覆蓋率,這需要了解方法的原理客年,積累經(jīng)驗霞幅,以提高測試水平。
- 對于業(yè)務(wù)流程清晰的系統(tǒng)量瓜,可以利用場景法貫穿整個測試案例過程司恳,在案例中綜合使用各種測試方法。
- 如果有輸入條件的組合绍傲,可選擇因果圖法和判定表驅(qū)動法扔傅。
- 通過功能圖法針對不同時期條件的有效性設(shè)計不同的測試數(shù)據(jù)耍共。
- 優(yōu)先使用等價類劃分,包括輸入和輸出條件的等價劃分猎塞,把無限測試變成有限測試试读,減少工作量和提高測試效率的最有效方法。
- 在任何情況下都必須考慮邊界值分析法荠耽。
- 使用錯誤猜測技術(shù)增加更多的測試用例钩骇。
- 對于參數(shù)配置類,使用正交實驗法選擇較少的組合方式達到最佳效果铝量。
- 對照程序邏輯倘屹,檢查已設(shè)計出的測試用例的邏輯覆蓋程度。如果沒有達到要求的覆蓋度量標(biāo)準慢叨,應(yīng)當(dāng)再補充足夠的測試用例纽匙。
參考資料
-《軟件評測師教程》
微信公眾號:daodaotest