91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

代碼覆蓋工具的重要性

星星科技指導(dǎo)員 ? 來源:嵌入式計算設(shè)計 ? 作者:Hetal Chauhan ? 2022-06-30 10:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

如何選擇代碼覆蓋工具

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

pYYBAGK9DECAFBmAAAB_oVwPTY4050.png

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

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

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

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

pYYBAGK9DEqAHrUPAAI6TKc06RM489.png

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

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

2. 覆蓋范圍

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

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

3. Coverage.py

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

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

4. Gcov-Lcov

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

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

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

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

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

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

5.Testwell CTC++

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

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

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

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

6. 無蓋

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ù)雜度。它提供了分別選擇低、中、高和完整級別的代碼覆蓋率的規(guī)定。它非常易于使用和快速,也可用于開源和商業(yè)許可。

結(jié)論

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

審核編輯:郭婷

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

    關(guān)注

    20

    文章

    3001

    瀏覽量

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

    關(guān)注

    1

    文章

    1672

    瀏覽量

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

    關(guān)注

    3

    文章

    697

    瀏覽量

    43473
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    嵌入式軟件單元測試必要與專業(yè)工具重要性的系統(tǒng)專業(yè)研究報告

    , 2024 ?結(jié)論?:在安全關(guān)鍵領(lǐng)域,單元測試不是“最佳實(shí)踐”,而是?法律義務(wù)?。未滿足覆蓋率要求的系統(tǒng),將無法通過認(rèn)證,禁止上市。 ?3. 工具重要性:從“人工測試”到“機(jī)器審計”的范式遷移
    發(fā)表于 03-05 10:41

    IC引腳失效模式和影響分析(FMEA)的重要性

    本文旨在深入探討IC引腳失效模式和影響分析(FMEA)的重要性,并結(jié)合ADI公司的安全事項(xiàng)應(yīng)用筆記,說明FMEA在功能安全標(biāo)準(zhǔn)(如IEC 61508和ISO 13849)合規(guī)過程中的實(shí)踐意義。功能
    的頭像 發(fā)表于 01-29 15:40 ?4206次閱讀
    IC引腳失效模式和影響分析(FMEA)的<b class='flag-5'>重要性</b>

    UPS電源的未來發(fā)展與核心重要性深度解析

    與形態(tài)正在發(fā)生根本性重塑。本文將從行業(yè)視角,深入剖析UPS電源無可替代的重要性及其未來的發(fā)展趨勢。第一部分:基石與命脈——UPS在當(dāng)代社會的核心重要性再認(rèn)識UPS
    的頭像 發(fā)表于 01-04 09:27 ?2075次閱讀
    UPS電源的未來發(fā)展與核心<b class='flag-5'>重要性</b>深度解析

    C語言單元測試在嵌入式軟件開發(fā)中的作用及專業(yè)工具的應(yīng)用

    替代的重要性,特別是在汽車電子、工業(yè)控制、航空航天等安全關(guān)鍵領(lǐng)域。winAMS作為專業(yè)的嵌入式C語言單元測試工具,通過其編譯器級代碼解析、目標(biāo)代碼
    發(fā)表于 12-18 11:46

    提升可靠,防水透氣膜的多重功能的重要性

    提升可靠,防水透氣膜的多重功能的重要性
    的頭像 發(fā)表于 12-03 17:34 ?498次閱讀
    提升可靠<b class='flag-5'>性</b>,防水透氣膜的多重功能的<b class='flag-5'>重要性</b>

    UPS不間斷電源的重要性

    在高度依賴電力的今天,一次短暫的斷電或細(xì)微的電壓波動,都可能引發(fā)一場難以估量的“數(shù)字災(zāi)難”。UPS不間斷電源,已從一個可選的輔助設(shè)備,演進(jìn)為保障核心業(yè)務(wù)連續(xù)的戰(zhàn)略基石。它的重要性,遠(yuǎn)不止“備用
    的頭像 發(fā)表于 11-11 13:20 ?343次閱讀
    UPS不間斷電源的<b class='flag-5'>重要性</b>

    嵌入式軟件測試與專業(yè)測試工具的必要深度解析

    系統(tǒng)化解決方案,其必要體現(xiàn)在多個維度:滿足行業(yè)合規(guī)要求汽車電子ISO 26262、航空DO-178C等標(biāo)準(zhǔn)強(qiáng)制要求代碼覆蓋率指標(biāo)達(dá)到C1(分支覆蓋)≥100%、MC/DC(修正條件判
    發(fā)表于 09-28 17:42

    園區(qū)智能照明系統(tǒng)的重要性

    技術(shù)和自動控制技術(shù),對傳統(tǒng)照明實(shí)現(xiàn)了徹底的范式革命。其重要性不僅體現(xiàn)在顯著的節(jié)能效益上,更在于它為園區(qū)運(yùn)營管理所帶來的系統(tǒng)提升與戰(zhàn)略價值。 一、 提升安全保障與視覺環(huán)境 1. 增強(qiáng)公共安全:系統(tǒng)可根據(jù)季節(jié)、天氣
    的頭像 發(fā)表于 09-19 14:01 ?403次閱讀
    園區(qū)智能照明系統(tǒng)的<b class='flag-5'>重要性</b>

    鋰電池測試設(shè)備的重要性與應(yīng)用

    不斷增長,對電池質(zhì)量的要求也越來越高。因此,鋰電池測試設(shè)備的重要性日益凸顯。 鋰電池測試通常包括多個方面,例如容量測試、內(nèi)阻測試、循環(huán)壽命測試、安全性能測試等。通過這些測試,可以全面了解電池在實(shí)際使用中的表
    的頭像 發(fā)表于 09-16 14:04 ?575次閱讀

    120Ω的秘密:CAN總線終端電阻的重要性

    CAN總線作為一種廣泛應(yīng)用的工業(yè)通信協(xié)議,其終端電阻的作用不容忽視。本文將詳細(xì)探討CAN總線終端電阻的重要性及其在通信中的關(guān)鍵作用。CAN總線終端電阻的重要性CAN總線終端電阻顧名思義就是夾在總線
    的頭像 發(fā)表于 08-08 11:35 ?1118次閱讀
    120Ω的秘密:CAN總線終端電阻的<b class='flag-5'>重要性</b>

    線束連接器氣密檢測儀:原理與重要性解析-岳信儀器

    在現(xiàn)代工業(yè)領(lǐng)域,線束連接器作為電氣系統(tǒng)的關(guān)鍵組件,發(fā)揮著連接和傳輸信號的重要作用。而線束連接器氣密檢測儀則是保障其性能的重要工具,下面就來深入了解其原理與
    的頭像 發(fā)表于 08-02 13:51 ?712次閱讀
    線束連接器氣密<b class='flag-5'>性</b>檢測儀:原理與<b class='flag-5'>重要性</b>解析-岳信儀器

    PCBA加工必看!BOM表的重要性大揭秘

    一站式PCBA加工廠家今天為大家講講PCBA加工中BOM表的內(nèi)容和格式有什么要求?BOM表在PCBA加工中的重要性。在PCBA加工中,BOM表(物料清單)扮演著至關(guān)重要的角色,是連接設(shè)計與制造的重要
    的頭像 發(fā)表于 06-18 10:15 ?1151次閱讀

    分享原子鐘在科研領(lǐng)域的重要性

    ,以其無與倫比的精度和穩(wěn)定性,成為了科研領(lǐng)域的核心設(shè)備之一。本文將深入探討原子鐘在科研領(lǐng)域的重要性,揭示其如何推動科學(xué)技術(shù)的進(jìn)步。1.天文學(xué)與宇宙研究在天文學(xué)領(lǐng)域,
    的頭像 發(fā)表于 05-15 15:55 ?782次閱讀
    分享原子鐘在科研領(lǐng)域的<b class='flag-5'>重要性</b>

    連接器氣密檢測的重要性

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

    PCB拼板設(shè)計全解析:重要性、優(yōu)勢與應(yīng)用實(shí)踐

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