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)不再提示

選擇代碼覆蓋工具的 10 個標(biāo)準(zhǔn)

陸軍航空兵 ? 來源:陸軍航空兵 ? 作者:陸軍航空兵 ? 2022-07-20 18:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

為了開發(fā)安全可靠的軟件,測試是質(zhì)量保證不可或缺的一部分。如果沒有充分的記錄測試,就不可能確定軟件是否安全且功能是否正確。在這種情況下,代碼覆蓋率(測試覆蓋率)的測量尤為重要。這是因為它可以用來確定一個軟件已經(jīng)被測試的全面程度。代碼覆蓋率表示測試代碼與總代碼的比率。簡而言之,例如,如果在測試期間運行四分之三的可能選項,則代碼覆蓋率為 75%。

特別是在安全關(guān)鍵型軟件開發(fā)中,行業(yè)標(biāo)準(zhǔn)對代碼覆蓋率規(guī)定了精確的要求,因此如果沒有足夠的測試覆蓋率證明,產(chǎn)品就無法在此處進(jìn)行認(rèn)證。而且在其他開發(fā)項目中,公司也越來越重視軟件質(zhì)量和衡量代碼覆蓋率。

市場上有各種代碼覆蓋率分析儀可用于測量代碼覆蓋率。它們在處理和質(zhì)量方面存在顯著差異。出于這個原因,我們展示了選擇代碼覆蓋工具的十個基本標(biāo)準(zhǔn):

1. 獨立于編譯器

當(dāng)然,代碼覆蓋工具必須與項目中使用的編譯器配合使用。但是,從一開始就依賴于可以獨立于編譯器使用的工具是很有意義的。這樣的工具可以在所有項目中使用,在編譯器更改的情況下也可以在當(dāng)前項目中使用。可以獨立于編譯器使用的覆蓋工具可以以更多樣化的方式使用,因此是值得投資的。

2. 易用性

如果最好的軟件不必要地復(fù)雜或沒有經(jīng)過深思熟慮,則不情愿地(因此很少)使用它。另一方面,簡單的處理可以顯著提高用戶對使用測試覆蓋工具的接受度。理想情況下,該工具在后臺運行,并且在測試期間不會為用戶生成任何額外的工作。

3. 報道的可理解性

在評估覆蓋率報告時,應(yīng)該一目了然地知道哪些代碼部分已經(jīng)過測試,哪些地方仍然缺乏覆蓋率。使用良好的覆蓋率工具,測試人員可以輕松地在源代碼級別識別哪些測試用例仍然出色。通過執(zhí)行這些缺失的測試,可以有針對性地增加代碼覆蓋率。同時,這避免了因冗余測試而導(dǎo)致的不必要的工作。

poYBAGLO7YSAe2AlAAMJY_ah8x0377.jpg


圖:除了單個代碼部分的代碼覆蓋率概述(上),有效的代碼覆蓋率工具(如 Testwell CTC++)還顯示詳細(xì)信息(下),準(zhǔn)確顯示測試覆蓋源代碼的程度,即使是最高覆蓋率。(來源:Verifysoft Technology)

4. 為安全關(guān)鍵型開發(fā)提供更高覆蓋水平的支持

對于安全關(guān)鍵軟件的測試,標(biāo)準(zhǔn)(例如汽車領(lǐng)域的 ISO 26262、航空領(lǐng)域的 DO-178C 和鐵路運輸領(lǐng)域的 EN-50128)規(guī)定了最高 MC/DC 覆蓋范圍的高覆蓋水平。因此,必須確保覆蓋工具支持所有必需的覆蓋級別。為了能夠長期使用解決方案,不僅要考慮當(dāng)前的需求,還要考慮未來的需求。重要提示:許多覆蓋工具僅提供決策或分支覆蓋,因此不足以進(jìn)行安全關(guān)鍵型軟件開發(fā)。

代碼覆蓋率一覽

函數(shù)覆蓋率
函數(shù)覆蓋率衡量程序的所有函數(shù)是否都被調(diào)用。功能覆蓋率是通常測試覆蓋率級別中“最弱的”。

