一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

代碼覆蓋率工具的重要性

星星科技指導(dǎo)員 ? 來源:Hetal Chauhan ? 作者:Hetal Chauhan ? 2022-12-08 15:13 ? 次閱讀

世界目睹了一些災(zāi)難性事件,僅僅是因為軟件中的錯誤。其中一起事件發(fā)生在2008年,行李處理系統(tǒng)軟件的測試覆蓋實踐中的故障導(dǎo)致500 +航班取消。

測試覆蓋率是軟件質(zhì)量的重要指標(biāo),也是軟件維護(hù)的重要組成部分。它通過提供不同承保項目的數(shù)據(jù)來幫助評估測試的有效性。這種洞察力允許通過為未經(jīng)測試的代碼定義新的測試用例來改進(jìn)測試,從而提高代碼質(zhì)量,最終增加代碼覆蓋率并降低成本。

為什么需要代碼覆蓋率?– 目的和好處

在項目生命周期的早期階段預(yù)防缺陷

它創(chuàng)建額外的測試用例以增加覆蓋范圍

通過減少UAT缺陷和生產(chǎn)缺陷可以實現(xiàn)更高的投資回報率

它有助于查找一組測試用例未執(zhí)行的程序區(qū)域

通過管理基于風(fēng)險的測試方法,測試生活將變得順暢

幫助確定代碼覆蓋率的定量度量,從而間接度量應(yīng)用程序或產(chǎn)品的質(zhì)量。

如何選擇代碼覆蓋率工具?

這是選擇用于應(yīng)用程序測試的代碼覆蓋率工具的真正挑戰(zhàn)。高效的工具可以幫助衡量測試工作的有效性 根據(jù)用于編碼的語言,有幾個選項可以創(chuàng)建代碼覆蓋率報告。

一些工具,如istanbul(JavaScript測試覆蓋率工具)會將結(jié)果直接輸出到您的終端中,而其他工具可以生成完整的HTML報告,讓您探索代碼的哪一部分缺少覆蓋率。

此外,還有其他適用于所有主要語言的覆蓋測試工具,其中一些不僅與單元測試相關(guān),還與執(zhí)行的整體測試(單元、集成、系統(tǒng)、手冊等)相關(guān)。以下是一些趨勢代碼覆蓋工具的列表,這些工具將幫助您在運行測試過程時選擇一個。

1. 默認(rèn)的視覺工作室代碼覆蓋率

Visual Studio Enterprise 將代碼覆蓋率集合作為內(nèi)置功能。它可以應(yīng)用于托管 (CLI) 和非托管(本機(jī))代碼。使用測試資源管理器嘗試運行測試方法時,代碼覆蓋率作為選項提供。可以選擇所有測試或測試的子集。它可以幫助您在查看代碼時可視化覆蓋范圍。下表的結(jié)果顯示了在每個程序集、類和方法中運行的代碼的百分比。此外,源代碼編輯器還會顯示哪些代碼已經(jīng)過測試。

pYYBAGORjrSAOEd5AAE3HzGhA5Y379.png

圖 1 – 結(jié)果表:Visual Studio

報告可以以塊或行的形式獲得。管理代碼覆蓋率結(jié)果以及合并不同運行的結(jié)果也很容易。

2. 科伯圖拉

Cobertura是最常用和廣為人知的代碼覆蓋工具之一。它作為一種免費的 Java 工具而廣受歡迎,該工具可以計算執(zhí)行的各種測試訪問的代碼百分比。它可用于識別 Java 程序的哪些部分缺少測試覆蓋率。它基于jcoverage。

執(zhí)行可以通過 Ant、Command Line、Eclipse 插件、Maven 插件來完成。它易于使用,可以在沒有源代碼的情況下測量覆蓋范圍。它提供HTML或XML格式的報告,并具有測試類和方法的行和分支的能力。

3. Coverage.py

Coverage.py 是Python的代碼覆蓋工具。使用 Coverage.py 的主要階段包括執(zhí)行、分析和報告。它監(jiān)視 Python 程序,記錄代碼的哪些部分已執(zhí)行,然后分析源代碼以識別可以執(zhí)行但未執(zhí)行的代碼。

Coverage.py 隨 Tidelift 一起提供,以提供一項企業(yè)訂閱。其他方式包括通過命令行執(zhí)行,API以及Django和Mako的插件。

4. 格科夫-利科夫

Gcov 是與 GCC 一起使用的測試覆蓋程序。它分析程序以幫助創(chuàng)建更高效、運行更快的代碼,以發(fā)現(xiàn)代碼中未經(jīng)測試的部分。

它充當(dāng)分析工具,有助于分析一些基本的性能統(tǒng)計信息,例如:

每行代碼執(zhí)行的次數(shù)

實際執(zhí)行哪些代碼行

