在前面的文章中,我們提到了測試類型定義需要綜合考慮各個方面的輸入,包括開發文檔定義的需求(包括涉及的一些標準與規范等)、ISO/IEC 9126質量模型、測試經驗,以及通過分析在研發階段發現的缺陷、產品發布之后用戶反饋的缺陷分析等。圖1是結合數據通信產品的特點,而定義的測試類型:
圖1 某個數據通信產品中的測試類型
1)測試類型定義
(1)功能性(Functionality)
功能性指的是軟件或者產品在指定條件下使用時,提供滿足明確和隱含要求的功能的能力。通過評價特征集和程序的能力、交付的函數的通用性、和整體系統的安全性來評估。例如:假如NIF端口收到的數據包外層EtherType類型和端口的VLAN S-Tag EtherType不一樣,那么將數據包看成是untagged的類型,并給數據包加上一個相應的VID類型。
(2)可靠性(Reliability)
可靠性指的是在軟件或者產品指定條件下使用時,軟件產品維持規定性能級別的能力,以及在異?;蛘咤e誤的情況下,恢復的能力等。比如系統的容錯性(Fault Tolerance)、易恢復性(Recovery)、健壯性(Robustness)、穩定性(Stability)等。例如:系統在異常斷電之后,在斷電恢復之后能夠正?;謴拖到y,并且系統的業務可以正?;謴凸ぷ?。
(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 測試類型在手機呼叫功能中的應用
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
原文轉自:http://www.anti-gravitydesign.com