語句覆蓋率
語句覆蓋率衡量測試語句與所有語句相比的百分比。

決策覆蓋率/分支覆蓋率
在此覆蓋率級別,每個決策必須至少測試一次為真,一次為假。對于普通的 if 語句,這對應(yīng)于分支覆蓋,其中每個分支都必須已執(zhí)行。

條件覆蓋
條件覆蓋詳細(xì)考慮復(fù)合決策。對于由通過布爾運算符組成的多個原子條件組成的決策,必須將這些條件中的每一個單獨測試為“真”和“假”。

多條件覆蓋和修正條件/決策覆蓋 (MC/DC)
對于多條件覆蓋,必須檢查所有可能的真假組合以進(jìn)行復(fù)合決策。在一個決策中有多個條件的情況下,這需要大量幾乎不切實際的測試用例。因此,在實踐和標(biāo)準(zhǔn)中,修改后的條件/決策覆蓋率 (MC/DC) 是相關(guān)的,其中測試用例的數(shù)量減少了,而測試覆蓋率的信息價值仍然足夠高。

5. 靈活集成

即使在公司內(nèi)部,開發(fā)環(huán)境和工具鏈通常也非常多樣化。覆蓋工具應(yīng)該可以輕松應(yīng)對所有這些不同的環(huán)境。必須能夠無縫地集成到各自的構(gòu)建過程和測試的執(zhí)行中,并且無需付出很大的努力。如果該工具也可以通過命令行使用,則在創(chuàng)建自動構(gòu)建方面具有優(yōu)勢。

6. 低儀表開銷

大多數(shù)覆蓋率工具通過檢測源代碼來衡量代碼覆蓋率。源代碼由帶有“計數(shù)器”的覆蓋工具豐富,它計算相關(guān)代碼部分在測試期間執(zhí)行的位置和頻率。但是,這會增加原始代碼的大小。因此,在內(nèi)存有限的嵌入式目標(biāo)上進(jìn)行測試時,應(yīng)注意將這種所謂的檢測開銷保持在盡可能低的水平。各個代碼覆蓋工具之間的內(nèi)存需求差異有時是相當(dāng)大的。例如,Verifysoft Technology 的代碼覆蓋率分析器 Testwell CTC++ 在這方面非常節(jié)省資源。

7.支持不同的編程語言

公司經(jīng)常使用不同的編程語言或計劃在未來引入其他語言。因此,從一開始就選擇支持所有或盡可能多的這些語言的工具是有意義的。

8. 支持“創(chuàng)意”編程

一些覆蓋工具在分析偏離通用標(biāo)準(zhǔn)或嵌套深度較高的語言結(jié)構(gòu)時會遇到問題。然而,衡量測試覆蓋率的好工具也應(yīng)該能夠應(yīng)對“創(chuàng)造性”的編程風(fēng)格。

9. 安全關(guān)鍵軟件開發(fā)的適用性

在開發(fā)安全關(guān)鍵型軟件時,相關(guān)標(biāo)準(zhǔn)要求整個工具鏈必須經(jīng)過認(rèn)證。這里的目的是證明覆蓋分析器和整個工具鏈中使用的其他工具都能可靠地工作。專業(yè)代碼覆蓋工具的制造商通過鑒定工具包和工具鑒定建議支持軟件項目。在這種情況下,還應(yīng)注意所選的覆蓋工具是否已在安全關(guān)鍵項目中成功使用。

10. 評估許可、技術(shù)支持和客戶參考

應(yīng)在工具評估期間檢查覆蓋工具對自己項目的適用性。在此期間,您已經(jīng)對技術(shù)支持的表現(xiàn)有所了解。是否也可以通過電話或僅通過電子郵件獲得支持?支持人員的能力如何?響應(yīng)時間呢?用戶手冊有多好和實用?制造商是否也提供培訓(xùn)?最后但同樣重要的是,還建議查看制造商的客戶參考資料。這些可以提供有關(guān)覆蓋分析儀質(zhì)量和供應(yīng)商性能的更多信息。

