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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

文章目錄

  • 一、黑盒測試基本概念
  • 二、黑盒測試的主要目的
  • 三、優缺點
    • 優點
    • 缺點
  • 四、黑盒測試的策略
  • 五、黑盒測試方法
    • 等價類劃分
      • 分類
      • 劃分方法
      • 原則
      • 等價類劃分案例
    • 邊界值分析法
      • 原則
      • 邊界值分析法案例
    • 因果圖法
      • 四種因果關系
      • 五種約束
      • 因果圖法設計測試用例的步驟
      • 因果圖法案例
    • 判定表驅動測試
      • 判定表的組成
      • 判定表的建立步驟
      • 判定表驅動測試實例
    • 場景法
      • 場景法目的
      • 場景法核心
      • 場景法基本設計步驟
      • 場景法實例
    • 功能圖法(灰盒測試)
      • 功能圖法組成
      • 功能圖基本設計步驟
      • 功能圖實例
    • 錯誤推測法
    • 正交試驗設計法
      • 正交試驗設計法基本設計步驟
      • 正交試驗設計法案例
      • 正交表的構成
      • 正交表的類別
      • 如何選取合適的正交表


一、黑盒測試基本概念

1.數據驅動測試,基于規格說明的測試。
2.從用戶觀點和需求出發進行測試。
3.不考慮程序內部邏輯結構和內部特性。

二、黑盒測試的主要目的

1.檢查是否有不確定或者遺漏的功能。
2.界面是否有錯誤。
3.在接口上,輸入能否正確的接受,能否輸出正確的結果。
4.是否有數據結構錯誤。
5.性能上是否滿足要求。
6.初始化或終止性錯誤。
7.數據庫的訪進訪出是否正常。

三、優缺點

優點

1.不用了解程序內部的代碼以及實現。
2.與軟件的內部實現無關。
3.從用戶角度出發,很容易知道用戶會用到哪些功能和問題。
4.基于軟件開發文檔。

缺點

1.代碼覆蓋率低。
2.自動化測試復用性低。

四、黑盒測試的策略

1.在任何情況下都必須采用邊界值分析法,這種方法設計出來的測試用例對發現程序的錯誤非常有用的。
2.必要時采用等價類劃分法補充測試用例。
3.對照程序邏輯,檢查已經設計的測試用例的邏輯覆蓋程度,如果沒有達到要求的覆蓋標準,則應當補充更多的測試用例。
4.如果程序功能說明中含有輸入條件的組合情況,則應該一開始就選擇因果圖。
5.對于業務流程清晰的系統,可以利用場景法貫穿整個測試案例過程,在案例中綜合試驗各種測試方法。

五、黑盒測試方法

等價類劃分

分類

  • 有效等價類:對程序規格說明來說,是合理的、有意義的輸入數據構成的集合;檢驗程序是否實現了規格說明預先規定的功能和性能。
  • 無效等價類:對軟件規格說明來說,沒有意義、不合理的輸入數據集合;檢驗程序功能和性能的實現是否有不合規格說明要求的地方。

劃分方法

  • 按區間劃分。
  • 按數值劃分。
  • 按數值集合劃分。
  • 按限制條件或規劃劃分。
  • 按處理方式劃分。

原則

  • 輸入條件規定的取值范圍或值的個數,一個有效等價類,兩個無效等價類。
  • 一組數有N個值,并且程序都要進行處理,N個有效等價類,1個無效等價類。
  • 規定輸入數據必須遵守規則的情況下,一個有效等價類,無數個無效等價類。
  • 輸入條件規定了輸入值和集合或規定了“必須如何”,一個有效等價類,一個無效等價類。
  • 確定已劃分的等價類中各元素在程序處理中的方式不同,等價類進一步劃分為更小的等價類。

等價類劃分案例