每段代碼使用多少計算時間

Lcov 是一個圖形 Gcov.It 前端,用于收集多個源文件的 gcov 數(shù)據(jù)并創(chuàng)建 HTML 頁面,其中包含帶有覆蓋率信息注釋的源代碼。它還添加了概述頁面,以便在文件結(jié)構(gòu)中輕松導(dǎo)航。Lcov 支持語句、函數(shù)和分支覆蓋率測量。

5. 測試井 CTC ++

Testwell CTC++ 是一個強大的基于檢測的代碼覆蓋率和動態(tài)分析工具,適用于 C 和C++代碼。它可以在C#,Java和Objective-C代碼上使用特定的附加組件。它基本上也可用于分析任何嵌入式目標(biāo)機(jī)器上的代碼。

CTC++提供線路覆蓋,語句覆蓋,功能覆蓋,決策覆蓋,多條件覆蓋,修改條件/決策覆蓋(MC / DC),條件覆蓋。

作為動態(tài)分析工具,CTC++ 在代碼中顯示執(zhí)行計數(shù)器(執(zhí)行的次數(shù))。它還可用于測量函數(shù)執(zhí)行成本(通常是時間),并在測試時啟用函數(shù)進(jìn)入/退出跟蹤。

該工具用戶友好且快速。報告生成可以是純文本,HTML,XML,JSON(JavaScript對象表示法)和Excel輸入形式。在某些環(huán)境中,例如Microsoft Visual Studio,可以直接從編譯器IDE使用CTC++。

6. NCover

NCover 是 .NET 程序和應(yīng)用程序的代碼覆蓋率工具。NCover 旨在與構(gòu)建過程集成,并具有廣泛的命令行支持。代碼覆蓋過程很簡單,可以自動化。NCover 應(yīng)用程序套件由三個工具 NCover.Explorer.exe、NCover.Console.exe 和 NCover.Reporting.exe 組成。

NCover.Explorer.exe是一個GUI程序,允許生成和查看詳細(xì)的代碼覆蓋率信息。

它支持語句覆蓋率、分支覆蓋率和圈復(fù)雜度。它提供了單獨選擇低、中、高和完整級別的代碼覆蓋率。它非常易于使用且快速,也可以在開源和商業(yè)許可證上使用。

結(jié)論:

為了獲得更好的產(chǎn)品質(zhì)量,根據(jù)項目的特定需求和所需的代碼覆蓋率級別,可以輕松選擇代碼覆蓋率工具。所有可用的代碼覆蓋工具都足以滿足基于代碼語言和結(jié)構(gòu)的獨立需求的代碼覆蓋所需的功能。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1554

    瀏覽量

    63289
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4880

    瀏覽量

    70000
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    812

    瀏覽量

    31630
