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

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

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

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

代碼覆蓋工具的重要性

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Hetal Chauhan ? 2022-06-30 10:36 ? 次閱讀

世界已經(jīng)目睹了一些災(zāi)難性事件,僅僅是因?yàn)檐浖械腻e(cuò)誤。2008 年發(fā)生了一起此類(lèi)事件,行李處理系統(tǒng)軟件的測(cè)試覆蓋實(shí)踐出現(xiàn)故障導(dǎo)致 500 多個(gè)航班取消。

測(cè)試覆蓋率是衡量軟件質(zhì)量的重要指標(biāo),也是軟件維護(hù)的重要組成部分。它通過(guò)提供不同覆蓋項(xiàng)目的數(shù)據(jù)來(lái)幫助評(píng)估測(cè)試的有效性。這種洞察力可以通過(guò)為未經(jīng)測(cè)試的代碼定義新的測(cè)試用例來(lái)改進(jìn)測(cè)試,然后提高代碼質(zhì)量,最終增加代碼覆蓋率并降低成本。

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

項(xiàng)目生命周期早期的缺陷預(yù)防

創(chuàng)建額外的測(cè)試用例以增加覆蓋率

通過(guò)減少 UAT 缺陷和生產(chǎn)缺陷可以實(shí)現(xiàn)更好的 ROI

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

通過(guò)管理基于風(fēng)險(xiǎn)的測(cè)試方法,測(cè)試將變得更加順暢

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

如何選擇代碼覆蓋工具

真正的挑戰(zhàn)是選擇哪些代碼覆蓋工具用于應(yīng)用程序測(cè)試。一個(gè)有效的工具可以幫助衡量測(cè)試工作的有效性 根據(jù)用于編碼的語(yǔ)言,有幾個(gè)選項(xiàng)可以創(chuàng)建代碼覆蓋率報(bào)告。下面列出了一些與編碼語(yǔ)言相關(guān)的流行工具:

pYYBAGK9DECAFBmAAAB_oVwPTY4050.png

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

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

1. 默認(rèn) Visual Studio 代碼覆蓋率

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

pYYBAGK9DEqAHrUPAAI6TKc06RM489.png

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

報(bào)告可以以塊或行的形式獲得。管理代碼覆蓋結(jié)果以及合并來(lái)自不同運(yùn)行的結(jié)果也很容易。

2. 覆蓋范圍

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

可以通過(guò) Ant、命令行、Eclipse 插件或 Maven 插件執(zhí)行。它易于使用,無(wú)需源代碼即可測(cè)量覆蓋率。它以 HTML 或 XML 格式提供報(bào)告,并具有測(cè)試類(lèi)和方法的行和分支的能力。

3. Coverage.py

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

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

4. Gcov-Lcov

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

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

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

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

每段代碼使用多少計(jì)算時(shí)間

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

5.Testwell CTC++

Testwell CTC++ 是一款功能強(qiáng)大的基于儀器的代碼覆蓋和動(dòng)態(tài)分析工具,適用于C和C++代碼。它可以用于具有特定附加組件的C# 、Java和Objective-C代碼。它也可以用來(lái)在任何嵌入式目標(biāo)機(jī)器上分析代碼。

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

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

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

6. 無(wú)蓋

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

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

它支持語(yǔ)句覆蓋、分支覆蓋和圈復(fù)雜度。它提供了分別選擇低、中、高和完整級(jí)別的代碼覆蓋率的規(guī)定。它非常易于使用和快速,也可用于開(kāi)源和商業(yè)許可。

結(jié)論

為了更好的產(chǎn)品質(zhì)量,根據(jù)項(xiàng)目的具體需求和所需的代碼覆蓋率水平,很容易選擇代碼覆蓋率工具。基于代碼語(yǔ)言和結(jié)構(gòu)的獨(dú)立需求,所有可用的代碼覆蓋工具都足以滿(mǎn)足代碼覆蓋所需的能力。