輸入三個整數 a 、 b 、 c 分別作為三邊的邊長構成三角形。通過程序判定所構成的三角形的類型,當此三角形為一般三角形、等腰三角形及等邊三角形時,分別作計算 …
① 輸入條件的要求:
(1)整數、(2)3個數、(3)非零、(4)正數、(5)兩邊之和大于第三邊、(6)等腰、(7)等邊。
② 假設1、2、3、4都滿足
5不滿足 非三角形
5滿足,三邊不相等 一般三角形
5滿足,兩邊相等,等腰三角形
5滿足,三邊相等,等邊三角形

邊界值分析法

是對于輸入或輸出的邊界值進行測試。

原則

  • 如果輸入條件規定了值的個數,則用最大個數、最小個數、比最小個數小1的數,比最大個數大1的數為測試數據。
  • 如果輸入條件規定了值的范圍,則應取剛達到這個范圍邊界的值,以及剛剛超過這個范圍邊界的值作為測試輸入數據。
  • 如果程序中使用了一個內部數據結構,則應當選擇這個內部數據結構的邊界上的值作為測試用例。
  • 如果程序的規格說明給出的輸入和輸出域是有序集合,則應選取集合的第一個元素和最后一個元素作為測試用例。
  • 分析程序規格說明,找出其他可能的邊界條件。

邊界值分析法案例

注冊功能的手機號注冊應該是11位數字。
使用邊界值設計測試用例
輸入10位數字
輸入11位數字
輸入12位數字

因果圖法

表示輸入條件和輸出動作之間的因果關系
描述多種輸入條件組合
與判定表結合使用,最終生成的是判斷表

四種因果關系

  • 恒等:若c1是1,則e1也是1;否則e1為0。
  • 非:若c1是1,則e1是0;否則e1是1。
  • 或:若c1或c2或c3是1,則e1是1;否則e1為0。“或”可有任意個輸入。
  • 與:若c1和c2都是1,則e1為1;否則e1為0。“與”也可有任意個輸入。

五種約束

輸入條件的約束

  • E約束(異):a和b兩個輸入條件中至多有一個可能為1,即a和b不能同時為1。
  • I約束(或):a、b和c三個輸入條件中至少有一個必須是1,即 a、b 和c不能同時為0。
  • O約束(唯一):a和b兩個輸入條件必須有一個,且僅有1個為1。
  • R約束(要求):a,b兩個輸入條件,a是1時,b必須是1,即不可能a是1時b是0。

輸出條件的約束

  • M約束(強制):若結果a是1,則結果b強制為0。

因果圖法設計測試用例的步驟

1.分析軟件規格說明描述中, 明確哪些是原因(即輸入條件或輸入條件的等價類)和哪些是結果(即輸出條件),并給每個原因和結果賦予一個標識符。
2.分析軟件規格說明描述中的語義,找出原因與結果之間,,原因與原因之間對應的關系,根據這些關系,畫出因果圖。
3.由于語法或環境限制, 有些原因與原因之間,原因與結果之間的組合情況不可能出現,為表明這些特殊情況, 在因果圖上用一些記號表明約束或限制條件。
4.把因果圖轉換為判定表。
5.把判定表的每一列拿出來作為測試依據,完成測試用例設計。

因果圖法案例

第一列字符必須是A或B,第二列字符必須是一個數字,在此情況下進行文件的修改,但如果第一列字符不正確,則給出信息L;如果第二列字符不是數字,則給出信息M。
① 分析原因和結果
原因:
1 第一列字符是A
2 第一列字符是B
3 第二列字符是一數字。
結果:
21 修改文件
22 給出信息L
23 給出信息M
② 畫出因果圖

③ 根據因果圖建立判定表

判定表驅動測試

判定表的組成

  • 條件樁:列出了問題的所有條件,列出條件的次序沒有約束。
  • 動作樁:列出問題規定可能采取的操作,這些操作的排列順序無關緊要。
  • 條件項:列出針對它左列條件的取值,在所有可能情況下的真假值。
  • 動作項:列出在條件項的各種取值情況下應該采取的動作。

