常用測試用例設計方法論(二)

正交實驗設計方法

正交試驗設計,是指研究多因素多水平的一種試驗設計方法。根據正交性從全面試驗中挑選出部分有代表性的點進行試驗,這些有代表性的點具備均勻分散,齊整可比的特點.

正交試驗分析法包括以下常用術語:

(1)指標:通常把判斷試驗結果優劣的標準叫做試驗的指標。

(2)因子:是指所有影響試驗指標的條件。

(3)因子的狀態:是指影響試驗因子的因素,也稱之爲因子的水平

 

  • 正交表

正交表是一整套規則的設計表格,用 L爲正交表的代號,n爲試驗的次數,t爲水平數,c爲列數,也就是可能安排最多的因素個數。例如L9(3^4)它表示需作9次實驗,最多可觀察4個因素,每個因素均爲3水平。一個正交表中也可以各列的水平數不相等,我們稱它爲混合型正交表,如L8(41×24),此表的5列中,有1列是爲4水平,4列爲2水平。

正交表具有兩條性質:

  1. 每一列中各數字出現的次數都一樣多。
  2. 任何兩列所構成的各有序數對出現的次數都一樣多。

所以稱之謂正交表。

 

  • 設計過程

1)確定試驗因素及水平數;

2)選用合適的正交表;

3)列出試驗方案及試驗結果;

4)對正交試驗設計結果進行分析,包括極差分析和方差分析;

5)確定最優或較優因素水平組合

 

  • 注意點
  1. 選擇正交表時,因子的數量對應正交表的咧數,正交表的行數是因子水平的倍數。例如,一個3因子3水平的場景,可以選擇一個3列9行的正交表。
  2. 被測對象的因子與正交表中的列數不同時,選擇正交表中因子稍大於被測對象的因字數,且實驗次數最少的,多餘的因子棄用。
  3. 被測對象水平與正交表中的水平不同時,可以根據實際情況進行合併,然後拆分。
  4. 因子,水平都不相同時,選擇因子,水平稍大於被測對象的,且實驗次數最少的。

總之,正交表的選擇,要追尋正交表因子和水平稍大於被測對象的因子和水平,做好必要分析,捨棄影響小的因子和水平,保證實驗次數最少。

 

  • 案例

一個網站登錄頁面,有登錄名,密碼,驗證碼三個因子,

  1. 分析被測對象,設計因子狀態圖:

 

2)對因子-狀態表進行加權篩選(本例不做篩選),轉化爲正交表如下:

 

3)根據正交表,轉化爲實際用例。

4)根據實際需要,可以添加實驗數據

 

功能圖分析方法

  • 簡介

功能圖分析法是一種灰盒測試(兼有白盒測試和黑盒測試)用例設計方法;通常情況一個程序的功能說明由動態說明和靜態說明組成。

動態說明描述了輸入數據的次序或轉移次序。

靜態說明描述了輸入條件與輸出條件之間的對應關係。用功能圖可以形象的表示程序的功能說明,並機械的生成功能圖測試用例。

對於較複雜的程序,由於存在大量的組合情況,因此,僅用靜態說明組成的測試用例往往是不夠的,必須用動態說明來補充。

 

  • 構成

功能圖方法是功能圖形式化的表示程序的功能說明,並機械地生成測試用例。功能圖模型由狀態遷移圖和邏輯功能模型組成。

狀態遷移圖用於表示輸入數據序列以及相應的輸出數據。在狀態遷移圖中,由輸入數據和當前狀態決定輸出數據和後續狀態。

邏輯功能模型用於表示在狀態中輸入條件和輸出條件之間的對應關係。邏輯功能模型只適用於描述靜態說明,輸出數據僅由輸入數據決定。

 

測試用例是由測試中經過的一系列狀態和在每個狀態中必須依靠輸入/輸出數據滿足的一對條件組成。

 

  • 測試用例生成方法

如何從狀態遷移圖中選取測試用例?

若用節點代替狀態,用弧線代替遷移,則狀態遷移圖就可以轉化成一個程序的控制流程圖形式,問題就轉化爲程序的路徑的測試問題了。

 

  • 測試用例生成規則

爲了把狀態遷移(測試路徑)的測試與邏輯模型(局部測試用例)的測試結合起來,從功能圖生成實用的測試用例,需要定義下面的規則。

在一個結構化的狀態遷移中,定義三種形式的循環:順序,選擇和重複

 

  • 測試用例生成過程
  1. 生成局部測試用例

在每個狀態中,從因果圖生成局部測試用例,局部測試用例由原因值(輸入數據)組合與對應的結果值(輸出數據或狀態)構成。

  1. 測試路徑生成

利用上面的規則(3種)生成從初始狀態到最後狀態的測試路徑。

  1. 測試用例合成

合成測試路徑與功能圖中每個狀態的局部測試用例。結果是初始狀態到最後狀態的一個狀態序列,以及每個狀態中輸入數據與對應輸出數據的組合。

 

  • 狀態遷移圖法

狀態遷移圖的簡介

  1. 許多需求用狀態機的方式描述,狀態機的測試主要關注在測試狀態轉移的正確性上面。對於一個有限狀態機,通過驗證其在給定的條件內是否能產生需要的狀態變化,有沒有不可達的狀態和非法狀態,可會不會產生非法的狀態轉移等。
  2. 通過構造能導致狀態遷移的時間來測試狀態之間的轉換,常用於協議測試。
  3. 用這種方法可以設計逆向的測試用例,如狀態和時間的非法組合。

 

狀態遷移圖的步驟

  1. 畫出狀態遷移圖
  2. 列出狀態-事件表
  3. 得到狀態轉換樹
  4. 推出測試路徑
  5. 根據測試路徑編寫測試用例

 

  • 實例

 

 

 

 

 

 

參考文獻:

https://zhuanlan.zhihu.com/p/55370800

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章