測試用例概念:
定義:測試用例是為了特殊目的,而主要記錄了測試步驟、方法、數據、預期結果的文檔,由測試人員在執行測試之前編寫。
寫用例主要包括:(編號、測試目的、用例描述(步驟、數據)、預期結果)
測試中你可能會用到的問題?
- 不知道是否全面測試了所有問題?
-
- 所有的功能是否全測試到了?
- 每個功能測試的是否全面?
-
- 存在大量冗余測試,影響測試效率。
-
- 有些功能點可能測試多次?
-
- 對新版本的重復測試很難實施。
-
- 每個版本測試的步驟,數據都不一樣,隨意性很強。
-
- 測試的覆蓋率無法衡量。
-
- 最后測試的結果好與壞無法准確的衡量?
-
寫測試用例參考什么?
1、文檔:需求文檔,開發文檔,用戶手冊。
2、參考開發出來的軟件或者軟件的早期版本。
3、討論編寫。
編寫測試用例的方法:
1、等價類划分法
2、邊界值法
3、因果圖法
4、判定表
5、正交排列法
6、場景法
7、測試大綱法
8、狀態轉換圖
一、等價類划分
等價類划分屬於典型的功能測試方法,根據程序對數據的要求,把程序的輸入域划分成若干個部分,區分出哪些數據是有效的,哪些數據是無效的。
再從每個部分中選取少數代表性數據作為測試用例,這樣,每一類中的代表性數據在測試中的作用都等價於這類中的其他值。
1、應用場合
只要有數據輸入的地方,一般就可以使用。
把無限的數據划分范圍,從每個范圍中只選取少數代表性數據進行測試,進而把窮舉測試變為有限測試。
說明:窮舉測試理論上講是最完備的測試,但是不現實,測試用例的方法就是使用最少的數據(成本)達到最大的測試覆蓋效果。
2、核心概念
(1)有效等價類
對程序規格說明有效的、合理的、有意義的輸入集合程序接收到有效等價類數據,應該正確計算、執行-----合法數據的集合。
(2)無效等價類
對程序的規格說明無效的、不合理的、無意義的輸入集合(例:錯誤用戶名或密碼)
程序接收到無效等價類數據,應該給出錯誤提示,或者根本不允許輸入 -------非法數據的集合
一個好的軟件的基本標准:
1、正確的數據可以正確執行
2、異常處理能力:對於所有有意義無意義的非法數據能夠處理,保證程序不受破壞(專業將:就是程序的健壯性)
3、使用的步驟:
首先:明確測試的對象。(初學者每次可以先測試一個控件,在測試該控件的時候,保證其他填寫項別出錯。)
確測試對象:第一個數文本框,說明:在測試第一個數的時候,保證第二個數正確
(1)根據需求,划分有效等價類
例:
有效等價類 | 無效等價類 |
—99~99范圍的整數是有效的 | 非整數無效 |
<-99的數 | |
>99的數 |
(2)細化等價類
往往依據的不是字面的需求,而是基於對數據存儲方式的深入理解以及數據格式的理解
① 正負數補碼計算不一樣,有必要把正數、負數單獨測試
-99—0整數
0—99整數
②非整數可以進一步細分
小數
字母
漢字
符號
(3)建立等價類表(熟練后直接做該步)
有效等價類 |
|
編號 |
數據要求 |
1 |
-99—0整數 |
2 |
0—99整數 |
無效等價類 |
|
編號 |
數據要求 |
1 |
<-99 |
2 |
>99 |
3 |
小數 |
4 |
字母 |
5 |
漢字 |
6 |
符號 |
7 |
為空 |
說明:進行需求(數據)分析,是最核心的步驟,決定測試的整體質量
(4)編寫用例
從每個等價類中,至少選擇一個數據進行測試
說明:對於無效等價類,開始的時候最好每次只測試一個,最后再適當考慮無效等價類的組合
總結:
一個好的軟件一般要滿足兩個標准:
(1)完成指定的功能——使用有效等價類
(2)有很強的容錯能力(健壯性)——使用無效等價類
二、邊界值方法
1、應用場合
只要有數據輸入的地方,一般就可以使用邊界值一般情況下等價類和邊界值共同使用,形成一套較為完善的方案。
2、如何使用
找到有效數據和無效數據的分界點(最小值、最大值),對該分界點及其兩邊的點,單獨進行測試
3、說明
邊界值的數據,本質上屬於等價類的范疇,但是需要單獨進行測試,這種冗余在工程中是必要的。
三、用例的優化
(在測試質量相同的情況下,盡量減少用例數量)
1、不同控件的有效等價類或有效邊界值,可以盡可能多的在一條用例中測試——不同控件的有效等價類可以組合——減少用例數量。
(工作當中時間緊迫:先測邊界值<在測核心有效數據<比較重要的異常處理)
2、在一條用例中,開始的時候,只測試一個控件的一個無效等價類或無效邊界值——無效等價類開始的時候不能組合——避免屏蔽現象發生
(前面的錯誤提示出現后,后面控件的錯誤提示就不出現了)
最后再適當考慮不同控件和同一控件的多個無效等價類的組合——驗證一下極端情況系統不崩潰!
3、無效等價類的整點考慮
1、必填項---測試為空
2、不允許重復---測試重復
3、數據要求范圍——超出范圍 如:年齡:18—60,測試<18,>60
4、數據有字符個數要求——超出范圍 如:姓名:1-20字符,測試<1字符,>20字符
5、從數據允許的樣式考慮——小數、字母、符號、漢字
6、小數——小數點保留位數不滿足
無效等價類處理方式:
1、允許輸入無效等價類數據,后面給出錯誤提示
2、允許輸入無效等價類數據,但可以自動糾正成正確數據
3、不允許輸入無效等價類數據