基於需求設計測試用例
- 驗證需求,正確性和合理性
- 細分需求,多細致的需求就設計多細致的測試用例;從細分的需求里,根據每一個功能點設計完整的測試用例
案例:
用戶的需求:購買3000塊以內的華為手機
如何測試買來的手機符合用戶需求?價格,品牌,真偽,手機基本功能的驗證
1.等價類
當輸入很多的情況下,沒辦法窮舉,把輸入(特殊情況下考慮輸出)划分成若干個等價類,從每一個等價類中選一個有代表的測試用例,如果這個測試用例通過,則表示這個等價類測試通過。
有效等價類:
無效等價類:
2.邊界值
3.因果圖法
當我們的輸入有多種,不同的輸入組合對應不同的輸出,可以使用因果圖法;
因果圖:恆等,與,或,非
如何根據因果圖設計測試用例
- 分析需求,找出所有的輸入和輸出
- 找出所有輸入和輸出之間的關系
- 畫因果圖
- 根據因果圖畫判定表
- 根據判定表設計測試用例
實例:淘寶618活動,訂單已提交,訂單合計金額大於300元或有紅包,則進行優惠
(1)輸入:訂單已提交/訂單不提交,合計金額大於300元/小於300,有紅包/沒紅包
輸出:優惠/不優惠
(2)找關系
訂單已提交,金額大於300,有紅包,優惠
訂單已提交,金額小於300,有紅包,優惠
訂單已提交,金額大於300,沒紅包,優惠
訂單已提交,金額小於300,沒紅包,不優惠
訂單未提交,金額大於300,有紅包,不優惠
訂單未提交,金額小於300,有紅包,不優惠
訂單未提交,金額大於300,沒紅包,不優惠
訂單未提交,金額小於300,沒紅包,不優惠
(3) 畫因果圖
(4) 畫判定表,寫測試用例
4.正交法
(可以使用微軟PICT工具生成)
嚴謹多因素多水平的一種實驗方法,通過正交性找出實驗中各因素的最優的水平組合,通過分析這些最優組合的試驗結果,來分析整個試驗的結果和情況。
因素:待考察的變量
水平:每個待考察變量的值
因素數:待考察變量的個數,即正交表的列數C
水平數:考察的每個變量的最多的取值個數T
正交表的行數:N=(水平數-1)*因素數+1
注意:每個因素的水平數必須相等
當水平數不相等的時候正交表的行數怎么改?(使用工具,直接查正交表)
正交表的性質:
(1)每一列中不同的數據出現的次數一樣多
(2)任意兩列各數據組合出現的次數一樣多
正交法設計測試用例的步驟
- 找出因素和水平
- 確認因素數和水平數
- 確定這個正交表的行,列
- 根據正交表的性質去填充正交表的數據
- 正交表的每一行就是一個測試用例,根據正交表的每一行寫測試用例
- 補充你認為可能但是正交表上沒有的測試用例
事例:平台郵箱注冊
必填項:賬戶 郵箱 密碼 確認密碼 驗證碼
輸入 不輸入
- 因素:賬戶 郵箱 密碼 確認密碼 驗證碼
- 水平:輸入 不輸入
- 因素數/列數:5
- 水平數:2
- 行數:(2-1)*5+1=6
5.場景設計法
場景點
把一個一個孤立的功能點組合(可能有一個邏輯)起來,形成一個一個的場景
場景:ATM取款流程:插卡——輸密碼——輸入取款金額——取錢——退卡
等等很多異常流程
6.錯誤猜測法
根據測試人員的知識,經驗,猜測軟件的哪一個模塊或者哪一個功能點會出現問題,專門針對這么功能點進行測試用例的設計
適用於補充的測試用例方法,一開始不能用
事例:發紅包 群發 100元 30個領取 最佳手氣
怎么去測試?需要30個wechatID(用接口之間生成,不用申請30個微信號)
接口測試:postman
發紅包也屬於一個接口:wechatID 群ID 錢數 發紅包的個數
搶紅包也屬於一個接口:輸入:不同的wechatID 群ID 錢數 紅包ID
輸出:金額
先調發紅包的接口,發紅包,會有一個輸出紅包ID,待用搶紅包的接口,得出金額累加起來。