【软件测试学习笔记】黑盒测试方法及案例
文章目錄
- 一、黑盒測(cè)試基本概念
- 二、黑盒測(cè)試的主要目的
- 三、優(yōu)缺點(diǎn)
- 優(yōu)點(diǎn)
- 缺點(diǎn)
- 四、黑盒測(cè)試的策略
- 五、黑盒測(cè)試方法
- 等價(jià)類劃分
- 分類
- 劃分方法
- 原則
- 等價(jià)類劃分案例
- 邊界值分析法
- 原則
- 邊界值分析法案例
- 因果圖法
- 四種因果關(guān)系
- 五種約束
- 因果圖法設(shè)計(jì)測(cè)試用例的步驟
- 因果圖法案例
- 判定表驅(qū)動(dòng)測(cè)試
- 判定表的組成
- 判定表的建立步驟
- 判定表驅(qū)動(dòng)測(cè)試實(shí)例
- 場(chǎng)景法
- 場(chǎng)景法目的
- 場(chǎng)景法核心
- 場(chǎng)景法基本設(shè)計(jì)步驟
- 場(chǎng)景法實(shí)例
- 功能圖法(灰盒測(cè)試)
- 功能圖法組成
- 功能圖基本設(shè)計(jì)步驟
- 功能圖實(shí)例
- 錯(cuò)誤推測(cè)法
- 正交試驗(yàn)設(shè)計(jì)法
- 正交試驗(yàn)設(shè)計(jì)法基本設(shè)計(jì)步驟
- 正交試驗(yàn)設(shè)計(jì)法案例
- 正交表的構(gòu)成
- 正交表的類別
- 如何選取合適的正交表
一、黑盒測(cè)試基本概念
1.數(shù)據(jù)驅(qū)動(dòng)測(cè)試,基于規(guī)格說(shuō)明的測(cè)試。
2.從用戶觀點(diǎn)和需求出發(fā)進(jìn)行測(cè)試。
3.不考慮程序內(nèi)部邏輯結(jié)構(gòu)和內(nèi)部特性。
二、黑盒測(cè)試的主要目的
1.檢查是否有不確定或者遺漏的功能。
2.界面是否有錯(cuò)誤。
3.在接口上,輸入能否正確的接受,能否輸出正確的結(jié)果。
4.是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤。
5.性能上是否滿足要求。
6.初始化或終止性錯(cuò)誤。
7.數(shù)據(jù)庫(kù)的訪進(jìn)訪出是否正常。
三、優(yōu)缺點(diǎn)
優(yōu)點(diǎn)
1.不用了解程序內(nèi)部的代碼以及實(shí)現(xiàn)。
2.與軟件的內(nèi)部實(shí)現(xiàn)無(wú)關(guān)。
3.從用戶角度出發(fā),很容易知道用戶會(huì)用到哪些功能和問(wèn)題。
4.基于軟件開(kāi)發(fā)文檔。
缺點(diǎn)
1.代碼覆蓋率低。
2.自動(dòng)化測(cè)試復(fù)用性低。
四、黑盒測(cè)試的策略
1.在任何情況下都必須采用邊界值分析法,這種方法設(shè)計(jì)出來(lái)的測(cè)試用例對(duì)發(fā)現(xiàn)程序的錯(cuò)誤非常有用的。
2.必要時(shí)采用等價(jià)類劃分法補(bǔ)充測(cè)試用例。
3.對(duì)照程序邏輯,檢查已經(jīng)設(shè)計(jì)的測(cè)試用例的邏輯覆蓋程度,如果沒(méi)有達(dá)到要求的覆蓋標(biāo)準(zhǔn),則應(yīng)當(dāng)補(bǔ)充更多的測(cè)試用例。
4.如果程序功能說(shuō)明中含有輸入條件的組合情況,則應(yīng)該一開(kāi)始就選擇因果圖。
5.對(duì)于業(yè)務(wù)流程清晰的系統(tǒng),可以利用場(chǎng)景法貫穿整個(gè)測(cè)試案例過(guò)程,在案例中綜合試驗(yàn)各種測(cè)試方法。
五、黑盒測(cè)試方法
等價(jià)類劃分
分類
- 有效等價(jià)類:對(duì)程序規(guī)格說(shuō)明來(lái)說(shuō),是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合;檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明預(yù)先規(guī)定的功能和性能。
- 無(wú)效等價(jià)類:對(duì)軟件規(guī)格說(shuō)明來(lái)說(shuō),沒(méi)有意義、不合理的輸入數(shù)據(jù)集合;檢驗(yàn)程序功能和性能的實(shí)現(xiàn)是否有不合規(guī)格說(shuō)明要求的地方。
劃分方法
- 按區(qū)間劃分。
- 按數(shù)值劃分。
- 按數(shù)值集合劃分。
- 按限制條件或規(guī)劃劃分。
- 按處理方式劃分。
原則
- 輸入條件規(guī)定的取值范圍或值的個(gè)數(shù),一個(gè)有效等價(jià)類,兩個(gè)無(wú)效等價(jià)類。
- 一組數(shù)有N個(gè)值,并且程序都要進(jìn)行處理,N個(gè)有效等價(jià)類,1個(gè)無(wú)效等價(jià)類。
- 規(guī)定輸入數(shù)據(jù)必須遵守規(guī)則的情況下,一個(gè)有效等價(jià)類,無(wú)數(shù)個(gè)無(wú)效等價(jià)類。
- 輸入條件規(guī)定了輸入值和集合或規(guī)定了“必須如何”,一個(gè)有效等價(jià)類,一個(gè)無(wú)效等價(jià)類。
- 確定已劃分的等價(jià)類中各元素在程序處理中的方式不同,等價(jià)類進(jìn)一步劃分為更小的等價(jià)類。
等價(jià)類劃分案例
輸入三個(gè)整數(shù) a 、 b 、 c 分別作為三邊的邊長(zhǎng)構(gòu)成三角形。通過(guò)程序判定所構(gòu)成的三角形的類型,當(dāng)此三角形為一般三角形、等腰三角形及等邊三角形時(shí),分別作計(jì)算 …
① 輸入條件的要求:
(1)整數(shù)、(2)3個(gè)數(shù)、(3)非零、(4)正數(shù)、(5)兩邊之和大于第三邊、(6)等腰、(7)等邊。
② 假設(shè)1、2、3、4都滿足
5不滿足 非三角形
5滿足,三邊不相等 一般三角形
5滿足,兩邊相等,等腰三角形
5滿足,三邊相等,等邊三角形
邊界值分析法
是對(duì)于輸入或輸出的邊界值進(jìn)行測(cè)試。
原則
- 如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最小個(gè)數(shù)小1的數(shù),比最大個(gè)數(shù)大1的數(shù)為測(cè)試數(shù)據(jù)。
- 如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍邊界的值,以及剛剛超過(guò)這個(gè)范圍邊界的值作為測(cè)試輸入數(shù)據(jù)。
- 如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例。
- 如果程序的規(guī)格說(shuō)明給出的輸入和輸出域是有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例。
- 分析程序規(guī)格說(shuō)明,找出其他可能的邊界條件。
邊界值分析法案例
注冊(cè)功能的手機(jī)號(hào)注冊(cè)應(yīng)該是11位數(shù)字。
使用邊界值設(shè)計(jì)測(cè)試用例
輸入10位數(shù)字
輸入11位數(shù)字
輸入12位數(shù)字
因果圖法
表示輸入條件和輸出動(dòng)作之間的因果關(guān)系
描述多種輸入條件組合
與判定表結(jié)合使用,最終生成的是判斷表
四種因果關(guān)系
- 恒等:若c1是1,則e1也是1;否則e1為0。
- 非:若c1是1,則e1是0;否則e1是1。
- 或:若c1或c2或c3是1,則e1是1;否則e1為0?!盎颉笨捎腥我鈧€(gè)輸入。
- 與:若c1和c2都是1,則e1為1;否則e1為0?!芭c”也可有任意個(gè)輸入。
五種約束
輸入條件的約束
- E約束(異):a和b兩個(gè)輸入條件中至多有一個(gè)可能為1,即a和b不能同時(shí)為1。
- I約束(或):a、b和c三個(gè)輸入條件中至少有一個(gè)必須是1,即 a、b 和c不能同時(shí)為0。
- O約束(唯一):a和b兩個(gè)輸入條件必須有一個(gè),且僅有1個(gè)為1。
- R約束(要求):a,b兩個(gè)輸入條件,a是1時(shí),b必須是1,即不可能a是1時(shí)b是0。
輸出條件的約束
- M約束(強(qiáng)制):若結(jié)果a是1,則結(jié)果b強(qiáng)制為0。
因果圖法設(shè)計(jì)測(cè)試用例的步驟
1.分析軟件規(guī)格說(shuō)明描述中, 明確哪些是原因(即輸入條件或輸入條件的等價(jià)類)和哪些是結(jié)果(即輸出條件),并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符。
2.分析軟件規(guī)格說(shuō)明描述中的語(yǔ)義,找出原因與結(jié)果之間,,原因與原因之間對(duì)應(yīng)的關(guān)系,根據(jù)這些關(guān)系,畫出因果圖。
3.由于語(yǔ)法或環(huán)境限制, 有些原因與原因之間,原因與結(jié)果之間的組合情況不可能出現(xiàn),為表明這些特殊情況, 在因果圖上用一些記號(hào)表明約束或限制條件。
4.把因果圖轉(zhuǎn)換為判定表。
5.把判定表的每一列拿出來(lái)作為測(cè)試依據(jù),完成測(cè)試用例設(shè)計(jì)。
因果圖法案例
第一列字符必須是A或B,第二列字符必須是一個(gè)數(shù)字,在此情況下進(jìn)行文件的修改,但如果第一列字符不正確,則給出信息L;如果第二列字符不是數(shù)字,則給出信息M。
① 分析原因和結(jié)果
原因:
1 第一列字符是A
2 第一列字符是B
3 第二列字符是一數(shù)字。
結(jié)果:
21 修改文件
22 給出信息L
23 給出信息M
② 畫出因果圖
③ 根據(jù)因果圖建立判定表
判定表驅(qū)動(dòng)測(cè)試
判定表的組成
- 條件樁:列出了問(wèn)題的所有條件,列出條件的次序沒(méi)有約束。
- 動(dòng)作樁:列出問(wèn)題規(guī)定可能采取的操作,這些操作的排列順序無(wú)關(guān)緊要。
- 條件項(xiàng):列出針對(duì)它左列條件的取值,在所有可能情況下的真假值。
- 動(dòng)作項(xiàng):列出在條件項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作。
判定表的建立步驟
1.確定規(guī)則的個(gè)數(shù)。假如有n個(gè)條件,每個(gè)條件有兩個(gè)取值(0,1),故2的n次方種規(guī)則。
2.列出所有的條件樁和動(dòng)作樁。
3.填入條件項(xiàng)的取值。
4.填入動(dòng)作項(xiàng)的取值,得到初始判定表。
5.簡(jiǎn)化,合并相似規(guī)則(相同動(dòng)作)。
判定表驅(qū)動(dòng)測(cè)試實(shí)例
例子:打印機(jī)是否能打印出來(lái)正確的內(nèi)容,有多個(gè)因素影響,包括驅(qū)動(dòng)程序、紙張、墨粉等。(為了簡(jiǎn)化問(wèn)題,不考慮中途斷電、卡紙等因素的影響)
① 列出條件樁和動(dòng)作樁
條件樁:
驅(qū)動(dòng)程序是否正確
是否有紙張
是否有墨粉
動(dòng)作樁:
正確打印內(nèi)容
提示驅(qū)動(dòng)程序不對(duì)
提示沒(méi)有紙張
提示沒(méi)有墨粉
② 生成判定表
③ 優(yōu)化判定表
如果動(dòng)作結(jié)果一樣,對(duì)于某些因素取“1”或“0”沒(méi)有影響可以合并。
場(chǎng)景法
場(chǎng)景法的應(yīng)用是基于對(duì)軟件業(yè)務(wù)(需求)的深入理解(業(yè)務(wù)層面),基于等價(jià)類劃分(技術(shù)層面)。
場(chǎng)景法目的
測(cè)試軟件的主要業(yè)務(wù)流程,主要功能的正確性和主要的異常處理能力。
場(chǎng)景法核心
基本流(正確流)
模擬用戶正確的操作流程。
目的:驗(yàn)證軟件的業(yè)務(wù)流程和主要功能。
備選流(錯(cuò)誤流)
模擬用戶錯(cuò)誤的操作流程
目的:驗(yàn)證軟件的錯(cuò)誤處理能力。
場(chǎng)景法基本設(shè)計(jì)步驟
1、根據(jù)說(shuō)明,描述出程序的基本流及各項(xiàng)備選流。
2、根據(jù)基本流和各備選流生成不同的場(chǎng)景 。
3、對(duì)每一個(gè)場(chǎng)景生成相應(yīng)的測(cè)試用例。
場(chǎng)景法實(shí)例
使用場(chǎng)景法分析程序:ATM取款
1、根據(jù)需求,找到基本流和備選流(找出正確的操作流程和可能出錯(cuò)的環(huán)節(jié))
(1)基本流—正確取款
①插入銀行卡:客戶將銀行卡插入ATM機(jī)的讀卡器
②驗(yàn)證銀行卡:ATM機(jī)從銀行卡的詞條中讀取賬號(hào)代碼,并檢查它是否屬于可以接收的銀行卡
③輸入密碼:ATM機(jī)要求輸入密碼
④驗(yàn)證密碼:驗(yàn)證該密碼是否正確
⑤進(jìn)入ATM機(jī)主界面:ATM顯示在本機(jī)中可用的各種選項(xiàng)
⑥取款并選擇金額:客戶選擇“取款”,并選擇取款金額
⑦ATM機(jī)驗(yàn)證:ATM機(jī)進(jìn)行驗(yàn)證賬戶余額是否滿足以及總?cè)】罱痤~是否滿足要求,驗(yàn)證ATM機(jī)內(nèi)現(xiàn)金是否夠用
⑧更新賬戶余額、出鈔:驗(yàn)證成功,更新賬戶余額,輸出現(xiàn)金,提示用戶收取現(xiàn)金
⑨返回主界面
(2)備選流—出錯(cuò)環(huán)節(jié)
①銀行卡錯(cuò)誤
②密碼錯(cuò)誤
③密碼3次錯(cuò)誤
④卡內(nèi)余額不足
⑤超出當(dāng)日可取
⑥ATM余額不足
2、根據(jù)基本流和備選流列出場(chǎng)景
3、根據(jù)場(chǎng)景編寫用例
預(yù)設(shè)條件:
一張無(wú)效銀行卡
一張銀行卡:賬戶12345678901234密碼123456
賬戶余額4000 當(dāng)日限額20000
ATM機(jī)余額10000
賬戶余額40000 當(dāng)日限額20000
ATM機(jī)余額50000
賬戶余額40000當(dāng)日限額20000
ATM機(jī)余額10000
功能圖法(灰盒測(cè)試)
是黑盒、白盒混合用例的設(shè)計(jì)方法
功能圖法組成
狀態(tài)遷移圖
邏輯功能模型
功能圖基本設(shè)計(jì)步驟
1、明確狀態(tài)節(jié)點(diǎn)。 分析被測(cè)對(duì)象的測(cè)試特性及需求規(guī)格說(shuō)明書(shū),明確被測(cè)對(duì)象的狀態(tài)節(jié)點(diǎn)數(shù)量及相互遷移關(guān)系。
2、繪制狀態(tài)遷移圖。 利用圓圈表示狀態(tài)節(jié)點(diǎn),有向箭頭表示狀態(tài)間的遷移關(guān)系,根據(jù)需要在箭頭旁邊標(biāo)識(shí)遷移條件??梢岳美L圖軟件繪制狀態(tài)遷移圖。
3、繪制狀態(tài)遷移樹(shù)。 根據(jù)狀態(tài)遷移圖,按照廣度優(yōu)先和深度優(yōu)先搜索繪制狀態(tài)遷移樹(shù)。首先確定起始節(jié)點(diǎn)和終止節(jié)點(diǎn),在繪制時(shí),當(dāng)路徑上遇到終止節(jié)點(diǎn)時(shí),不再擴(kuò)展,遇到已經(jīng)出現(xiàn)的節(jié)點(diǎn)也停止擴(kuò)展。
4、抽取測(cè)試路徑設(shè)計(jì)用例。 根據(jù)繪制好的狀態(tài)遷移樹(shù),提取測(cè)試路徑,從左到右,橫向抽取,每條路徑構(gòu)成一條測(cè)試規(guī)則,然后再利用等價(jià)類和邊界值等測(cè)試用例設(shè)計(jì)方法設(shè)計(jì)具體的測(cè)試用例。
功能圖實(shí)例
實(shí)例:一個(gè)編輯文本的軟件中有可以改變字體顏色的功能,其中可選的顏色共有黑、紅、藍(lán)三種顏色。
1、明確狀態(tài)節(jié)點(diǎn)
該功能有三種狀態(tài):黑、紅、藍(lán)
2、繪制狀態(tài)遷移圖
3、繪制狀態(tài)遷移樹(shù)
假設(shè)起始狀態(tài)是紅色
4、抽取測(cè)試路徑設(shè)計(jì)用例
導(dǎo)出規(guī)則
編寫測(cè)試用例
錯(cuò)誤推測(cè)法
基于以往的經(jīng)驗(yàn)和直覺(jué),參照以往軟件系統(tǒng)出現(xiàn)的錯(cuò)誤,推測(cè)程序中所有可能存在的各種缺陷和錯(cuò)誤。
正交試驗(yàn)設(shè)計(jì)法
通過(guò)正交試驗(yàn)理論來(lái)指導(dǎo)測(cè)試用例的選取
正交試驗(yàn)設(shè)計(jì)法基本設(shè)計(jì)步驟
1.提取功能說(shuō)明:構(gòu)造因子–狀態(tài)表。
2.加權(quán)篩選,生成因素分析表。對(duì)因子與狀態(tài)的選擇可按其重要程度分別加權(quán).可根據(jù)各個(gè)因子及狀態(tài)的作用大小,出現(xiàn)頻率的大小以及測(cè)試的需要,確定權(quán)值的大小。
3.利用正交表構(gòu)造測(cè)試數(shù)據(jù)集。利用正交實(shí)驗(yàn)設(shè)計(jì)方法設(shè)計(jì)測(cè)試用例,比使用等價(jià)類劃分,邊界值分析,因果圖等方法有以下優(yōu)點(diǎn):節(jié)省測(cè)試工作工時(shí);可控制生成的測(cè)試用例數(shù)量;測(cè)試用例具有一定的覆蓋率。
正交試驗(yàn)設(shè)計(jì)法案例
例題:PPT打印需求
功能描述如下:
打印范圍:全部、當(dāng)前幻燈片、給定范圍
打印內(nèi)容:幻燈片、講義、備注頁(yè)、大綱視圖
打印顏色/灰度:顏色、灰度、黑白
打印效果:幻燈片加框和幻燈片不加框兩種方式
1.選擇正交表
4因數(shù)4水平
2.生成表
整理生成表
正交表的構(gòu)成
行數(shù)(Runs):正交表中的行的個(gè)數(shù),即試驗(yàn)的次數(shù),也是通過(guò)正交實(shí)驗(yàn)法設(shè)計(jì)的測(cè)試用例的個(gè)數(shù)。
因素?cái)?shù)(Factors):正交表中列的個(gè)數(shù),即要測(cè)試的功能點(diǎn)。
水平數(shù)(Levels):任何單個(gè)因素能夠取得的值的最大個(gè)數(shù),即要測(cè)試功能點(diǎn)的輸入值。
正交表的類別
可分為:單一水平正交表 和 混合水平正交表。
- 單一水平正交表:各列水平數(shù)相同的正交表稱為等水平正交表。比如:L9 (3* * 4) -->(附:括號(hào)里意思為3的4次方,下同。)、L2 7(3 * * 13) 稱為3水平正交表。 L4 (2* * 3)、L8 (2* * 7) 稱為2水平正交表。單一水平正交表可以用 Ln(m* * k) 表示,n是行數(shù),m是水平數(shù),k是因數(shù)。比如上邊需求示例:可以理解為4因數(shù)(字體,字符樣式,顏色,字號(hào)),3水平(意思是每個(gè)因數(shù)里都有三個(gè)選項(xiàng),比如:字體里有 仿宋、楷體、華文彩云 3個(gè)選擇)。一般情況下,我們可以直接確定m和k,n 可以根據(jù)水平數(shù)和因數(shù)計(jì)算行數(shù),公式為:n=k*(m-1)+1。
- 混合水平正交表:各列水平數(shù)不完全相同的正交表稱為混合水平正交表。比如:L8 (4 * * 1 2 * * 4)–>(附:括號(hào)里意思為4的1次方 和 2的4次方。意思為表中共有8行,有一列的水平為4,有4列的水平為2。)。混合水平正交表可以用 Ln(m1 * * k1 m2 * * k2) 表示。一般情況下,我們可以直接確定m和k,n 可以根據(jù)水平數(shù)和因數(shù)計(jì)算行數(shù),公式為:n=k1*(m1-1)+k2*(m2-1)+k3*(m3-1)…+ kx*(mx-1) + 1。
如何選取合適的正交表
假如我們確定有3因數(shù)2水平,計(jì)算n=3*(2-1)+1=4,應(yīng)該表示為 L4(2 * * 3),那么我們看看有木有和這個(gè)正好相等的正交表,如果有,那么把變量值復(fù)制進(jìn)去這個(gè)表中,如果沒(méi)有,按照如下方法選取:
總結(jié)
以上是生活随笔為你收集整理的【软件测试学习笔记】黑盒测试方法及案例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: idea中如何将一个普通项目转换为mav
- 下一篇: 《达拉崩吧》扣哒世界版——在扣哒世界中学