提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔
前言
我們這里要讀軟件測(cè)試的黑盒測(cè)試方法進(jìn)行具體的講解,大家也不要過于擔(dān)心,相信我接下來的講解以后,大家對(duì)這些測(cè)試方法必然是了然如胸的.當(dāng)然在我們介紹測(cè)試用例的方法之前.我們應(yīng)該來回顧一下,什么是測(cè)試用例,測(cè)試用例包含哪些內(nèi)容.實(shí)際上我們把測(cè)試用例比喻成一組集合,這組集合里面有
測(cè)試環(huán)境、操作步驟、測(cè)試數(shù)據(jù)、預(yù)期結(jié)果等要素.當(dāng)然我們實(shí)際測(cè)試用例還是有方法的,接下來我們就一一的去介紹這些方法.
一.基于需求的設(shè)計(jì)方法
什么是基于需求的設(shè)計(jì)測(cè)試用例的方法,這里的核心概念就是需求.我們們一般把需求分為兩種
軟件需求和用戶需求.
基于需求設(shè)計(jì)測(cè)試用例是測(cè)試設(shè)計(jì)和開發(fā)測(cè)試用例的基礎(chǔ),第一步就要分析測(cè)試需求,驗(yàn)證需求是否正確、完整、無二義性,并且邏輯自洽。在需求正確的基礎(chǔ)上細(xì)化測(cè)試需求,從測(cè)試需求提煉出一個(gè)個(gè)測(cè)試點(diǎn)或者測(cè)試項(xiàng),然后根據(jù)每一個(gè)測(cè)試點(diǎn)進(jìn)行測(cè)試用例的設(shè)計(jì).
所以一般來說,我們一般把需求分為功能需求和非功能需求
這上面是我們常用的基于需求的測(cè)試用例設(shè)計(jì),打擊看到以上的操作之后,還是有不明白的地方,我們可以給出幾個(gè)實(shí)際的例子,來設(shè)計(jì)測(cè)試用例,大家就明白了.
這是一個(gè)登錄界面的例子
這是一個(gè)淘寶購物車的例子
水杯測(cè)試用例
微信法朋友圈的測(cè)試用例設(shè)計(jì)
具體的我們就介紹到這里,我們開始進(jìn)入下一個(gè)測(cè)試用例的方法.
二.等價(jià)類
等價(jià)類的概念是軟件測(cè)試中的一個(gè)重要概念。它是指輸入域中一組數(shù)據(jù),這組數(shù)據(jù)在被測(cè)軟件的處理結(jié)果上具有等價(jià)性。換句話說,等價(jià)類中包含的所有值在軟件的響應(yīng)上具有相同或相似的效果。
依據(jù)需求將輸入(特殊情況下會(huì)考慮輸出)劃分為若干個(gè)等價(jià)類,從等價(jià)類中選出一個(gè)測(cè)試用例,如果這個(gè)測(cè)試用例測(cè)試通過,則認(rèn)為所代表的等價(jià)類測(cè)試通過,這樣就可以用較少的測(cè)試用例達(dá)到盡量多的功能覆蓋,解決了不能窮舉測(cè)試的問題。
其實(shí)繞了這么一大圈,我們還是來看看,我們?cè)趺慈ビ玫葍r(jià)類方法去設(shè)計(jì)測(cè)試用例.
有效等價(jià)類:滿足用戶需求輸入集合
無效等價(jià)類:不滿足用戶輸入集合
接下來是重頭戲,設(shè)計(jì)測(cè)試用例的步驟如下:
等價(jià)類思想設(shè)計(jì)測(cè)試用例步驟
①充分理解需求
②劃分有效等價(jià)類,劃分無效等價(jià)類
③從有效等價(jià)類抽取其中一個(gè)數(shù)據(jù)進(jìn)行設(shè)計(jì)測(cè)試用例;從無效等價(jià)類中抽取其中一個(gè)進(jìn)行測(cè)試用例設(shè)計(jì)
具體來個(gè)例子,用戶名長度的測(cè)試用例展示.
如果說還沒明白的話,我們繼續(xù)來一個(gè)三角形的例子,去體會(huì)一下.
三角形問題:輸入3個(gè)整數(shù)a,b,c,分別作為三角形的3條邊,通過程序判斷3條邊構(gòu)成三角形的類型為等邊三角形、等腰三角形、一般三角形或者不構(gòu)成三角形。
等價(jià)類測(cè)試用例設(shè)計(jì)方法,最重要的就是劃分等價(jià)類,但是等價(jià)類只考慮輸入域的分類,沒有考慮輸入域的組合,需要其他的設(shè)計(jì)方法和補(bǔ)充.
三.邊界值
什么是邊界值法呢?邊界值分析法就是對(duì)輸入或輸出的邊界值進(jìn)行測(cè)試的一種黑盒測(cè)試方法。通常邊界值分析法是作為對(duì)等價(jià)類劃分法的補(bǔ)充,這種情況下,其測(cè)試用例來自等價(jià)類的邊界。
我們來看一下,邊界值法具體在干什么.
邊界值法具體就是劃分上點(diǎn),內(nèi)點(diǎn),離點(diǎn).
我們來看一個(gè)例子
這里值得說的內(nèi)點(diǎn)其實(shí)有很多種情況的,我這里說明一下.
上點(diǎn):不管此區(qū)間是開區(qū)間還是閉區(qū)間,此時(shí)區(qū)間上的點(diǎn)都是上點(diǎn)
內(nèi)點(diǎn):區(qū)間內(nèi)的點(diǎn)
離點(diǎn):
區(qū)間如果是開區(qū)間,此時(shí)離點(diǎn)是距離上點(diǎn)最近的點(diǎn)(區(qū)間內(nèi)找)區(qū)間如果是閉區(qū)間,此時(shí)離點(diǎn)是離上點(diǎn)最近的點(diǎn)(找點(diǎn)在區(qū)間外)
最后肯定重頭戲了.邊界值測(cè)試用例的具體步驟入下:
邊界值設(shè)計(jì)測(cè)試用例方法
①充分理解需求
②找邊界點(diǎn)
③針對(duì)邊界點(diǎn)設(shè)計(jì)測(cè)試用例
四.判定表
判定表是一種基于判定覆蓋法設(shè)計(jì)測(cè)試用例的方法。判定是程序中用來決定執(zhí)行流向的條件語句,判定表是根據(jù)這些判定設(shè)計(jì)測(cè)試用例的工具.
話不多說,我們來看看判定表有哪些關(guān)系組成.
4.1 關(guān)系
與:所有的條件必須滿足,如果一個(gè)條件不滿足,此時(shí)結(jié)果為假
或︰滿足其中一個(gè)條件結(jié)果就為真,如果條件全部為假,結(jié)果就為假
恒等︰條件為真,結(jié)果一定為真
非:條件為假,結(jié)果才為真
4.2 如何設(shè)計(jì)測(cè)試用例
具體步驟
(1)分析所有可能的輸入和可能的輸出。
(2)找出輸入與輸出之間的對(duì)應(yīng)關(guān)系。
(3)設(shè)計(jì)判定表
(4)把判定表對(duì)應(yīng)到每一個(gè)測(cè)試用例。
4.3 實(shí)際案例
假設(shè)業(yè)務(wù)單據(jù)的處理規(guī)則為:“淘寶618活動(dòng),訂單已提交,訂單合計(jì)金額大于300元或有紅包,則進(jìn)優(yōu)惠"。
第一步
輸入:訂單已提交,訂單金額大于300,有紅包
輸出:優(yōu)惠,不優(yōu)惠
第二步
1)訂單已提交,金額大于300,有紅包,優(yōu)惠
2)訂單已提交,金額大于300,沒有紅包,優(yōu)惠
3)訂單已提交,金額小于300,有紅包,優(yōu)惠
4)訂單已提交,金額小額300,沒有紅包,不優(yōu)惠
5)訂單不提交,金額大于300,有紅包,不優(yōu)惠
6)訂單不提交,金額大于300,沒有紅包,不優(yōu)惠
7)訂單不是交,金額小于300,有紅包,不優(yōu)惠
8)訂單不提交,金額小額300,沒有紅包,不優(yōu)惠
第三步
第四步
五.正交排列
正交排列是一種系統(tǒng)的、有序的排列方式,用于軟件測(cè)試用例設(shè)計(jì)中,可以保證測(cè)試用例的互相獨(dú)立,減少重復(fù)測(cè)試,提高測(cè)試效率。
在講述正交排列之前,我們還是來解釋一下什么是正交表.
5.1 什么是正交表
正交表是一種用表格表示的正交數(shù)組,用于測(cè)試用例的設(shè)計(jì)與管理。它采用行列交叉的方式,將被測(cè)系統(tǒng)的多個(gè)因素以及每個(gè)因素的取值組合成表格,這樣我們就可以在這個(gè)表格里系統(tǒng)地選擇測(cè)試值,組合成測(cè)試用例。
正交表由以下要素構(gòu)成:
- 因素:影響被測(cè)系統(tǒng)的輸入變量。
- 各因素的取值:每個(gè)因素可取的值或值范圍。
- 行與列的表頭:行表頭表示被固定的值,列表頭表示變量值。
- 單元格:每個(gè)單元格代表一個(gè)測(cè)試值的組合,可映射為一條測(cè)試用例。
5.2 如何通過正交表設(shè)計(jì)測(cè)試用例
1.充分理解需求
2.確定因素,確定水平
3.畫正交表
4.補(bǔ)充正交表
5.將正交表轉(zhuǎn)換成測(cè)試用例
5.3 實(shí)際例子
以注冊(cè)需求為例
第一步 確定 因素和確定水平
因素:姓名、郵箱、密碼、確認(rèn)密碼、驗(yàn)證碼必須全部輸入,才能進(jìn)行注冊(cè)
水平:填寫/不填寫
第二步 畫正交表
利用allpairs畫正交表.
具體的教程,大家可以觀看B站的這個(gè)視頻allparis工具下載安裝及簡(jiǎn)單使用
填寫是啥意思呢,凡是帶的就是此處選項(xiàng)你選啥都行,你選填寫也行,選不填寫也行,不影響測(cè)試結(jié)果
第三步 將正交表轉(zhuǎn)換成測(cè)試用例
六.場(chǎng)景設(shè)計(jì)法
6.1 什么是場(chǎng)景測(cè)試法
場(chǎng)景設(shè)計(jì)法是一種基于用戶場(chǎng)景來設(shè)計(jì)測(cè)試用例的方法。它考慮到用戶使用軟件的完整場(chǎng)景及流程,設(shè)計(jì)出一組用例來驗(yàn)證軟件在這種場(chǎng)景或流程下的執(zhí)行結(jié)果是否正確。
6.2 如何使用場(chǎng)景測(cè)試法設(shè)計(jì)測(cè)試用例
1.充分理解需求
2.確定主事件流
3.確定次事件流
4.每一個(gè)事件流就是一個(gè)測(cè)試用例
6.3 實(shí)際例子
用戶使用某酒店預(yù)訂系統(tǒng)進(jìn)行客房預(yù)訂
第一步
主事件流:用戶使用某酒店預(yù)訂系統(tǒng)進(jìn)行客房預(yù)訂
第二步
此事件流:用戶使用系統(tǒng)的每一個(gè)步驟
第三步
登錄系統(tǒng)–>查詢房型–>選擇房型、入住時(shí)間
–>填寫預(yù)訂人信息–>選擇支付方式–>確認(rèn)預(yù)訂單
–>預(yù)訂單確認(rèn)–>正式訂單–>預(yù)訂成功
第四步
設(shè)計(jì)測(cè)試用例
用例1:登錄系統(tǒng) 預(yù)期結(jié)果:登錄成功
用例2:查詢不存在的房型 預(yù)期結(jié)果:無查詢結(jié)果
用例3:選擇普通房型、時(shí)間 預(yù)期結(jié)果:可以進(jìn)行下一步
用例4:填寫無效預(yù)訂人信息 預(yù)期結(jié)果:給出提示信息
用例5:選擇支付方式為現(xiàn)金支付 預(yù)期結(jié)果:可以進(jìn)行下一步
用例6:確認(rèn)預(yù)訂單 預(yù)期結(jié)果:預(yù)訂單生成
用例7:預(yù)訂單重復(fù)確認(rèn) 預(yù)期結(jié)果:無影響,提示已確認(rèn)
用例8:酒店確認(rèn)預(yù)訂單 預(yù)期結(jié)果:生成正式訂單
用例9:用戶取消預(yù)訂單 預(yù)期結(jié)果:預(yù)訂單取消,無正式訂單生成
通過上述場(chǎng)景分析和測(cè)試用例設(shè)計(jì),可以得到一組與真實(shí)預(yù)訂場(chǎng)景緊密聯(lián)系的測(cè)試用例。這些用例可以有效驗(yàn)證預(yù)訂系統(tǒng)在各種正常場(chǎng)景、邊界場(chǎng)景下的執(zhí)行結(jié)果是否正確,達(dá)到檢驗(yàn)系統(tǒng)功能的目的。
總之,場(chǎng)景設(shè)計(jì)法是一種非常實(shí)用的測(cè)試用例設(shè)計(jì)方法,通過結(jié)合具體的用戶場(chǎng)景來制定測(cè)試策略和設(shè)計(jì)用例,值得測(cè)試人員重點(diǎn)學(xué)習(xí)與運(yùn)用.
七.錯(cuò)誤猜測(cè)法
7.1什么是錯(cuò)誤猜測(cè)法
錯(cuò)誤猜測(cè)法是一種基于對(duì)程序可能存在的錯(cuò)誤進(jìn)行猜測(cè)來設(shè)計(jì)測(cè)試用例的方法。這種方法嘗試去猜測(cè)程序在開發(fā)過程中最可能產(chǎn)生的錯(cuò)誤,并設(shè)計(jì)針對(duì)這些錯(cuò)誤的測(cè)試用例。如果測(cè)試執(zhí)行結(jié)果與預(yù)期不符,則表明程序中存在該錯(cuò)誤,起到發(fā)現(xiàn)錯(cuò)誤的目的。
7.2錯(cuò)誤猜測(cè)法的基本步驟
- 分析程序邏輯和實(shí)現(xiàn),推測(cè)出最可能出現(xiàn)的錯(cuò)誤類型。常見的錯(cuò)誤類型有:變量未初始化,數(shù)組下標(biāo)越界,參數(shù)傳遞錯(cuò)誤,邏輯運(yùn)算錯(cuò)誤等。
- 根據(jù)猜測(cè)出的錯(cuò)誤類型和程序邏輯設(shè)計(jì)測(cè)試用例。這些用例的測(cè)試數(shù)據(jù)應(yīng)能夠激發(fā)相應(yīng)類型的錯(cuò)誤。
- 執(zhí)行設(shè)計(jì)的測(cè)試用例,驗(yàn)證實(shí)際輸出結(jié)果是否與預(yù)期一致。如果存在不一致,則發(fā)現(xiàn)了程序錯(cuò)誤。
- 根據(jù)測(cè)試結(jié)果進(jìn)行錯(cuò)誤修復(fù)和重測(cè)試,直至所有測(cè)試用例的結(jié)果均符合預(yù)期。
7.3 實(shí)際例子
如果要測(cè)試一個(gè)數(shù)組求平均值的程序
第一步
可以猜測(cè)出的錯(cuò)誤類型有:
1)數(shù)組下標(biāo)越界,導(dǎo)致索引異常。
2)數(shù)組元素之和計(jì)算錯(cuò)誤,導(dǎo)致平均值錯(cuò)誤。文章來源:http://www.zghlxwxcb.cn/news/detail-429536.html
第二步
那么,相關(guān)的測(cè)試用例可以設(shè)計(jì)為:
用例1:輸入數(shù)組[-1,10,20] 預(yù)期結(jié)果:報(bào)索引越界異常
用例2:輸入數(shù)組[1,2,3] 預(yù)期結(jié)果: 平均值為2
用例3:輸入數(shù)組[1,2,3] 預(yù)期結(jié)果:計(jì)算的平均值不為2,則存在邏輯計(jì)算錯(cuò)誤。文章來源地址http://www.zghlxwxcb.cn/news/detail-429536.html
到了這里,關(guān)于軟件測(cè)試之黑盒測(cè)試的具體方法詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!