黑盒測試用例設計方法

這段時間積累的一些想法:

1.參考這篇吐槽https://zhuanlan.zhihu.com/p/27345893略荡,理解軟件的Bug為什么不能徹底消除這一事實。
2.和傳統(tǒng)行業(yè)(例如制造業(yè))歉胶、傳統(tǒng)軟件行業(yè)(例如軍工軟件行業(yè)汛兜、IT行業(yè))不同,互聯(lián)網(wǎng)行業(yè)的測試只保證應用的核心鏈路/功能可用通今,并不追求測試覆蓋率粥谬,出現(xiàn)小的bug能夠通過快速迭代去fix,2者的質(zhì)量策略有很大差別衡创,即使在阿里內(nèi)部帝嗡,淘寶和螞蟻的測試工具、方法和質(zhì)量管理策略璃氢、理念都是有差異的哟玷。
3.老板總是吐槽我們自己定位過低,希望我們盡快從一個項目測試人員轉(zhuǎn)變?yōu)橐粋€質(zhì)量領域?qū)<乙灰玻聦嵣衔覍@2個角色之間的區(qū)別理解的不夠透徹巢寡,即使理解清楚了,也并不代表一定能干的好椰苟,知易行難抑月。
4.現(xiàn)在很多的測試開發(fā)工程師,都喜歡自動化測試舆蝴、開發(fā)測試工具谦絮,有開發(fā)能力的測試工程師也越來越多,但是在當前行業(yè)的質(zhì)量保證還無法脫離黑盒手工測試的前提下洁仗,測試設計方法仍然是每一個測試人員都需要掌握的基本功层皱。

吐槽完了,回到正題赠潦,黑盒測試設計方法主要包含:

  • 等價類劃分法
  • 邊界值分析法
  • 錯誤推測法
  • 因果圖
  • 判定表法
  • 正交實驗法
  • 狀態(tài)遷移圖
  • 流程分析法
    ......

學習測試設計方法前门岔,有基本的數(shù)學基礎或者統(tǒng)計學基礎更好矛双,因為很多測試設計方法本質(zhì)上都是基于一些抽樣理論,思考的是如何通過少量的抽樣實例實現(xiàn)對測試輸入情況的全量覆蓋赢乓。

等價類劃分法

定義:將所有可能的輸入數(shù)據(jù)劃分幾個子集,子集內(nèi)的輸入數(shù)據(jù)是等價的,在子集中抽取1個(幾個)輸入數(shù)據(jù)作為用例代表整個子集,通過這種方式實現(xiàn)所有輸入數(shù)據(jù)的測試覆蓋。

等價類包括有效/無效等價類拳恋,有效/無效指的是輸入數(shù)據(jù)的有效/無效,分別用于覆蓋正常/異常場景你踩。

舉例:

1.PRD中一個頁面表單新增配置功能诅岩,規(guī)格說明如下:
輸入框錄入數(shù)據(jù)為整數(shù)[1,100],點擊保存成功带膜,否則彈出錯誤提示吩谦。

我們可以做等價類劃分如下:

c1: input<1
c2: input∈[1,100]
c3: input>100

從等價類中抽取用例如下:

c10: input = -1,output = fail
c20: input = 10, output = success
c30: input = 200, output = fail

其中c1和c3屬于無效等價類
c2屬于有效等價類

等價類劃分的原則:

1.完備性:等價類求并集為整個集合(比如舉例中,c1/c2/c3求并集就是整數(shù)集合)
2.互斥性:各等價類無交集(舉例中膝藕,c1/c2/c3為整數(shù)集合的互斥子集)

總結:

1.等價類是依據(jù)需求規(guī)格來劃分的式廷。
2.這里劃分等價類用到了邊界值分析法
3.用例的粒度是由具體的測試設計人員來控制芭挽,測試設計人員結合實際測試場景和需求決策用例粒度滑废。

應用場景:

邊界值分析法

定義:邊界值分析法是對等價類劃分法的補充,依據(jù)等價類劃分袜爪,從等價類的邊界值處設計測試用例蠕趁。

邊界值分析法假定問題更容易發(fā)生在邊界處,這是邊界值分析法的理論基礎辛馆。

還是以等價類劃分里面的舉例來看:

按照邊界值分析法俺陋,可以抽用例如下:

