日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【软件测试学习笔记】黑盒测试方法及案例

發(fā)布時(shí)間:2023/12/10 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【软件测试学习笔记】黑盒测试方法及案例 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 一、黑盒測(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)有,按照如下方法選取:

  • 水平數(shù)相等,因數(shù)相等時(shí),取行數(shù)剛好比自定義正交表略大的。
  • 水平數(shù)相等,因數(shù)不相等時(shí),取行數(shù)剛好比自定義正交表略大的,因數(shù)剛好比自定義正交表略大的。比如:自定義為: L7(3 * * 3), 我們選取為 L9(3 * * 4), 套用之后,最后一列因素去掉。
  • 水平數(shù)不相等時(shí),即:混合正交表。
  • 總結(jié)

    以上是生活随笔為你收集整理的【软件测试学习笔记】黑盒测试方法及案例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。