在實際軟件產品的測試過程中測試團隊經常面臨的一個挑戰是有限的測試時間,即測試人員必須在某個時間段之內完成所有的測試任務;按照傳統的測試思路按部就班的執行每個測試用例將會面臨各種問題。首先,可能無法完成預先計劃的測試任務;其次,測試的效率比較低下,如無法快速地發現測試對象中存在的缺陷。此時,基于潛在的風險列表選擇測試重點將是一個有效的測試策略。
基于潛在的風險列表選擇測試重點的核心思想是針對測試對象的每個功能模塊,根據羅列的潛在風險列表評估風險,然后將潛在的風險列表評估的數值相加得到該功能模塊的風險級別;根據功能模塊的不同風險級別確定其測試重點并選擇合適的測試策略。具體步驟如下。
1. 測試人員檢查風險列表中的每個風險,評估該風險對測試對象功能模塊產生影響的可能性。
2. 將功能模塊相關的風險的可能性相加得到每個功能模塊的風險級別。
3. 按照風險級別排序測試優先級。
基于潛在風險列表選擇測試重點
某通信產品在一輪測試中主要覆蓋4個功能模塊,為簡單起見,分別以功能模塊1~功能模塊4表示。其中潛在的風險列表如下。
(1)功能模塊將會被用戶頻繁使用。
(2)功能模塊提供的功能非常復雜。
(3)功能模塊經常被修改或者升級。
(4)功能要求具有很高的實用性。
(5)功能要求保持一定的性能級別。
(6)功能的實現采用了新的開發工具和語言。
(7)功能模塊具有眾多接口。
(8)功能模塊由經驗欠缺的開發人員所開發。
(9)功能模塊開發缺乏相關用戶的充分介入。
(10)功能模塊的開發由龐大的開發團隊實施。
(11)完全是新的功能。
(12)功能模塊的開發在極端時間壓力下完成;
(13)對利益相關者而言是非常重要的功能;
(14)功能模塊的歷史版本中發現了很多的缺陷;
將測試對象中功能模塊產生影響的可能性分為如下4個級別。
(1)不適用的(0):該風險不適用于該模塊或者功能。
(2)低的(1):該風險偶爾會發生,但不經常。
(3)中等的(3):該風險可能會發生,并且可能會影響該模塊或者功能。
(4)高的(5):該風險很可能發生,并且絕對會對模塊或者功能產生影響。
表1所示為根據前面定義的風險列表和可能性分析該通信產品的4個功能模塊之后得到的評估結果。
表1 評估結果
潛在風險列表 |
功能模塊1 |
功能模塊2 |
功能模塊3 |
功能模塊4 |
(1)功能模塊將會被用戶頻繁使用 |
5 |
0 |
3 |
5 |
(2)功能模塊提供的功能非常復雜 |
5 |
5 |
1 |
3 |
(3)功能模塊經常被修改或者升級 |
1 |
1 |
1 |
1 |
(4)功能要求具有很高的實用性 |
0 |
0 |
0 |
0 |
(5)功能要求保持一定的性能級別 |
3 |
0 |
1 |
3 |
(6)功能的實現采用了新的開發工具和語言 |
0 |
0 |
0 |
0 |
(7)功能模塊具有眾多的接口 |
0 |
0 |
1 |
3 |
(8)功能模塊是由經驗欠缺的開發人員開發 |
0 |
0 |
0 |
0 |
(9)功能模塊的開發缺乏相關用戶的充分介入 |
5 |
5 |
5 |
5 |
(10)功能的開發是由龐大的開發團隊實施的 |
5 |
5 |
5 |
5 |
(11)完全是新的功能 |
5 |
0 |
0 |
5 |
(12)功能模塊的開發在極端時間壓力下完成 |
3 |
1 |
1 |
5 |
(13)對利益相關者而言是非常重要的功能 |
3 |
1 |
3 |
5 |
(14)功能模塊的歷史版本中發現了很多的缺陷 |
0 |
0 |
1 |
5 |
總的風險級別 |
35 |
17 |
22 |
44 |