在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

代碼覆蓋工具的重要性

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Hetal Chauhan ? 2022-06-30 10:36 ? 次閱讀

世界已經目睹了一些災難性事件,僅僅是因為軟件中的錯誤。2008 年發生了一起此類事件,行李處理系統軟件的測試覆蓋實踐出現故障導致 500 多個航班取消。

測試覆蓋率是衡量軟件質量的重要指標,也是軟件維護的重要組成部分。它通過提供不同覆蓋項目的數據來幫助評估測試的有效性。這種洞察力可以通過為未經測試的代碼定義新的測試用例來改進測試,然后提高代碼質量,最終增加代碼覆蓋率并降低成本。

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

項目生命周期早期的缺陷預防

創建額外的測試用例以增加覆蓋率

通過減少 UAT 缺陷和生產缺陷可以實現更好的 ROI

它有助于找到一組測試用例未執行的程序區域

通過管理基于風險的測試方法,測試將變得更加順暢

幫助確定代碼覆蓋率的定量測量,間接測量應用程序或產品的質量

如何選擇代碼覆蓋工具

真正的挑戰是選擇哪些代碼覆蓋工具用于應用程序測試。一個有效的工具可以幫助衡量測試工作的有效性 根據用于編碼的語言,有幾個選項可以創建代碼覆蓋率報告。下面列出了一些與編碼語言相關的流行工具:

pYYBAGK9DECAFBmAAAB_oVwPTY4050.png

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

此外,還有其他適用于所有主要語言的覆蓋測試工具,其中一些不僅與單元測試相關,而且與執行的整體測試(單元、集成、系統、手冊等)相關。下面是一些有助于運行測試程序的趨勢代碼覆蓋工具列表。

1. 默認 Visual Studio 代碼覆蓋率

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

pYYBAGK9DEqAHrUPAAI6TKc06RM489.png

圖 1:結果表:Visual Studio

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

2. 覆蓋范圍

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

可以通過 Ant、命令行、Eclipse 插件或 Maven 插件執行。它易于使用,無需源代碼即可測量覆蓋率。它以 HTML 或 XML 格式提供報告,并具有測試類和方法的行和分支的能力。

3. Coverage.py

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

Coverage.py 可用于 Tidelift 以提供一個企業訂閱。其他方式包括通過命令行、API 以及 Django 和 Mako 插件執行。

4. Gcov-Lcov

Gcov 是一個與 GCC 一起使用的測試覆蓋程序。它分析程序以幫助創建更高效、更快運行的代碼,以發現代碼中未經測試的部分。

它充當分析工具,有助于分析一些基本的性能統計信息,例如:

每行代碼執行的次數

實際執行了哪些代碼行

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

Lcov 是 Gcov 的圖形前端。它收集多個源文件的 gcov 數據并創建 HTML 頁面,其中包含帶有覆蓋信息注釋的源代碼。它還添加了概覽頁面,以便在文件結構中輕松導航。Lcov 支持語句、函數和分支覆蓋率測量。

5.Testwell CTC++

Testwell CTC++ 是一款功能強大的基于儀器的代碼覆蓋和動態分析工具,適用于C和C++代碼。它可以用于具有特定附加組件的C# 、Java和Objective-C代碼。它也可以用來在任何嵌入式目標機器上分析代碼。

CTC++提供行覆蓋、語句覆蓋、函數覆蓋、決策覆蓋、多條件覆蓋、修改條件/決策覆蓋(MC/DC)、條件覆蓋。

作為動態分析工具,CTC++在代碼中顯示了執行計數器(執行了多少次)。它還可用于測量函數執行成本(通常是時間)并在測試時啟用函數進入/退出跟蹤。

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

6. 無蓋

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

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

它支持語句覆蓋、分支覆蓋和圈復雜度。它提供了分別選擇低、中、高和完整級別的代碼覆蓋率的規定。它非常易于使用和快速,也可用于開源和商業許可。

結論

