如何利用測試型別提高測試覆蓋率?

2021-08-27 04:35:51 字數 3043 閱讀 9420

在前面的文章中,我們提到了測試型別定義需要綜合考慮各個方面的輸入,包括開發文件定義的需求(包括涉及的一些標準與規範等)、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)

(6)容量(volume)

(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版本的內部資料庫

容量

- 同時可以接聽的**數目

- 同時可以呼叫的**數目

一致性

- 與**呼叫相關的標準與規範一致性檢查

測試覆蓋率

摘要 在測試方法中粗略的介紹了幾種測試方法。其中,白盒測試的動態分析方法中提到邏輯覆蓋率測試有 語句覆蓋 分支覆蓋 判定覆蓋 條件覆蓋 條件 判定覆蓋和路徑覆蓋。這裡將詳細闡述邏輯覆蓋率測試。準備知識 可執行語句 可執行的一項操作 真 假分支 ture false 運算元 opreand 操作符 o...

測試覆蓋率

摘要 在 測試 方法中粗略的介紹了幾種測試方法。其中,白盒測試 的動態分析方法中提到邏輯覆蓋率測試有 語句覆蓋 分支覆蓋 判定覆蓋 條件覆蓋 條件 判定覆蓋和路徑覆蓋。這裡將詳細闡述邏輯覆蓋率測試。準備知識 可執行語句 可執行的一項操作 真 假分支 ture false 運算元 opreand 操作...

測試 覆蓋率

覆蓋率準則 覆蓋率是度量測試完整性的乙個手段,是測試有效性的乙個度量。通過已執行 表示,用於可靠性 穩定性以及效能的評測。測試覆蓋是對測試完全程度的評測。測試覆蓋是由測試需求和測試用例的覆蓋或已執行 的覆蓋表示的。建立在對測試結果的評估和對測試過程中確定的變更請求 缺陷 的分析的基礎上。測試覆蓋是就...