天天看點

如何利用測試類型提高測試覆寫率?

如何利用測試類型提高測試覆寫率?

圖1 某個資料通信産品中的測試類型

  1)測試類型定義

  (1)功能性(functionality)

  功能性指的是軟體或者産品在指定條件下使用時,提供滿足明确和隐含要求的功能的能力。通過評價特征集和程式的能力、傳遞的函數的通用性、和整體系統的安全性來評估。例如:假如nif端口收到的資料包外層ethertype類型和端口的vlan s-tag ethertype不一樣,那麼将資料包看成是untagged的類型,并給資料包加上一個相應的vid類型。

  (2)可靠性(reliability)

  (3)易用性(usability)

  (4)可移植性(migration)

  (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版本的内部資料庫
容量
-          同時可以接聽的電話數目 -          同時可以呼叫的電話數目
一緻性
-          與電話呼叫相關的标準與規範一緻性檢查

相關連結:

<a href="http://www.51testing.com/?action-viewnews-itemid-817298" target="_blank">軟體測試類型/缺陷分類的擷取</a>

====================================分割線================================

最新内容請見作者的github頁:http://qaseven.github.io/