收藏 人收藏

    評論

    相關(guān)推薦

    怎么用Vivado做覆蓋率分析

    在做仿真的時候往往會去做代碼覆蓋率和功能覆蓋率的分析,來保證仿真是做的比較充分完備的。
    的頭像 發(fā)表于 01-03 12:34 ?2174次閱讀
    怎么用Vivado做<b class='flag-5'>覆蓋率</b>分析

    嵌入式仿真平臺SkyEye的覆蓋率分析相關(guān)資料下載

    代碼執(zhí)娜行覆蓋情況的功能,來檢測代碼中未執(zhí)行覆蓋情況。在覆蓋率分析時需要分析嵌入式軟件的指令覆蓋率
    發(fā)表于 12-17 07:27

    重點厘清覆蓋率相關(guān)的概念以及在芯片開發(fā)流程中跟覆蓋率相關(guān)的事項

    。提個小建議,即使對SV相關(guān)語法很熟悉,實現(xiàn)覆蓋率模型的時候還是使用最直接和最簡單的方式。這樣可以提高可讀,便于維護(hù)和評審。03 代碼覆蓋率代碼
    發(fā)表于 09-14 11:57

    Verilog代碼覆蓋率檢查

    Verilog代碼覆蓋率檢查是檢查驗證工作是否完全的重要方法,代碼覆蓋率(codecoverge)可以指示Verilog
    發(fā)表于 04-29 12:35 ?8652次閱讀

    USCIS API的應(yīng)用程序發(fā)熱覆蓋率

    的建議以及分析運行過代碼覆蓋率的準(zhǔn)確。此外,我們還嘗試了自動化的一些方面,隨著工具開發(fā)人員對這個重要問題的重視,它很可能在未來進(jìn)行擴(kuò)展。
    發(fā)表于 09-15 10:53 ?2次下載
    USCIS API的應(yīng)用程序發(fā)熱<b class='flag-5'>覆蓋率</b>下

    在線測試覆蓋率的實現(xiàn)方法與重要性

    當(dāng)PCB制造商有電氣測試訪問每個節(jié)點板,原型被淘汰并縮短上市時間。這是你能做什么來幫助達(dá)到100%的測試覆蓋率
    的頭像 發(fā)表于 11-05 07:10 ?3175次閱讀

    嵌入式代碼覆蓋率統(tǒng)計方法和經(jīng)驗

    )是軟件測試中的一種度量,描述程式中源代碼被測試的比例和程度,所得比例稱為代碼覆蓋率。 ? 在進(jìn)行代碼測試時,常常使用代碼
    的頭像 發(fā)表于 01-06 15:06 ?3340次閱讀
    嵌入式<b class='flag-5'>代碼</b><b class='flag-5'>覆蓋率</b>統(tǒng)計方法和經(jīng)驗

    嵌入式代碼覆蓋率如何進(jìn)行統(tǒng)計有哪些方法和經(jīng)驗

    代碼覆蓋率是衡量軟件測試完成情況的指標(biāo),通常基于測試過程中已檢查的程序源代碼比例 計算得出。代碼覆蓋率可以有效避免包含未測試
    的頭像 發(fā)表于 01-09 11:12 ?3270次閱讀
    嵌入式<b class='flag-5'>代碼</b><b class='flag-5'>覆蓋率</b>如何進(jìn)行統(tǒng)計有哪些方法和經(jīng)驗

    統(tǒng)計嵌入式代碼覆蓋率的方法和經(jīng)驗

    )是軟件測試中的一種度量,描述程式中源代碼被測試的比例和程度,所得比例稱為代碼覆蓋率。 在進(jìn)行代碼測試時,常常使用代碼
    的頭像 發(fā)表于 03-29 11:58 ?2152次閱讀
    統(tǒng)計嵌入式<b class='flag-5'>代碼</b><b class='flag-5'>覆蓋率</b>的方法和經(jīng)驗

    怎么才能寫出高覆蓋率的Verilog代碼?

    設(shè)計的角度上來討論,如何寫出高覆蓋率的Verilog代碼。assign慎用按位運算邏輯, | ^ ^~和三目運算符,慎用。使用這樣的描述方式本身功能并沒有什么問題,而且寫起來很爽,但是在很多
    的頭像 發(fā)表于 06-01 10:13 ?2848次閱讀

    覆蓋率的Verilog代碼的編寫技巧

    設(shè)計工程師需要關(guān)心的主要有行覆蓋率(Block),條件覆蓋率(Expression),翻轉(zhuǎn)覆蓋率(Toggle),狀態(tài)機(jī)覆蓋率。本文從ASIC設(shè)計的角度上來討論,如何寫出高
    的頭像 發(fā)表于 05-26 17:30 ?4491次閱讀

    代碼覆蓋工具重要性

      它支持語句覆蓋、分支覆蓋和圈復(fù)雜度。它提供了分別選擇低、中、高和完整級別的代碼覆蓋率的規(guī)定。它非常易于使用和快速,也可用于開源和商業(yè)許可。
    的頭像 發(fā)表于 06-30 10:36 ?1005次閱讀
    <b class='flag-5'>代碼</b><b class='flag-5'>覆蓋</b><b class='flag-5'>工具</b>的<b class='flag-5'>重要性</b>

    更好地測量代碼覆蓋率的 9 個技巧

    測量代碼覆蓋率對于嵌入式系統(tǒng)來說越來越重要,但需要一些經(jīng)驗。這是因為有一些障礙需要克服,尤其是小目標(biāo)。但是,使用正確的方法和合適的工具,無需過多努力即可測量測試
    的頭像 發(fā)表于 07-14 15:58 ?3226次閱讀
    更好地測量<b class='flag-5'>代碼</b><b class='flag-5'>覆蓋率</b>的 9 個技巧

    如何獲得100%的安全關(guān)鍵系統(tǒng)結(jié)構(gòu)代碼覆蓋率

    許多軟件開發(fā)和驗證工程師其實并不能真正理解獲得結(jié)構(gòu)覆蓋率重要性。大部分人這么做只是因為這是他們行業(yè)的功能標(biāo)準(zhǔn)所要求的,而并沒有真正認(rèn)真對待它。
    的頭像 發(fā)表于 12-26 11:12 ?1377次閱讀

    代碼覆蓋率記錄

    為確保具體的產(chǎn)品(例如,醫(yī)療或航空電子市場)質(zhì)量合格, 通常需要提供語句覆蓋與判定覆蓋認(rèn)證證明。對于各種嵌 入式系統(tǒng),規(guī)范要求高度優(yōu)化的代碼需要實時測試。禁止 代碼插裝和運行時篡
    發(fā)表于 11-03 11:02 ?0次下載
    <b class='flag-5'>代碼</b><b class='flag-5'>覆蓋率</b>記錄