結(jié)論

代碼覆蓋對于安全關(guān)鍵型軟件開發(fā)來說是強(qiáng)制性的,這是有充分理由的。但對于任何想要提高軟件質(zhì)量的人來說,這也是衡量和增加測試覆蓋率和價值的好方法。在選擇代碼覆蓋率分析器時,必須注意確保該工具滿足設(shè)定的要求。此外,易用性和專業(yè)支持等因素也起著重要作用。正確使用,一個好的測試覆蓋工具有助于顯著提高質(zhì)量,增加開發(fā)人員和測試人員的積極性,并以節(jié)省成本的方式執(zhí)行測試。

審核編輯 黃昊宇

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

    關(guān)注

    30

    文章

    4968

    瀏覽量

    73992
  • 覆蓋
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    半導(dǎo)體嵌入式單元測試的核心技術(shù)、工具選型與落地全流程

    的不確定性,確保測試結(jié)果能夠真實反映目標(biāo)機(jī)上的軟件行為。其次,它支持對經(jīng)過優(yōu)化處理的目標(biāo)代碼進(jìn)行測試,而傳統(tǒng)工具往往無法處理優(yōu)化后的代碼,導(dǎo)致測試覆蓋不全面。最后,它符合汽車行業(yè)ISO
    發(fā)表于 03-06 14:55

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

    強(qiáng)制覆蓋率要求 報告審計要求 ?ISO 26262?(ASIL D) 汽車電子 ?100% MC/DC?(修正條件/判定覆蓋) 必須由自動化工具生成?可追溯矩陣?(需求→代碼→測試用
    發(fā)表于 03-05 10:41

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

    ,生成可追蹤至需求ID的測試用例 支持ISO 26262對\"所有安全目標(biāo)相關(guān)代碼必須達(dá)到100% MC/DC覆蓋\"的強(qiáng)制要求 winAMS相比傳統(tǒng)測試工具的優(yōu)勢: ?零侵入測試
    發(fā)表于 12-18 11:46

    選擇10kVA不間斷電源前,必須搞懂的5參數(shù)與3大應(yīng)用場景

    一組精確的參數(shù)解讀,勝過十份模糊的產(chǎn)品手冊。選擇10kVA不間斷電源時,技術(shù)參數(shù)的精確理解往往比品牌選擇更為關(guān)鍵。01功率因數(shù)匹配:10kVA不等于
    的頭像 發(fā)表于 12-11 11:01 ?976次閱讀
    <b class='flag-5'>選擇</b><b class='flag-5'>10</b>kVA不間斷電源前,必須搞懂的5<b class='flag-5'>個</b>參數(shù)與3大應(yīng)用場景

    國內(nèi)哪些生成式 AI 工具最容易上手?企業(yè)真正看重的是“能馬上用起來”

    自動回復(fù)、工程團(tuán)隊做代碼輔助,大家都遇到同一痛點——工具多,但真正“落地順暢”的不多。這也是為什么“容易上手”正在成為企業(yè)選擇 AI 工具的首要標(biāo)準(zhǔn)
    的頭像 發(fā)表于 12-08 10:55 ?366次閱讀

    嵌入式開發(fā)工具版本的選擇策略

    兼容性測試標(biāo)準(zhǔn)過渡期支持策略 二、可靈活選擇軟件版本,但建議統(tǒng)一 有些工具,它對項目的“依耐性”不強(qiáng),基本上不同版本之間都能用,團(tuán)隊之間可以不用統(tǒng)一軟件版本。 比如J-Link 、ST-Link等這種
    發(fā)表于 11-25 06:11

    使用SAFERTOS與LDRA工具套件提升功能安全

    人員可以自動化代碼覆蓋分析,加速關(guān)鍵標(biāo)準(zhǔn)(如IEC 61508、ISO 26262、DO-178C等)的認(rèn)證過程。
    的頭像 發(fā)表于 11-11 09:44 ?639次閱讀

    代碼開發(fā)平臺推薦:2025國內(nèi)低代碼開發(fā)平臺排名TOP10

    是 2025 年國內(nèi)低代碼開發(fā)平臺排行榜 TOP10,為企業(yè)選擇適合的代碼開發(fā)平臺提供參考。 1. 普元低代碼平臺 普元低
    的頭像 發(fā)表于 10-28 10:22 ?748次閱讀

    嵌入式軟件測試與專業(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

    如何利用外部校驗工具驗證電能質(zhì)量在線監(jiān)測裝置的準(zhǔn)確性?

    ,判斷其誤差是否在規(guī)定精度范圍內(nèi)。該方法是校準(zhǔn)周期延長后、或日常懷疑裝置精度時最可靠的驗證手段,需遵循 “標(biāo)準(zhǔn)溯源、多工況覆蓋、數(shù)據(jù)閉環(huán)” 的原則。以下是具體操作流程、工具選擇及關(guān)鍵要
    的頭像 發(fā)表于 09-11 17:24 ?816次閱讀
    如何利用外部校驗<b class='flag-5'>工具</b>驗證電能質(zhì)量在線監(jiān)測裝置的準(zhǔn)確性?

    如何選擇適合的標(biāo)準(zhǔn)源設(shè)備來校準(zhǔn)電能質(zhì)量在線監(jiān)測裝置?

    選擇適合的標(biāo)準(zhǔn)源設(shè)備校準(zhǔn)電能質(zhì)量在線監(jiān)測裝置(以下簡稱 “監(jiān)測裝置”),核心是 匹配校準(zhǔn)需求、覆蓋技術(shù)參數(shù)、適配應(yīng)用場景 ,需從 “校準(zhǔn)目標(biāo)→技術(shù)指標(biāo)→場景適配→附加能力” 四維度層
    的頭像 發(fā)表于 09-04 16:50 ?866次閱讀
    如何<b class='flag-5'>選擇</b>適合的<b class='flag-5'>標(biāo)準(zhǔn)</b>源設(shè)備來校準(zhǔn)電能質(zhì)量在線監(jiān)測裝置?

    如何選擇適合自己項目的通信協(xié)議評估工具?

    驟的決策框架,結(jié)合項目關(guān)鍵變量(如協(xié)議類型、評估目標(biāo)、資源約束等),幫助精準(zhǔn)匹配工具: 一、先明確 3 核心決策前提:錨定選型方向 在選擇工具前,需先梳理項目的基礎(chǔ)約束,這是后續(xù)篩選
    的頭像 發(fā)表于 08-27 09:19 ?722次閱讀
    如何<b class='flag-5'>選擇</b>適合自己項目的通信協(xié)議評估<b class='flag-5'>工具</b>?

    HarmonyOS AI輔助編程工具(CodeGenie)代碼測試

    放置于方法名稱上或框選完整的待測試方法代碼塊,右鍵選擇CodeGenie > Generate UT,開始生成單元測試用例。 說明 最多支持解讀20000字符以內(nèi)的代碼片段。ArkUI
    發(fā)表于 07-14 17:33

    安森美再談圖像傳感器的選擇標(biāo)準(zhǔn)

    要成功設(shè)計和開發(fā)需要圖像傳感器的設(shè)備,了解選擇標(biāo)準(zhǔn)的復(fù)雜性和細(xì)微差別至關(guān)重要。設(shè)計人員需要從眾多參數(shù)中進(jìn)行選擇,例如分辨率、像素大小、像素類型、幀率、快門類型、光學(xué)格式、功能特性等。選擇
    的頭像 發(fā)表于 03-12 11:37 ?1096次閱讀

    STM32CubeMX生成代碼就會覆蓋CMakeLists.txt文件,怎么解決?

    請教一下用STM32CubeMX生成代碼后,我自己加了一頭文件和源文件,這些自己加的文件不是要配置到CMakeLists.txt編譯么,但下載在用STM32CubeMX生成成代碼,就會覆蓋
    發(fā)表于 03-12 08:03