亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用覆蓋率指標來度量測試套件Test Suite的質量

發布時間:2022-01-04 15:15:34 來源:億速云 閱讀:138 作者:柒染 欄目:大數據

今天就跟大家聊聊有關如何使用覆蓋率指標來度量測試套件Test Suite的質量,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

使用覆蓋率來度量測試套件Test Suite的質量

有兩種比較流行的測試覆蓋率的度量方法:

  • 代碼覆蓋率

  • 分支覆蓋率

覆蓋率度量會顯示一個測試套件(Test Suite)會執行多少代碼,范圍從 0 至 100%。

除了上述兩種方法之外,還有很多其它的度量方法。它們都是被用來評估一個測試套件的質量的。

通常人們會認為,這個覆蓋率越高越好。不幸的是,這沒那么簡單,覆蓋率度量確實能提供非常有價值的反饋,但是它們無法有效的評估出測試套件的質量。這一點與代碼可進行單元測試的能力一樣:覆蓋率度量是一個非常好的負向指示(能評估出測試套件是否較差),但它無法評估出測試套件是否很好。

代碼覆蓋率度量

第一種,也是使用最多的度量方式就是代碼覆蓋率(code coverage,也叫測試覆蓋率 test coverage)。它的公式如下:

如何使用覆蓋率指標來度量測試套件Test Suite的質量

例如:

如何使用覆蓋率指標來度量測試套件Test Suite的質量

如何使用覆蓋率指標來度量測試套件Test Suite的質量

可以看到有效代碼行數變成了 3 行(8、9、10),它們都是綠色,說明都被覆蓋了。從工具也可以看到覆蓋率變成了 100%:

如何使用覆蓋率指標來度量測試套件Test Suite的質量

想要使用復制覆蓋率,你得想辦法把代碼里所有可能的分支求和,然后再檢測測試走了多少分支。

例子:

如何使用覆蓋率指標來度量測試套件Test Suite的質量

還是之前的例子,IsStringLong 方法里面一共有兩種情況,也就是兩個分支。而測試只會運行小于等于 5 這種情況,所以分支覆蓋率為 50%:

如何使用覆蓋率指標來度量測試套件Test Suite的質量

如何使用覆蓋率指標來度量測試套件Test Suite的質量

如何使用覆蓋率指標來度量測試套件Test Suite的質量

而我們只考慮了其中一種。所以您可能會遇到許多極端情況,并且無法查看測試是否將所有情況都考慮在內。

這并不是說覆蓋率度量應該考慮外部庫的代碼路徑(它們不應該),而是說明你不能指望這些度量來評估單元測試的質量好壞。覆蓋率度量無法判斷您的測試是否詳盡無遺; 也不能說明是否有足夠的測試。

特定的覆蓋率數字

要把覆蓋率度量當成一個指標,而不是一個目標。

就如同生病住院的病人,體溫高可能表示發燒,它是一個有用的觀察。但是醫院不能把不擇手段降低病人的體溫當成治病的目標。

通常,如果系統核心某塊的測試的覆蓋率較高的話是很好的,但是如果把高覆蓋率當成目標就不好了。

就個人而言:我認為覆蓋率低于 60% 肯定不好,這說明有大量的代碼未測試。但是更高的覆蓋率數字并不能代表什么。所以度量覆蓋率只是驗證測試套件質量的第一步而已。

看完上述內容,你們對如何使用覆蓋率指標來度量測試套件Test Suite的質量有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

旅游| 柏乡县| 礼泉县| 雅安市| 东台市| 定襄县| 阳东县| 育儿| 广宁县| 天长市| 繁昌县| 大同市| 黄平县| 濉溪县| 专栏| 威海市| 二连浩特市| 江安县| 德惠市| 宁蒗| 遂宁市| 鄂尔多斯市| 徐闻县| 洛扎县| 临泉县| 临朐县| 宣威市| 绥阳县| 越西县| 扎鲁特旗| 宁河县| 龙川县| 威海市| 辉县市| 浦县| 济源市| 平湖市| 涿州市| 即墨市| 红安县| 望奎县|