判定表的建立步驟

1.確定規則的個數。假如有n個條件,每個條件有兩個取值(0,1),故2的n次方種規則。
2.列出所有的條件樁和動作樁。
3.填入條件項的取值。
4.填入動作項的取值,得到初始判定表。
5.簡化,合并相似規則(相同動作)。

判定表驅動測試實例

例子:打印機是否能打印出來正確的內容,有多個因素影響,包括驅動程序、紙張、墨粉等。(為了簡化問題,不考慮中途斷電、卡紙等因素的影響)
① 列出條件樁和動作樁
條件樁:
驅動程序是否正確
是否有紙張
是否有墨粉
動作樁:
正確打印內容
提示驅動程序不對
提示沒有紙張
提示沒有墨粉

② 生成判定表

③ 優化判定表
如果動作結果一樣,對于某些因素取“1”或“0”沒有影響可以合并。

場景法

場景法的應用是基于對軟件業務(需求)的深入理解(業務層面),基于等價類劃分(技術層面)。

場景法目的

測試軟件的主要業務流程,主要功能的正確性和主要的異常處理能力。

場景法核心

基本流(正確流)
模擬用戶正確的操作流程。
目的:驗證軟件的業務流程和主要功能。
備選流(錯誤流)
模擬用戶錯誤的操作流程
目的:驗證軟件的錯誤處理能力。

場景法基本設計步驟

1、根據說明,描述出程序的基本流及各項備選流。
2、根據基本流和各備選流生成不同的場景 。
3、對每一個場景生成相應的測試用例。

場景法實例

使用場景法分析程序:ATM取款

1、根據需求,找到基本流和備選流(找出正確的操作流程和可能出錯的環節)
(1)基本流—正確取款
①插入銀行卡:客戶將銀行卡插入ATM機的讀卡器
②驗證銀行卡:ATM機從銀行卡的詞條中讀取賬號代碼,并檢查它是否屬于可以接收的銀行卡
③輸入密碼:ATM機要求輸入密碼
④驗證密碼:驗證該密碼是否正確
⑤進入ATM機主界面:ATM顯示在本機中可用的各種選項
⑥取款并選擇金額:客戶選擇“取款”,并選擇取款金額
⑦ATM機驗證:ATM機進行驗證賬戶余額是否滿足以及總取款金額是否滿足要求,驗證ATM機內現金是否夠用
⑧更新賬戶余額、出鈔:驗證成功,更新賬戶余額,輸出現金,提示用戶收取現金
⑨返回主界面
(2)備選流—出錯環節
①銀行卡錯誤
②密碼錯誤
③密碼3次錯誤
④卡內余額不足
⑤超出當日可取
⑥ATM余額不足
2、根據基本流和備選流列出場景


3、根據場景編寫用例
預設條件:
一張無效銀行卡
一張銀行卡:賬戶12345678901234密碼123456
賬戶余額4000 當日限額20000
ATM機余額10000

賬戶余額40000 當日限額20000
ATM機余額50000

賬戶余額40000當日限額20000
ATM機余額10000

功能圖法(灰盒測試)

是黑盒、白盒混合用例的設計方法

功能圖法組成

狀態遷移圖
邏輯功能模型

功能圖基本設計步驟

1、明確狀態節點。 分析被測對象的測試特性及需求規格說明書,明確被測對象的狀態節點數量及相互遷移關系。
2、繪制狀態遷移圖。 利用圓圈表示狀態節點,有向箭頭表示狀態間的遷移關系,根據需要在箭頭旁邊標識遷移條件。可以利用繪圖軟件繪制狀態遷移圖。
3、繪制狀態遷移樹。 根據狀態遷移圖,按照廣度優先和深度優先搜索繪制狀態遷移樹。首先確定起始節點和終止節點,在繪制時,當路徑上遇到終止節點時,不再擴展,遇到已經出現的節點也停止擴展。
4、抽取測試路徑設計用例。 根據繪制好的狀態遷移樹,提取測試路徑,從左到右,橫向抽取,每條路徑構成一條測試規則,然后再利用等價類和邊界值等測試用例設計方法設計具體的測試用例。

