測試用例(等價類和邊界值方法)


測試用例概念:

 

 定義:測試用例是為了特殊目的,而主要記錄了測試步驟、方法、數據、預期結果的文檔,由測試人員在執行測試之前編寫。

 

    寫用例主要包括:(編號、測試目的、用例描述(步驟、數據)、預期結果)

 

測試中你可能會用到的問題?
  • 不知道是否全面測試了所有問題?
      • 所有的功能是否全測試到了?
      • 每個功能測試的是否全面?
  • 存在大量冗余測試,影響測試效率。
      • 有些功能點可能測試多次?
  • 對新版本的重復測試很難實施。
      • 每個版本測試的步驟,數據都不一樣,隨意性很強。
  • 測試的覆蓋率無法衡量。
      • 最后測試的結果好與壞無法准確的衡量?
寫測試用例參考什么?

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、不允許輸入無效等價類數據

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM