史上最全的測試用例設計方法總結 軟件測試
正交實驗設計方法
一.方法簡介
利用因果圖來設計測試用例時, 作為輸入條件的原因與輸出結果之間的因果關系,有時很難從軟件需求規格說明中得到。往往因果關系非常龐大,以至于據此因果圖而得到的測試用例數目多的驚人,給軟件測試帶來沉重的負擔,為了有效地,合理地減少測試的工時與費用,可利用正交實驗設計方法進行測試用例的設計。
正交實驗設計方法:依據Galois理論,從大量的(實驗)數據(測試例)中挑選適量的,有代表性的點(例),從而合理地安排實驗(測試)的一種科學實驗設計方法.類似的方法有:聚類分析方法,因子方法方法等.
利用正交實驗設計測試用例的步驟:
1.提取功能說明,構造因子--狀態表
把影響實驗指標的條件稱為因子.而影響實驗因子的條件叫因子的狀態.利用正交實驗設計方法來設計測試用例時,首先要根據被測試軟件的規格說明書找出影響其功能實現的操作對象和外部因素,把他們當作因子,而把各個因子的取值當作狀態.對軟件需求規格說明中的功能要求進行劃分,把整體的概要性的功能要求進行層層分解與展開,分解成具體的有相對獨立性的基本的功能要求.這樣就可以把被測試軟件中所有的因子都確定下來,并為確定個因子的權值提供參考的依據.確定因子與狀態是設計測試用例的關鍵.因此要求盡可能全面的正確的確定取值,以確保測試用例的設計作到完整與有效。
2.加權篩選,生成因素分析表
對因子與狀態的選擇可按其重要程度分別加權.可根據各個因子及狀態的作用大小,出現頻率的大小以及測試的需要,確定權值的大小。
3.利用正交表構造測試數據集
正交表的推導依據Galois理論(這里省略,需要時可查數理統計方面的教材)。
利用正交實驗設計方法設計測試用例,比使用等價類劃分,邊界值分析,因果圖等方法有以下優點:節省測試工作工時;可控制生成的測試用例數量;測試用例具有一定的覆蓋率。
功能圖分析方法
一.方法簡介
一個程序的功能說明通常由動態說明和靜態說明組成.動態說明描述了輸入數據的次序或轉移的次序.靜態說明描述了輸入條件與輸出條件之間的對應關系.對于較復雜的程序,由于存在大量的組合情況,因此,僅用靜態說明組成的規格說明對于測試來說往往是不夠的.必須用動態說明來補充功能說明.功能圖方法是用功能圖FD形式化地表示程序的功能說明,并機械地生成功能圖的測試用例. 功能圖模型由狀態遷移圖和邏輯功能模型構成.狀態遷移圖用于表示輸入數據序列以及相應的輸出數據.在狀態遷移圖中,由輸入數據和當前狀態決定輸出數據和后續狀態.邏輯功能模型用于表示在狀態中輸入條件和輸出條件之間的對應關系.邏輯功能模型只適合于描述靜態說明,輸出數據僅由輸入數據決定.測試用例則是由測試中經過的一系列狀態和在每個狀態中必須依靠輸入/輸出數據滿足的一對條件組成.功能圖方法其實是是一種黑盒白盒混合用例設計方法。
(功能圖方法中,要用到邏輯覆蓋和路徑測試的概念和方法,其屬白盒測試方法中 的內容.邏輯覆蓋是以程序內部的邏輯結構為基礎的測試用例設計方法.該方法要求測試人員對程序的邏輯結構有清楚的了解.由于覆蓋測試的目標不同,邏輯覆蓋可分為:語句覆蓋,判定覆蓋,判定-條件覆蓋,條件組合覆蓋及路徑覆蓋.下面我們指的邏輯覆蓋和路徑是功能或系統水平上的,以區別與白盒測試中的程序內部的.)
1.功能圖
功能圖由狀態遷移圖和布爾函數組成.狀態遷移圖用狀態和遷移來描述.一個狀態指出數據輸入的位置(或時間),而遷移則指明狀態的改變.同時要依靠判定表或因果圖表示的邏輯功能.例,一個簡化的自動出納機ATM的功能圖。
2.測試用例生成方法
從功能圖生成測試用例,得到的測試用例數是可接受的. 問題的關鍵的是如何從狀態遷移圖中選取測試用例. 若用節點代替狀態,用弧線代替遷移,則狀態遷移圖就可轉化成一個程序的控制流程圖形式.問題就轉化為程序的路徑測試問題(如白盒測試)問題了.
3.測試用例生成規則
為了把狀態遷移(測試路徑)的測試用例與邏輯模型(局部測試用例)的測試用例組合起來,從功能圖生成實用的測試用例,須定義下面的規則.在一個結構化的狀態遷移(SST)中,定義三種形式的循環:順序,選擇和重復.但分辨一個狀態遷移中的所有循環是有困難的.(其表示圖形省略)。
4.從功能圖生成測試用例的過程
1)生成局部測試用例:在每個狀態中,從因果圖生成局部測試用例.局部測試用例由原因值(輸入數據)組合與對應的結果值(輸出數據或狀態)構成。
2)測試路徑生成:利用上面的規則(三種)生成從初始狀態到最后狀態的測試路徑。
3)測試用例合成:合成測試路徑與功能圖中每個狀態中的局部測試用例.結果是初始狀態到最后狀態的一個狀態序列,以及每個狀態中輸入數據與對應輸出數據的組合。
5.測試用例的合成算法:采用條件構造樹.
文章來源于領測軟件測試網 http://www.kjueaiud.com/