審核編輯:郭婷

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

    關(guān)注

    19

    文章

    2975

    瀏覽量

    105150
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1642

    瀏覽量

    49287
  • GUI
    GUI
    +關(guān)注

    關(guān)注

    3

    文章

    662

    瀏覽量

    39893
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    構(gòu)建綜合指揮調(diào)度系統(tǒng)的重要性

    構(gòu)建綜合指揮調(diào)度系統(tǒng)的重要性不言而喻,它對(duì)于提升應(yīng)急響應(yīng)速度、優(yōu)化資源配置、加強(qiáng)跨部門(mén)協(xié)作、提高決策效率和確保公共安全等方面都具有至關(guān)重要的作用。以下是古河云科技構(gòu)建綜合指揮調(diào)度系統(tǒng)重要性的幾個(gè)關(guān)鍵方面:
    的頭像 發(fā)表于 02-06 16:56 ?28次閱讀

    電橋在電子測(cè)試中的重要性

    電橋在電子測(cè)試中的重要性體現(xiàn)在多個(gè)方面,以下是詳細(xì)的分析: 一、精確測(cè)量電參數(shù) 電橋作為一種精密的測(cè)量工具,能夠精確測(cè)量電阻、電容、電感等電參數(shù)。在電子測(cè)試中,這些參數(shù)的準(zhǔn)確
    的頭像 發(fā)表于 01-09 10:03 ?184次閱讀

    PCB板元器件點(diǎn)膠加固的重要性

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

    汽車(chē)軟件單元測(cè)試的重要性

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

    PROM器件在物聯(lián)網(wǎng)設(shè)備中的重要性

    PROM器件(Programmable Read-Only Memory,可編程只讀存儲(chǔ)器)在物聯(lián)網(wǎng)(IoT)設(shè)備中扮演著至關(guān)重要的角色。以下是關(guān)于PROM器件在物聯(lián)網(wǎng)設(shè)備中重要性的分析: 一、存儲(chǔ)
    的頭像 發(fā)表于 11-23 11:35 ?354次閱讀

    示波器探頭接地的重要性

    在電子測(cè)量領(lǐng)域,示波器是一種不可或缺的工具,它能夠捕捉和顯示電壓隨時(shí)間變化的波形。然而,要確保這些測(cè)量的準(zhǔn)確和安全,示波器探頭的正確接地是至關(guān)重要的。接地不僅僅是一個(gè)簡(jiǎn)單的操作步驟
    的頭像 發(fā)表于 10-15 11:32 ?402次閱讀

    NLP技術(shù)在人工智能領(lǐng)域的重要性

    智能的橋梁,其重要性日益凸顯。本文將從NLP的定義、發(fā)展歷程、核心技術(shù)、應(yīng)用領(lǐng)域以及對(duì)人工智能領(lǐng)域的深遠(yuǎn)影響等多個(gè)維度,深入探討NLP技術(shù)在人工智能領(lǐng)域的重要性
    的頭像 發(fā)表于 07-04 16:03 ?685次閱讀

    求助,ADC接地的重要性

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

    露天礦邊坡監(jiān)測(cè)的重要性與方法

    露天礦邊坡監(jiān)測(cè)的重要性與方法
    的頭像 發(fā)表于 05-28 16:24 ?516次閱讀

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

    RISC-V的MCU(微控制器單元)中UART(通用異步收發(fā)器)接口的重要性主要體現(xiàn)在以下幾個(gè)方面: 廣泛的適用 : UART接口是一種用于連接兩個(gè)計(jì)算機(jī)設(shè)備的接口,允許一個(gè)設(shè)備向另一個(gè)設(shè)備發(fā)送
    發(fā)表于 05-27 15:52

    頻譜儀的觸發(fā)方式及其重要性

    在無(wú)線通信、電子工程及科研領(lǐng)域中,頻譜儀是不可或缺的測(cè)量與分析工具。頻譜儀能夠?qū)崟r(shí)捕獲和分析信號(hào)的頻譜特性,從而幫助工程師和技術(shù)人員了解信號(hào)的狀態(tài),優(yōu)化系統(tǒng)性能。然而,頻譜儀的觸發(fā)方式對(duì)于其測(cè)量結(jié)果的準(zhǔn)確和可靠性具有重要影響。
    的頭像 發(fā)表于 05-20 18:01 ?1545次閱讀

    氣密檢測(cè)的重要性

    ,旨在確定產(chǎn)品或系統(tǒng)的密封性能是否符合設(shè)計(jì)標(biāo)準(zhǔn)和規(guī)范要求。接下來(lái),我們將深入探討氣密檢測(cè)的幾個(gè)關(guān)鍵方面,以揭示其不可或缺的重要性。一、安全性氣密檢測(cè)的首要目的是確
    的頭像 發(fā)表于 04-26 11:51 ?994次閱讀
    氣密<b class='flag-5'>性</b>檢測(cè)的<b class='flag-5'>重要性</b>

    集成芯片的重要性和必要

    集成芯片在現(xiàn)代科技和工業(yè)中占據(jù)著至關(guān)重要的地位,其重要性和必要主要體現(xiàn)在以下幾個(gè)方面。
    的頭像 發(fā)表于 03-18 15:17 ?1337次閱讀

    模擬前端電路的重要性

    模擬前端電路在電子系統(tǒng)中占據(jù)著舉足輕重的地位,其重要性不容忽視。模擬前端電路作為連接真實(shí)世界與數(shù)字世界的橋梁,起到了至關(guān)重要的作用。它負(fù)責(zé)將傳感器等物理設(shè)備捕捉到的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),以供后續(xù)的數(shù)字電路或處理器進(jìn)行分析和處理。下面,我們將從多個(gè)角度詳細(xì)探討模擬前端電路
    的頭像 發(fā)表于 03-16 15:07 ?720次閱讀

    蜂鳴器的用途和重要性

    蜂鳴器的用途和重要性? 蜂鳴器是一種能夠發(fā)出高音頻或低音頻聲音的設(shè)備,常用于警報(bào)系統(tǒng)、電子設(shè)備、通信系統(tǒng)和家庭電器中。它作為一種重要的聲音輸出設(shè)備,具有廣泛的用途和重要性。 首先,蜂鳴器在警報(bào)系統(tǒng)中
    的頭像 發(fā)表于 02-19 10:27 ?3631次閱讀
    主站蜘蛛池模板: 一级特黄a免费大片 | 欧美一级特黄aa大片视频 | 男人午夜免费视频 | 手机在线播放视频 | 伊人天堂在线 | 国模网站 | 日本又粗又长一进一出抽搐 | 国产精品伦理一区二区三区 | 2019天天干天天操 | 亚洲合集综合久久性色 | 卡2卡三卡四卡精品公司 | 性欧美欧美 | 日本护士撒尿 | 久久综合九色综合网站 | yy4080一级毛片免费观看 | 亚洲第一成人影院 | 色综合天天综合网看在线影院 | 国产色网站 | 性生交大片免费一级 | 夜夜骑狠狠干 | 全黄色一级片 | 免费中国一级啪啪片 | 在线免费视频网站 | 小泽玛利亚在线观看123 | 国产特黄特色的大片观看免费视频 | 亚洲国产精品久久久久婷婷老年 | 色爽视频 | 美女露出尿口让男人桶爽网站 | 国产精品色片 | 天天摸夜夜摸成人免费视频 | 久久国产精品久久久久久 | 精品亚洲午夜久久久久 | 天天操天天碰 | 黄视频福利 | 天天综合视频网 | 欧美色插| 日本h片在线观看 | 免费色视频网站 | 亚洲精品成人a在线观看 | 黄色国产 | 欧美三级视频网站 |