控制測試用例的粒度:測試策略覆蓋

另外一種有效的控制測試用例粒度的方法——策略覆蓋。在設計測試用例時,經常會遇到這樣的情況:

1)有些因子,如操作系統、平臺等,除了那些可以分析到的對系統有影響的地方之外,對系統可能沒有影響、影響很弱或者影響未知的地方,沒有必要使用Pairwise來進行正交。

2)有些數據類的測試點比較細,比如測試一個名稱,但是它和其他的測試點沒有關係或者關係很弱,此時就沒有必要使用Pairwise來做正交。

針對上述兩種情況,可以考慮使用策略覆蓋的方式,將這些因子或數據的取值分配到其他測試用例中,作爲其他測試用例的測試數據或者是測試條件(或預置條件)。例如,對於第一種情況,假設因子A有4個因子值,且已經通過流程、參數、數據或組合的測試設計方法,得到了6個測試用例。

將因子A作爲預置條件,並將其分配到如下表6個測試用例。

對於第二種情況,假設數據B使用等價類和邊界值分析後,有4個測試數據。

將數據B作爲測試輸入數據,並將其分配到用例表1的6個測試用例中。

在分配因子或數據的時候,使用的是輪詢的方式,即按照A1、A2、A3、A4、A1……的順序在進行。在實際項目中,輪詢方式不一定適合,還需要考慮如下幾種情況。

1.內容的重要性

不同的因子或數據值,它們的重要性可能也不同。對於重要的、優先級高的因子,可以加大分配量。例如,因子A中的A1重要性相對A2~A4都要高一些。

2.測試執行的便利性

儘量將和這個測試用例有關的因子或數據值分配到一起,達到執行測試用例的時候可以順便測試這個因子或數據值的效果。

以“PC連接WiFi”爲例,看看如何進行策略覆蓋。目前還有一個“PC會使用不同的操作系統來連接WiFi”這樣一個測試點,如何將這個測試點中“操作系統”這個因子,放在“PC連接WiFi”的測試用例中進行策略覆蓋。

在“PC會使用不同的操作系統來連接WiFi”這個測試點中,支持的操作系統包括Windows 10、Windows 8、Windows 7、Mac OS X。

將這個測試點策略覆蓋到上表所示的測試用例中:

首先分析操作系統這個因子,看看不同的操作系統是否具有不同的優先級。作爲舉例,假設Windows 10和Windows 8的優先級比較高。接下來,考慮測試執行的便利性。

從測試時的配置順序來看,先選擇是使用“首選WiFi”還是“備選WiFi”,再選擇“是否要加密”,如果要“加密”,還要選擇“加密算法”。可以將上述配置過程繪成一棵樹的形式。

然後讓每種操作系統覆蓋一個“樹杈”。

如圖所示,(1)和(3)中還包含了3種加密的情況,包含的測試用例比(2)和(4)要多一些,可以將(1)和(3)分別“分配”給分析出來的重要操作系統——Mac OS和Windows 10;將(2)和(4)分別分配給相對不那麼重要的操作系統——Windows 7和Windows 8。

按照上述分配策略,將操作系統這個因子在測試用例中進行分配。


摘取自劉琛梅老師的《測試架構師修煉之道:從測試工程師到測試架構師 第2版》

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