為了更好的產品質量,根據項目的具體需求和所需的代碼覆蓋率水平,很容易選擇代碼覆蓋率工具。基于代碼語言和結構的獨立需求,所有可用的代碼覆蓋工具都足以滿足代碼覆蓋所需的能力。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    20

    文章

    2984

    瀏覽量

    106750
  • 編譯器
    +關注

    關注

    1

    文章

    1653

    瀏覽量

    49822
  • GUI
    GUI
    +關注

    關注

    3

    文章

    674

    瀏覽量

    40675
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    連接器氣密檢測的重要性

    。連接器氣密檢測的重要性?惡劣環境電氣連接保障:潮濕、粉塵、腐蝕性氣體、溫度劇變等惡劣環境,氣密不良將導致觸點腐蝕、絕緣下降、信號中斷等故障,威脅設備安全運行
    的頭像 發表于 03-17 11:01 ?259次閱讀
    連接器氣密<b class='flag-5'>性</b>檢測的<b class='flag-5'>重要性</b>

    PCB拼板設計全解析:重要性、優勢與應用實踐

    一站式PCBA智造廠家今天為大家講講PCB拼板設計的重要性表現哪些方面?PCB拼板設計的基本概念及其重要性。在電子制造行業,SMT貼片工藝中,PCB拼板設計是一項極為關鍵的步驟。通過優化PCB拼板
    的頭像 發表于 03-13 09:35 ?374次閱讀
    PCB拼板設計全解析:<b class='flag-5'>重要性</b>、優勢與應用實踐

    構建綜合指揮調度系統的重要性

    構建綜合指揮調度系統的重要性不言而喻,它對于提升應急響應速度、優化資源配置、加強跨部門協作、提高決策效率和確保公共安全等方面都具有至關重要的作用。以下是古河云科技構建綜合指揮調度系統重要性的幾個關鍵方面:
    的頭像 發表于 02-06 16:56 ?413次閱讀

    電橋在電子測試中的重要性

    電橋在電子測試中的重要性體現在多個方面,以下是詳細的分析: 一、精確測量電參數 電橋作為一種精密的測量工具,能夠精確測量電阻、電容、電感等電參數。在電子測試中,這些參數的準確
    的頭像 發表于 01-09 10:03 ?619次閱讀

    PCB板元器件點膠加固的重要性

    PCB板元器件點膠加固的重要性PCB板元器件點膠加固在電子制造過程中起到了至關重要的作用,其重要性主要體現在以下幾個方面:一、提高機械強度點膠加固可以顯著降低電子元件的翹曲和變形現象,從而提高整個
    的頭像 發表于 12-20 10:18 ?907次閱讀
    PCB板元器件點膠加固的<b class='flag-5'>重要性</b>

    汽車軟件單元測試的重要性

    和測試不充分密切相關,這引發了社會各界對汽車軟件健壯重要性進行深入思考。本文將探討汽車軟件的測試,尤其是單元測試的重要性,以及WinAMS單元測試工具在這一過程中的關鍵作用。 一、
    的頭像 發表于 11-29 10:57 ?430次閱讀

    PROM器件在物聯網設備中的重要性

    PROM器件(Programmable Read-Only Memory,可編程只讀存儲器)在物聯網(IoT)設備中扮演著至關重要的角色。以下是關于PROM器件在物聯網設備中重要性的分析: 一、存儲
    的頭像 發表于 11-23 11:35 ?594次閱讀

    BMS電池管理系統的重要性

    如今,鋰電池已經成為很多電子產品的標配,而BMS作為鋰電池的大腦,其重要性不言而喻。BMS作為鋰電池系統的核心部件,主要負責監控、控制和管理電池組的狀態,確保電池組在安全、穩定、高效的條件下運行。
    的頭像 發表于 10-21 09:43 ?981次閱讀
    BMS電池管理系統的<b class='flag-5'>重要性</b>

    示波器探頭接地的重要性

    在電子測量領域,示波器是一種不可或缺的工具,它能夠捕捉和顯示電壓隨時間變化的波形。然而,要確保這些測量的準確和安全,示波器探頭的正確接地是至關重要的。接地不僅僅是一個簡單的操作步驟
    的頭像 發表于 10-15 11:32 ?782次閱讀

    關于蓄電池氣密檢測儀重要性和使用方法

    在能源存儲領域,電池的性能和安全非常重要,氣密作為衡量其質量的關鍵指標之一,直接影響電池的使用壽命、性能和安全。因此,蓄電池氣密檢測
    的頭像 發表于 08-23 15:48 ?517次閱讀
    關于蓄電池氣密<b class='flag-5'>性</b>檢測儀<b class='flag-5'>重要性</b>和使用方法

    岳信儀器:水下燈具氣密測漏儀的重要性與選擇指南

    重要性不言而喻,是保證燈具防水性能的關鍵工具。一、重要性確保安全:氣密試驗可以有效地識別燈具中的微小泄漏點,避免觸電、短路等安全隱患,避免使用過程中滲水造成的
    的頭像 發表于 08-13 14:47 ?292次閱讀
    岳信儀器:水下燈具氣密測漏儀的<b class='flag-5'>重要性</b>與選擇指南

    NLP技術在人工智能領域的重要性

    智能的橋梁,其重要性日益凸顯。本文將從NLP的定義、發展歷程、核心技術、應用領域以及對人工智能領域的深遠影響等多個維度,深入探討NLP技術在人工智能領域的重要性
    的頭像 發表于 07-04 16:03 ?1104次閱讀

    求助,ADC接地的重要性

    ADC接地的重要性
    發表于 06-04 07:56

    露天礦邊坡監測的重要性與方法

    露天礦邊坡監測的重要性與方法
    的頭像 發表于 05-28 16:24 ?695次閱讀

    論RISC-V的MCU中UART接口的重要性

    RISC-V的MCU(微控制器單元)中UART(通用異步收發器)接口的重要性主要體現在以下幾個方面: 廣泛的適用 : UART接口是一種用于連接兩個計算機設備的接口,允許一個設備向另一個設備發送
    發表于 05-27 15:52
    主站蜘蛛池模板: 久久婷婷国产综合精品 | 国产在线播放一区 | 看大片全色黄大色黄 | 狠狠色丁香婷婷综合小时婷婷 | 色偷偷91综合久久噜噜噜男男 | 久久视频精品线视频在线网站 | 欧洲不卡一卡2卡三卡4卡网站 | 婷婷色九月综合激情丁香 | 国产日韩欧美一区二区 | 日本老师69xxxxxxxxx | 性欧美大胆高清视频 | 奇米久草| 欧美日操 | 四虎影视大全免费入口 | 99久久99这里只有免费费精品 | 四虎最新紧急入口 | 亚洲国产精品久久久久婷婷老年 | 国产精品福利视频手机免费观看 | 国产精品www夜色影视 | 白嫩美女一级高清毛片免费看 | 午夜一区二区三区 | 色优优| 特黄级 | 久久久五月天 | 国产青青草 | 大尺度视频网站久久久久久久久 | 天天干干 | 欧美特黄特色aaa大片免费看 | 久久国模 | 国产一区二区精品 | 特黄特色三级在线观看 | 婷婷午夜天 | 国产3p在线播放 | sihu国产午夜精品一区二区三区 | 五月婷花 | 欧美性喷潮xxxx | 182tv免费视视频线路一二三 | 欧美精品一级 | 五月婷婷激情五月 | 一个色在线视频 | 色拍拍综合网 |