功能圖實例

實例:一個編輯文本的軟件中有可以改變字體顏色的功能,其中可選的顏色共有黑、紅、藍三種顏色。
1、明確狀態節點
該功能有三種狀態:黑、紅、藍
2、繪制狀態遷移圖

3、繪制狀態遷移樹
假設起始狀態是紅色

4、抽取測試路徑設計用例
導出規則

編寫測試用例

錯誤推測法

基于以往的經驗和直覺,參照以往軟件系統出現的錯誤,推測程序中所有可能存在的各種缺陷和錯誤。

正交試驗設計法

通過正交試驗理論來指導測試用例的選取

正交試驗設計法基本設計步驟

1.提取功能說明:構造因子–狀態表。
2.加權篩選,生成因素分析表。對因子與狀態的選擇可按其重要程度分別加權.可根據各個因子及狀態的作用大小,出現頻率的大小以及測試的需要,確定權值的大小。
3.利用正交表構造測試數據集。利用正交實驗設計方法設計測試用例,比使用等價類劃分,邊界值分析,因果圖等方法有以下優點:節省測試工作工時;可控制生成的測試用例數量;測試用例具有一定的覆蓋率。

正交試驗設計法案例

例題:PPT打印需求

功能描述如下:
打印范圍:全部、當前幻燈片、給定范圍
打印內容:幻燈片、講義、備注頁、大綱視圖
打印顏色/灰度:顏色、灰度、黑白
打印效果:幻燈片加框和幻燈片不加框兩種方式

1.選擇正交表
4因數4水平


2.生成表

整理生成表

正交表的構成

行數(Runs):正交表中的行的個數,即試驗的次數,也是通過正交實驗法設計的測試用例的個數。
因素數(Factors):正交表中列的個數,即要測試的功能點。
水平數(Levels):任何單個因素能夠取得的值的最大個數,即要測試功能點的輸入值。

正交表的類別

可分為:單一水平正交表 和 混合水平正交表。

  • 單一水平正交表:各列水平數相同的正交表稱為等水平正交表。比如:L9 (3* * 4) -->(附:括號里意思為3的4次方,下同。)、L2 7(3 * * 13) 稱為3水平正交表。 L4 (2* * 3)、L8 (2* * 7) 稱為2水平正交表。單一水平正交表可以用 Ln(m* * k) 表示,n是行數,m是水平數,k是因數。比如上邊需求示例:可以理解為4因數(字體,字符樣式,顏色,字號),3水平(意思是每個因數里都有三個選項,比如:字體里有 仿宋、楷體、華文彩云 3個選擇)。一般情況下,我們可以直接確定m和k,n 可以根據水平數和因數計算行數,公式為:n=k*(m-1)+1。
  • 混合水平正交表:各列水平數不完全相同的正交表稱為混合水平正交表。比如:L8 (4 * * 1 2 * * 4)–>(附:括號里意思為4的1次方 和 2的4次方。意思為表中共有8行,有一列的水平為4,有4列的水平為2。)。混合水平正交表可以用 Ln(m1 * * k1 m2 * * k2) 表示。一般情況下,我們可以直接確定m和k,n 可以根據水平數和因數計算行數,公式為:n=k1*(m1-1)+k2*(m2-1)+k3*(m3-1)…+ kx*(mx-1) + 1。

如何選取合適的正交表

假如我們確定有3因數2水平,計算n=3*(2-1)+1=4,應該表示為 L4(2 * * 3),那么我們看看有木有和這個正好相等的正交表,如果有,那么把變量值復制進去這個表中,如果沒有,按照如下方法選取:

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

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

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。