c11: input = 0, output = fail
c21: input = 1, output = success
c22: input = 2, output = success
c23: input = 99, output = success
c24: input = 100, output = success
c31: input = 101, output = fail

錯誤推測法

基于經(jīng)驗直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法。

這是一個很唯心的異常測試設計方法昙篙,用例設計的好壞依賴:測試人員對業(yè)務的了解程度腊状、過往的

測試經(jīng)驗等。

比如測試一個移動app通話功能苔可,我們推測可能出現(xiàn)通話異常的情況有:
1.弱網(wǎng)情況(隧道里/火車上)
2.低電量情況
3.CPU/內(nèi)存耗盡
4.受到信號干擾
......
測試人員可以按照這些推測異常的場景去設計用例缴挖。

我理解的是,錯誤推測法更多的應用于發(fā)散測試/探索測試中焚辅。

因果圖

等價類劃分和邊界值分析考慮的都是輸入值的覆蓋情況映屋,但是沒有考慮不同輸入條件之間的相互影響,因果圖是利用圖解來分析各種輸入值的組合情況同蜻,根據(jù)分析結果來設計用例秧荆。

輸入條件組合的全量覆蓋為何不可行?

如果有n個輸入條件埃仪,每個輸入條件有m個等價類,則可能的組合情況是:n^m種陕赃。
>假設n=5卵蛉,m=3颁股,組合就有19683種
>實際測試場景可能比這個更復雜。

舉例:

1.PRD中的頁面表單新增配置功能傻丝,規(guī)格說明如下:
表單有2個輸入框如下:
輸入框A甘有,支持整數(shù)[1,100]
輸入框B,支持字符(1~10字符)
點擊保存成功葡缰,否則彈出錯誤提示亏掀。

2.按等價類分析整理輸入輸出如下:
輸入A,等價類為:(-∞,1),[1,100],(100,+∞)
輸入B泛释,等價類為:1字符滤愕,[2,9]字符,10字符
輸出:
保存成功
彈出錯誤提示

3.等價類全覆蓋組合如下:3*3 = 9


因果圖法:
輸入:
A1:輸入框A為[1,100]
B1:輸入框B為(1,10)字符
中間狀態(tài)A11:輸入框A已輸入[1,100]
輸出C:
C1:保存成功
C2:彈出錯誤提示

手畫因果圖如下:


因果圖的符號含義參考下面2張圖:



將上面的因果圖轉(zhuǎn)判定表如下(1代表是怜校,0代表否):


根據(jù)判定表設計4個用例即可间影。

后續(xù)繼續(xù)施工下面的幾種設計方法

  • 判定表法
  • 正交實驗法
  • 狀態(tài)遷移圖
  • 流程分析法
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市茄茁,隨后出現(xiàn)的幾起案子魂贬,更是在濱河造成了極大的恐慌,老刑警劉巖裙顽,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件付燥,死亡現(xiàn)場離奇詭異,居然都是意外死亡愈犹,警方通過查閱死者的電腦和手機键科,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來甘萧,“玉大人萝嘁,你說我怎么就攤上這事⊙锞恚” “怎么了牙言?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長怪得。 經(jīng)常有香客問我咱枉,道長,這世上最難降的妖魔是什么徒恋? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任蚕断,我火速辦了婚禮,結果婚禮上入挣,老公的妹妹穿的比我還像新娘亿乳。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布葛假。 她就那樣靜靜地躺著障陶,像睡著了一般。 火紅的嫁衣襯著肌膚如雪聊训。 梳的紋絲不亂的頭發(fā)上抱究,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天,我揣著相機與錄音带斑,去河邊找鬼鼓寺。 笑死,一個胖子當著我的面吹牛勋磕,可吹牛的內(nèi)容都是我干的妈候。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼朋凉,長吁一口氣:“原來是場噩夢啊……” “哼州丹!你這毒婦竟也來了?” 一聲冷哼從身側響起杂彭,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤墓毒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后亲怠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體所计,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年团秽,在試婚紗的時候發(fā)現(xiàn)自己被綠了主胧。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡习勤,死狀恐怖踪栋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情图毕,我是刑警寧澤夷都,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站予颤,受9級特大地震影響囤官,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蛤虐,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一党饮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧驳庭,春花似錦刑顺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽荞驴。三九已至,卻和暖如春贯城,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背霹娄。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工能犯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人犬耻。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓踩晶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親枕磁。 傳聞我的和親對象是個殘疾皇子渡蜻,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355