標籤:使用 sp strong on 資料 問題 bs ad 時間
1.常見黑箱測試用例設計方法
等價類別劃分法、邊界值分析法、因果圖法、狀態遷移法、判定表法、流程分析法、正交實驗法、錯誤猜測法、輸入/輸出域測試法、異常分析法、
2.等價類別劃分法
概念:某個輸入欄位的集合,在這個集合中每個輸入條件都是等效的。
原則:
A.規定了取值範圍或值的個數,則可確定一個有效等價類別和兩個無效等價類別
B.規定了輸入值的集合,或是規定了必須如何的條件,則可確定一個有效等價類別和一個無效等價類別
C.布爾量,則可確定一個有效等價類別和一個無效等價類別
D.輸入資料的一組值假定N個,並且程式要對每一個輸入值分別處理,則可確定N個有效等價類別和一個無效等價類別
E.輸入資料必須遵守什麼的情況下,則可確定一個有效等價類別和若干個無效等價類別
F.已劃好了等價類別,各元素在程式處理中的方式不同,則應該進一步的劃分
步驟:
- 劃分等價類別
- 為有效等價類別設計測試案例
- 為每一個無效等價類別至少設計一個測試案例
3.邊界值分析法
邊界值使用條件:
- 輸入條件明確了一個值的取值範圍,或是規定了值的個數
- 輸入條件明確了一個有序集合
邊值點定義:上點、離點、內點
原則:
- 輸出條件規定了取值範圍或個數,則應該選邊界內或邊界附近的值
- 輸出條件規定了值的個數,則最大值、最小值、最大值+1、最小值-1、
- 輸出條件是一個有序的集合,則集合的第一個和最後一個
- 若使用了內部資料,則應選擇這個內部資料的邊界值
步驟:
- 分析輸入參數的類型(從SRS中)
- 等價類別劃分(可選)
- 確定邊界
- 相關性分析(可選)
- 形成測試項
4.等價類別+邊界值
適用範圍:輸入與輸入之間、輸出與輸出之間各項無牽制關係的情況。
例如:使用者註冊
適用的測試類型:功能測試、效能測試、GUI測試、配置測試等
5.判定表法
概念:是分析和表達多邏輯條件下執行不同操作的情況的工具。
應用:
- 基於判定表的測試是最為嚴格、最具有邏輯性的
- 針對不同邏輯條件的組合值
組成:條件樁、條件項、動作樁、動作項
步驟:
- 確定規則的個數
- 列出所有的條件項樁和動作樁
- 填入條件項
- 填入動作項,得到初始決策表
- 簡化決策表,合并相似規則(可選)
- 將每條規則轉化為用例
優點:能把複雜的問題按各種可能的情況一一列舉出不,簡明而易於理解,可避免遺漏。
缺點:合并存在漏測。
適用範圍:
- 規格說明以判定表的形式給出,或很容易轉換成判定表
- 條件、規則的排列順序不影響執行結果
- 每條規則都相對獨立
- 一條規則可以轉化成一條或多條用例,規則的用例數取決於轉化的條件
6.因果圖法
是把規格轉化為判定表的系統化方法。它適合檢查輸入條件的各種組合情況。
步驟: 1.把大的系統規格劃分解成可以測試的規格片段(可選)
2.找出哪些是原因,哪些是結果
3.畫出因果圖
4.將因果圖轉換為判定表
5.簡化判定表(可選)
6.產生測試案例
優點:
- 等價類別中多個輸入條件組合起來出錯的情況被忽略
- 設計多個輸入條件組合用例
- 能指出程式規格說明描述中存在什麼問題
缺點:
- 輸入條件與輸出結果的因果關係,有時難以從SRS中得到
- 即使得到了因果關係,也會因為因果關係複雜導致用例數目及其龐大
條件與結果:恒等、非、或、與
- 恒等關係:當輸入項發生,會產生對應輸出,當輸入項不發生,不會產生對應輸出
- 非關係:與恒等關係相反(誤區:如果前者不發生,則發生後者,前者發生,不發生後者)
- 或關係:多個輸入條件中,只要有一個發生,則會產生對應輸出
- 與關係:多個輸入條件中,只有所有輸入項發生時,才會產生對應輸出
條件與條件:異、唯一、要求、或
- 異:最多一個輸入條件發生
- 或:至少一個輸入條件發生
- 唯一:所有輸入中有且僅有一個發生
要求:只要其中一個輸入發生,其他輸入也會發生(誤區:為什麼儲值和儲值成功不是這個,因為他們不是同屬輸入條件,而是由先後條件,沒什麼關係)
7.流程分析法
這是從白盒測試中路徑覆蓋分析法中推廣到黑箱測試中來的測試分析方法。
步驟:
- 畫出商務程序圖
- 定義狀態節點和條件分支
- 確定測試路徑
- 構造測試案例
總結:重點在測試流程,流程測試沒有問題並不能說明系統功能就沒有問題
8.狀態遷移圖法
- 狀態機器的測試主要關注在測試狀態轉移的正確性上面。
- 用這種方法可以設計逆向的測試案例,如狀態和事件的非法組合。
概念:狀態遷移法實際上是測試了各種狀態的轉換,這些狀態轉換的測試在實際工作中是很容易遺漏的,只要將這些狀態的轉換測試到,是不是採用狀態遷移法並不重要,因為狀態遷移圖只不過是給出一種將多個狀態的轉換串起來進行測試的思路
步驟:
1.畫出狀態遷移圖
2.列出狀態-事件表
3.畫出狀態轉換樹(列出每個狀態,畫出所有從這個狀態出發的狀態)
4.從狀態轉換樹推匯出測試路徑
5.根據測試路徑編寫合法測試案例
6.編寫非法測試案例
9.正交實驗法
概念:是從大量和實驗點中挑出適量的、有代表性的點,應用迦羅瓦理論匯出的“正交表”,合理的安排實驗的一種科學的實驗設計方法
相關概念:指標、因子、因子的狀態
步驟:
- 構造因子狀態表
- 選擇正交表(當因子狀態數沒有時,選擇因子+1,去掉多的列)
- 對號入座
- 合并
- 映射
- 寫用例
總結:不考慮實際取值的意義,故刪除無效的組合,補充漏掉的常見組合。
10.輸入欄位測試法
只需要在使用完等價類別、邊界值的基礎上再考慮特殊值和長時間輸入
11.輸出域覆蓋法
期望達到輸出或等價類別覆蓋
12.異常分析法
容錯能力、故障恢複能力
13.錯誤猜測法
根據經驗猜想。只能作為測試設計的補充,而不能單獨用來設計測試案例。
14.用例設計方法總結
方法名稱 |
特點 |
不足 |
測試類型 |
系統類別型 |
備忘 |
等價類別,邊界值 |
分類、覆蓋 |
不考慮組合 |
所有類型 |
所有系統 |
需要關注資料背後的資訊 |
判定表因果圖 |
全排列組合、人工化簡 |
比較繁瑣 |
功能測試 |
控制系統、遊戲 |
用於測試比較複雜的處理過程 |
正交實驗 |
兩兩組合、自動選取 |
不關心組合的實際意義 |
功能測試、配置測試 |
所有系統 |
關鍵是正交表的選取 |
狀態遷移 |
測試修改 |
|
功能測試 |
手機、MP3 |
編輯修改功能也可採用 |
流程分析 |
測試流程 |
|
功能測試、安裝測試 |
金融系統、物流系統、電子 商務系統 |
商務程序複雜的系統適用,只檢查流程,不保證單功能正確 |
軟體測試(六):黑箱測試