如何利用測試類型提高測試覆蓋率?
字體: 小 中 大 | 上一篇 下一篇 | 打印 | 我要投稿 | 推薦標簽: 軟件測試 測試覆蓋率
在前面的文章中,我們提到了測試類型定義需要綜合考慮各個方面的輸入,包括開發文檔定義的需求(包括涉及的一些標準與規范等)、ISO/IEC 9126質量模型、測試經驗,以及通過分析在研發階段發現的缺陷、產品發布之后用戶反饋的缺陷分析等。圖1是結合數據通信產品的特點,而定義的測試類型:
圖1 某個數據通信產品中的測試類型
1)測試類型定義
(1)功能性(Functionality)
功能性指的是軟件或者產品在指定條件下使用時,提供滿足明確和隱含要求的功能的能力。通過評價特征集和程序的能力、交付的函數的通用性、和整體系統的安全性來評估。例如:假如NIF端口收到的數據包外層EtherType類型和端口的VLAN S-Tag EtherType不一樣,那么將數據包看成是untagged的類型,并給數據包加上一個相應的VID類型。
(2)可靠性(Reliability)
可靠性指的是在軟件或者產品指定條件下使用時,軟件產品維持規定性能級別的能力,以及在異常或者錯誤的情況下,恢復的能力等。比如系統的容錯性(Fault Tolerance)、易恢復性(Recovery)、健壯性(Robustness)、穩定性(Stability)等。例如:系統在異常斷電之后,在斷電恢復之后能夠正常恢復系統,并且系統的業務可以正常恢復工作。
(3)易用性(Usability)
易用性指的是軟件或者產品在指定條件使用時,軟件產品被理解、學習、使用和吸引用戶的能力。易用性是一個非常主觀的測試類型,而且在需求中很難定義。因此這個測試類型需要測試人員了解作為用戶的一般使用習慣和方式。包括易操作性(Operability)、易學習性(Learnability)、易理解性(Understandability)、易安裝性(Installability)等。例如:軟件系統的版本程序安裝,應該有具體的安裝指導步驟,并且是簡單易懂,容易操作;
(4)可移植性(Migration)
可移植性指的是軟件或者產品、或者數據等從一種環境轉換到另一種環境的能力。例如:R1.0版本的數據庫,可以直接應用到R2.0版本的軟件中。
(5)配置(Configuration)
配置是指產品或者軟件在運行狀態下,是否能夠按照提供的參數范圍進行配置。例如:MAC地址的老化時間的范圍是15秒到3825秒之間,并且以15秒作為步長,老化時間的缺省值是300秒,即5分鐘。
(6)容量(Volume)
容量是指產品或者軟件在運行狀態下,是否能夠達到需求要求的最大容量值。例如:假如VLAN是802.1ad模式,MAC地址的學習模式是IVL。在IVL模式中,最多可以創建的VLAN數是256。
(7)性能(Performance)
性能指的是軟件或者產品在典型的配置運行條件下,它的處理速度、響應時間、資源消耗、吞吐量、效率、丟報率等。例如:RSTP的收斂時間不能超過15秒。
(8)一致性(Compliance)
一致性在這里主要是指協議的一致性,即系統實現的協議和標準、規范或者行業標準之間的符合程度。例如:VLAN的幀結構應該和IEEE 802.1Q 1998標準保持一致。
2)應用測試類型
測試類型的定義需要綜合考慮各個方面的輸入,并且它并不是一次性的測試活動。隨著測試對象的變化、測試人員經驗技能等的增加,需要不斷更新測試類型,以反映知識、技能和經驗的繼承。
下面以大家熟知的手機呼叫功能為例,根據前面定義的測試類型,簡單細化得到了一些測試條件。從該案例中,我們可以看到通過測試類型是如何幫助測試人員拓闊思路,從而提高測試覆蓋率的(實際的測試用例要復雜和全面一些,這里只是作為一個例子進行講解)。
表1 測試類型在手機呼叫功能中的應用
測試類型
測試條件:手機的基本呼叫功能
功能性
- 手機作為主叫,呼叫其他手機號碼
- 手機作為主叫,呼叫特殊號碼
- 手機作為被叫,接聽電話
- 手機作為被叫,拒絕接聽電話
- 手機作為主叫,主動掛機/被動掛機
- 手機作為被叫,主動掛機/被動掛機
易用性
- 手機號碼輸入是否簡單方便?
- 手機接聽是否方便?
- 手機拒絕接聽是否方便?
- 通話狀態顯示是否簡單易懂?
- 其他操作是否方便?
配置
- 呼叫轉移配置
- 呼叫限制配置
- 呼叫等待配置
- IP電話配置
- 自動回撥配置
性能
- 最長待機時間測試
- 最長通話時間測試
- 每個小時通話12次,每次5分鐘,檢查待機時間
可靠性
- 呼叫異常號碼
- 作為主叫,通話時間保持24小時
- 作為被叫,通話時間保持24小時
- 在充電狀態下,作為主機呼叫72小時
- 在充電狀態下,作為被叫保持72小時
- 通話過程中關機重啟
- 通話過程中拔掉電板
- 通話過程中電池沒有電了
可移植性
- 手機軟件版本從1.0升級到2.0
- 在2.0版本中恢復1.0版本的內部數據庫
容量
- 同時可以接聽的電話數目
- 同時可以呼叫的電話數目
一致性
- 與電話呼叫相關的標準與規范一致性檢查
相關鏈接:
字體: 小 中 大 | 上一篇 下一篇 | 打印 | 我要投稿 | 推薦標簽: 軟件測試 測試覆蓋率
在前面的文章中,我們提到了測試類型定義需要綜合考慮各個方面的輸入,包括開發文檔定義的需求(包括涉及的一些標準與規范等)、ISO/IEC 9126質量模型、測試經驗,以及通過分析在研發階段發現的缺陷、產品發布之后用戶反饋的缺陷分析等。圖1是結合數據通信產品的特點,而定義的測試類型:
圖1 某個數據通信產品中的測試類型
1)測試類型定義
(1)功能性(Functionality)
功能性指的是軟件或者產品在指定條件下使用時,提供滿足明確和隱含要求的功能的能力。通過評價特征集和程序的能力、交付的函數的通用性、和整體系統的安全性來評估。例如:假如NIF端口收到的數據包外層EtherType類型和端口的VLAN S-Tag EtherType不一樣,那么將數據包看成是untagged的類型,并給數據包加上一個相應的VID類型。
(2)可靠性(Reliability)
可靠性指的是在軟件或者產品指定條件下使用時,軟件產品維持規定性能級別的能力,以及在異常或者錯誤的情況下,恢復的能力等。比如系統的容錯性(Fault Tolerance)、易恢復性(Recovery)、健壯性(Robustness)、穩定性(Stability)等。例如:系統在異常斷電之后,在斷電恢復之后能夠正常恢復系統,并且系統的業務可以正常恢復工作。
(3)易用性(Usability)
易用性指的是軟件或者產品在指定條件使用時,軟件產品被理解、學習、使用和吸引用戶的能力。易用性是一個非常主觀的測試類型,而且在需求中很難定義。因此這個測試類型需要測試人員了解作為用戶的一般使用習慣和方式。包括易操作性(Operability)、易學習性(Learnability)、易理解性(Understandability)、易安裝性(Installability)等。例如:軟件系統的版本程序安裝,應該有具體的安裝指導步驟,并且是簡單易懂,容易操作;
(4)可移植性(Migration)
可移植性指的是軟件或者產品、或者數據等從一種環境轉換到另一種環境的能力。例如:R1.0版本的數據庫,可以直接應用到R2.0版本的軟件中。
(5)配置(Configuration)
配置是指產品或者軟件在運行狀態下,是否能夠按照提供的參數范圍進行配置。例如:MAC地址的老化時間的范圍是15秒到3825秒之間,并且以15秒作為步長,老化時間的缺省值是300秒,即5分鐘。
(6)容量(Volume)
容量是指產品或者軟件在運行狀態下,是否能夠達到需求要求的最大容量值。例如:假如VLAN是802.1ad模式,MAC地址的學習模式是IVL。在IVL模式中,最多可以創建的VLAN數是256。
(7)性能(Performance)
性能指的是軟件或者產品在典型的配置運行條件下,它的處理速度、響應時間、資源消耗、吞吐量、效率、丟報率等。例如:RSTP的收斂時間不能超過15秒。
(8)一致性(Compliance)
一致性在這里主要是指協議的一致性,即系統實現的協議和標準、規范或者行業標準之間的符合程度。例如:VLAN的幀結構應該和IEEE 802.1Q 1998標準保持一致。
2)應用測試類型
測試類型的定義需要綜合考慮各個方面的輸入,并且它并不是一次性的測試活動。隨著測試對象的變化、測試人員經驗技能等的增加,需要不斷更新測試類型,以反映知識、技能和經驗的繼承。
下面以大家熟知的手機呼叫功能為例,根據前面定義的測試類型,簡單細化得到了一些測試條件。從該案例中,我們可以看到通過測試類型是如何幫助測試人員拓闊思路,從而提高測試覆蓋率的(實際的測試用例要復雜和全面一些,這里只是作為一個例子進行講解)。
表1 測試類型在手機呼叫功能中的應用
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
相關鏈接:
posted on 2012-08-13 09:47 順其自然EVO 閱讀(649) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