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