軟件測試——軟件測試用例的設計方法

軟件測試的生命週期:
需求分析→測試計劃→ 測試設計、測試開發→ 測試執行→ 測試評估

基於需求的測試方法

基於需求的測試方法重點關注以下兩大關鍵問題。
(1)驗證需求是否正確、完整、無二義性,並且邏輯一致。
(2)要從==「黑盒」==的角度,設計出充分並且必要的測試集,以保證設計和代碼都能完全符合需求。

黑盒測試:
不關心內部的過程,只關心輸入輸出

等價類

依據需求將輸入劃分爲若干個等價類,從等價類中選出一個測試用例,如果這個測試用例測試通過,則認爲所代表的等價類測試通過,這樣就可以用較少的測試用例達到儘量多的功能覆蓋,解決了不能 窮舉測試的問題。

有效等價類:
是合理的、有意義的輸入數據構成的集合

無效等價類:
根據需求說明書,不滿足需求的集合

舉個例子:
輸入大於6位的密碼:
有效等價類:
123456
234153

無效等價類:
1234
2344

邊界值

邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。

舉個例子:

  1. 運動員的參賽項目爲1-3項,取邊界值爲:0項、1項、3項、4項
  2. 查詢面頁面有999行,每50行爲一頁,取邊界值爲:輸出0行、1行、50行、51行、999行
  3. 以註冊郵箱的軟件需求爲例子,用戶名要求長度爲6-15位,邊界值上點爲:5,6,15,16 全了沒有

因果圖

  • 恆等
    在這裏插入圖片描述

  • 在這裏插入圖片描述

  • 在這裏插入圖片描述

  • 在這裏插入圖片描述
    因果圖法設計測試用例的步驟如下。

(1)分析所有可能的輸入和可能的輸出。
(2)找出輸入與輸出之間的對應關係。
(3)畫出因果圖。
(4)把因果圖轉換成判定表。
(5)把判定表對應到每一個測試用例。

正交排列

因素(Factor):
在一項試驗中,凡欲考察的變量稱爲因素(變量)
水平(位級)(Level):
在試驗範圍內,因素被考察的值稱爲水平(變量的取值)

正交表的構成:
行數(Runs):
正交表中的行的個數,即試驗的次數,用N代表。
因素數(Factors):
正交表中列的個數,用C代表。
水平數(Levels):
任何單個因素能夠取得的值的最大個數,用T代表。

正交表的表示形式:

L=行數(水平數*因素數) L=N(TC)

正交表的行數:

N=(水平數 - 1)*因素數+1

正交表的兩條性質:
每一列中各數字出現的次數都一樣多。
任何兩列所構成的各有序數對出現的次數都一樣多

每一行代表一個測試用例

正交法設計測試用例的步驟:

1、有哪些因素(變量)
2、每個因素有哪幾個水平(變量的取值) 3、選擇一個合適的正交表
4、把變量的值映射到表中 5、把每一行的各因素水平的組合作爲一個測試用例 6、加上你認爲可疑且沒有在表中出現的用例組合

場景設計法

舉個例子:
ATM機取款流程:插卡—輸入密碼—輸入取的金額—取錢—退卡
基本流程:
插卡—輸入正確密碼—輸入的金額<銀行賬戶餘額—取錢成功—退卡
備用流程:
插卡失敗/金額大於5w…

錯誤猜測法

錯誤猜測法是經驗豐富的測試人員喜歡使用的一種測試方法。

基於經驗和直覺,找出程序中你認爲可能出現的錯誤,有針對性地設計測試用例。

經驗可能來自於在對某項業務的測試較多,也可以來自於售後用戶的反饋意見,或者從故障管理庫中整理bug。梳理出產品以往哪些地方容易出現問題,問題越多的地方,潛在的bug也就越多。