測試設計的關鍵問題是“所有可能的測試用例中哪些子集有最高可能性發現最多的錯誤?”。熟悉如何選擇合適的測試分析模型有助于解決這個問題。這個章節闡述PPDCS方法,是一個在一個或者多個測試技術中選擇的技術。
一方面,當分析不同的測試設計技術,可以發現絕大多數的測試設計技術可以被歸為主要的五大類,每類有一個明顯的特點。比如:”商業流程圖“技術是處理流程特性的。通常一個過程由很多步驟組成,這個技術可以使用活動圖表或者流圖來表示整個過程。
另一方面,當分析不同的測試對象(經常通過需求規格說明書),可以發現測試對象有相似的特性。例如,關于ATM機器的規格會描述關于取錢的整個情形,“從插入銀行卡,數據校驗,檢查密碼,處理傳輸,退卡”。所以這種規格同樣也是處理流程的特性。
當這兩個特性匹配,測試分析者可以使用特定的測試設計技術來為這個規則建模。這就是PPDCS最早的想法,每個字母代表一個特定的特性。第一個字母“P” 是“流程”的意思,第二個字母“P”是“參數”的意思,第三個字母“D”是“數據”的意思,第四個字母“C”是“組合”的意思,最后一個字母”S“是”狀態”的意思。這些每一個特性和簡單功能的基于模型的測試分析和設計在論文的接下去部分會詳細講述。
B P-Process (P流程)
1)應用條件
如果在測試對象的設計規范中有存在相關“流程”的特征,“P-Process”方法可以用來建模。
流程的特征包括:
很多步驟構成一個流程,且步驟之間有順序關系
涉及超過一個角色或者觸發條件
P-Process特征的設計規范經常包括一系列的步驟或者用戶場景。
2)應用步驟
Step1:建模
“P-Process”特性可用流圖或者活動流圖,使用“商用流程圖【2]”測試技術。
在建模過程中,測試分析者需要跟產品設計者頻繁交流。任何該流程中可能異常的分支都必須被考慮到。測試分析者要確保設計規格書已經被模型準確描述。如果流圖已經在測試規格文檔說明了,測試分析者需要仔細地審查甚至重新描繪它,因為建模的過程對完全理解整個測試對象很有幫助。下面流圖使用”取錢”功能作為例子。
Step2:設計基礎測試用例
使用基礎測試用例 有兩種方法可以覆蓋模型。一種方法是流圖比較簡單的情況,設計基礎用例來覆蓋流圖的每個路徑。另一種方式是當流圖很復雜的時候,設計基礎用例覆蓋“主要流程+重要的二選一流程”。每條路徑或者流程都是使用一個基礎用例表示。
ATM取錢的簡單功能的基礎用例如下表:
Step3:補充測試數據
針對每個基礎測試用例,識別相關的變量,通過等價類劃分和邊界值增加更多的測試數據,獲得最終的可執行性測試用例。
Step4:拓展測試
有其他流程的可能性?除了流圖顯示的,還有其他需要的考慮的嗎?
C. P參數
1)應用條件
如果在測試對象的設計規格中存在“變量或者參數”含義的特性,“P-Parameter”方法可以用來建模。
“參數”特性包括:
設計規格中沒有明顯地流程,但是涉及“很多參數”。
設計規格中包含很多規則,每條規則有很多不同的變量和不同的值組成。
參數的數量是有限的。測試分析者可以容易地識別參數間的邏輯關系。
2)應用步驟
Step1:建模
帶有“P參數”特性的測試對象可以使用表格、樹圖和坐標圖建模,可參看決策表、決策樹或域測試【2】測試技術。
Step2:設計基礎測試用例
使用基礎測試用例覆蓋模型有兩種方法。一種是100%規則覆蓋,例如為決策表的每條規則設計一個基礎用例。在決策表較簡單的情況下(沒有涉及太多參數),這個方法很有效。另外一種方法是,轉換決策表到決策樹,為樹的每個葉設計一個基礎用例。這個方法在決策表比較復雜的時候有效。將決策表轉換為決策樹的另一個好處是在轉換過程中可以比較容易地發現遺留或者錯誤的需求。
當在一個決策里包含很多條件的時候,ECT【2】(初級對照決策覆蓋)可以被用來生成基礎測試用例。
Step3:填充測試數據
針對每個基礎測試用例,識別相關的變量,使用等價類劃分和邊界值填充數據。
Step4:拓展測試
基于經驗補充特殊的測試用例。
D. D-數據
1)應用條件
如果在測試對象的設計規范中存在“數據”特征,“D-數據”方法可以用來建模。
“數據”特性包括:
每個數據有它特殊的范圍值
跟”參數“不一樣,數據之間沒有明顯的”規則“或者邏輯關系
不同的數據的范圍可能存在限制
涉及的數據個數是有限的
例如,在這樣規格描述“當建造建筑物的時候,一個房間最多4個窗戶”,可以識別2種數據,就是“房間數量”和“窗戶數量”。
2)應用步驟
Step1: 建模
帶有“D-數據”特征的測試對象可以使用表格建模,等價類劃分和邊界值測試技術可以提供幫助。
Step2:設計基礎測試用例
設計基礎測試用例覆蓋每個有效和無效地組,同時考慮有效邊界值和無效邊界值。
Step3:補充測試數據
針對每個測試用例,針對每個數據標識特定的值。
Step4:拓展測試
基于經驗補充特殊的測試用例。
E C-組合
1)應用條件
在“P-過程”和“D-數據”的案例中,如果參數或者數據的數量太多以致很難手工列出來,“C-組合”方法可以用上。
原文轉自:http://hejiajie.cn/archives/472