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

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

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

100%代碼覆蓋率分析是否必不可少

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:JAY THOMAS ? 2022-11-01 10:46 ? 次閱讀

安全關(guān)鍵型軟件標(biāo)準(zhǔn)高度關(guān)注如何有效地測(cè)試軟件。他們指出,有效的軟件測(cè)試需要一種規(guī)范的方法,其中代碼覆蓋率用于提供有關(guān)迄今為止測(cè)試有效性的反饋。應(yīng)用于系統(tǒng)的測(cè)試嚴(yán)格程度必須由系統(tǒng)故障的影響決定。后果越嚴(yán)重,測(cè)試必須越嚴(yán)格。

覆蓋率分析是軟件安全的重要組成部分,但隨之而來的是兩個(gè)問題 - 覆蓋率是多少 - 以及我如何最大限度地減少實(shí)施流程所涉及的工作量。讓我們看一下安全關(guān)鍵流程標(biāo)準(zhǔn)的指南,看看它們?nèi)绾斡懻摳采w范圍,以及覆蓋范圍如何影響風(fēng)險(xiǎn)管理。我們還將考慮實(shí)施工作 - 基本規(guī)則是從簡(jiǎn)單開始并建立 - 并嘗試了解這些因素如何結(jié)合在一起。

在現(xiàn)實(shí)生活中 – 從選擇承保級(jí)別的實(shí)際角度來看,始終從報(bào)表承保范圍開始,并在必要時(shí)從那里開始工作。DO-178 和 ISO 26262 的指南可幫助您確定適合您項(xiàng)目的覆蓋級(jí)別。這兩個(gè)標(biāo)準(zhǔn)都要求進(jìn)行系統(tǒng)安全評(píng)估,以確定故障的影響和系統(tǒng)目標(biāo)故障率,這反過來又定義了證明系統(tǒng)已經(jīng)過適當(dāng)測(cè)試所需的測(cè)試級(jí)別。毋庸置疑,失敗的影響越大,測(cè)試效果必須越嚴(yán)格。然后強(qiáng)制要求適當(dāng)級(jí)別的代碼覆蓋率,以證明已達(dá)到適當(dāng)?shù)臏y(cè)試級(jí)別。

這導(dǎo)致了一些問題,例如您的系統(tǒng)對(duì)您的任務(wù)有多重要?我應(yīng)該以什么樣的故障率為目標(biāo)?下表提供了一些關(guān)于選擇美國(guó)聯(lián)邦航空管理局 (FAA) 就 DO-178 討論的適當(dāng)覆蓋范圍級(jí)別的指導(dǎo)。

450-LDRA+Table.jpg.jpg

代碼覆蓋率作為測(cè)試嚴(yán)格性的衡量標(biāo)準(zhǔn)必須謹(jǐn)慎應(yīng)用。例如,在沒有測(cè)試計(jì)劃的情況下執(zhí)行系統(tǒng)所實(shí)現(xiàn)的覆蓋范圍是不合適的。執(zhí)行必須由測(cè)試計(jì)劃和需求驅(qū)動(dòng)。通常,安全關(guān)鍵軟件標(biāo)準(zhǔn)的指導(dǎo)是,為了證明適當(dāng)?shù)臏y(cè)試嚴(yán)格程度,測(cè)試必須由需求驅(qū)動(dòng)并在系統(tǒng)級(jí)別執(zhí)行。但是,根據(jù)適當(dāng)?shù)囊?,您可以使用在單元?jí)別驅(qū)動(dòng)的測(cè)試來補(bǔ)充此測(cè)試。只有這樣,才適合使用覆蓋率分析來衡量測(cè)試的完整性。

在實(shí)踐中,從系統(tǒng)級(jí)測(cè)試中實(shí)現(xiàn) 100% 的代碼覆蓋率既不合適也沒有必要。實(shí)現(xiàn)系統(tǒng)的最大代碼覆蓋率是一個(gè)迭代過程。使用代碼覆蓋率結(jié)果作為反饋,可以識(shí)別測(cè)試過程中的缺陷,例如缺少需求、缺少測(cè)試用例、無法訪問、不需要或失效/停用的代碼。然后可以添加測(cè)試用例,解決需求,重構(gòu)代碼以解決提出的問題。然后可以更新和重復(fù)測(cè)試,直到滿足項(xiàng)目的測(cè)試效果目標(biāo)。這可能包括考慮未使用的代碼(例如,當(dāng)僅使用部分開源組件時(shí))或用測(cè)試工具的結(jié)果增強(qiáng)系統(tǒng)級(jí)測(cè)試結(jié)果,甚至代碼檢查。

在選擇有助于進(jìn)行覆蓋率測(cè)量的工具時(shí),請(qǐng)務(wù)必注意,并非所有覆蓋率分析工具都是平等的,選擇錯(cuò)誤的工具可能會(huì)損害您準(zhǔn)確測(cè)量覆蓋范圍的能力,或者更糟的是,提供不正確的結(jié)果。以下是選擇覆蓋范圍分析工具時(shí)需要考慮的一些問題:

? 覆蓋率測(cè)量實(shí)施的內(nèi)存占用量是多少,尤其是在測(cè)試嵌入式系統(tǒng)時(shí)?

? 該工具是否支持您的嵌入式系統(tǒng)?

? 運(yùn)行時(shí)數(shù)據(jù)的內(nèi)存占用量是多少?您的系統(tǒng)是否有足夠的內(nèi)存來進(jìn)行有意義的測(cè)量?

? 檢測(cè)是否會(huì)影響系統(tǒng)運(yùn)行時(shí)行為?

DO-178 通過要求必須驗(yàn)證用于測(cè)量代碼覆蓋率的任何工具,以便在目標(biāo)環(huán)境中產(chǎn)生準(zhǔn)確、可靠的結(jié)果,從而為這些決策提供指導(dǎo)。因此,您需要確保您選擇的工具符合 DO-178 的要求,以便可以放心地使用它產(chǎn)生的結(jié)果,而無需進(jìn)一步驗(yàn)證。檢查工具的譜系。

代碼覆蓋率 — 提供基本保證

任何軟件項(xiàng)目的代碼質(zhì)量都可以從應(yīng)用安全關(guān)鍵標(biāo)準(zhǔn)中的一些簡(jiǎn)單指南中受益。為了控制測(cè)試的有效性,必須使用代碼覆蓋率來衡量測(cè)試的影響,使用適合軟件所需的測(cè)試嚴(yán)格程度的代碼覆蓋率級(jí)別。為了確保測(cè)試的嚴(yán)格性達(dá)到適當(dāng)?shù)乃?,所有測(cè)試都必須基于需求并在系統(tǒng)級(jí)別執(zhí)行。測(cè)試,測(cè)量,重復(fù)。如果沒有代碼覆蓋率分析,就不可能獲得提高測(cè)試有效性所需的反饋、知識(shí)和理解。選擇覆蓋范圍分析工具時(shí),請(qǐng)確保選擇 DO-178 限定工具,以確保選擇具有適當(dāng)譜系的工具。通過遵循這些準(zhǔn)則,任何軟件項(xiàng)目都可以達(dá)到安全關(guān)鍵系統(tǒng)通常預(yù)期的軟件質(zhì)量水平。

審核編輯:郭婷

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

    關(guān)注

    5046

    文章

    18817

    瀏覽量

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

    關(guān)注

    30

    文章

    4671

    瀏覽量

    67765
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    利用靜態(tài)檢查工具完善功能安全中測(cè)試覆蓋率

    在功能安全中測(cè)試覆蓋率是比較重要的概念,也是在驗(yàn)證過程中通常需要花費(fèi)時(shí)間較多的步驟,如果能借助于靜態(tài)檢查工具的死邏輯查找和聲明、測(cè)試用例自動(dòng)補(bǔ)全等功能往往能取得事半功倍的效果。
    的頭像 發(fā)表于 09-05 09:15 ?154次閱讀
    利用靜態(tài)檢查工具完善功能安全中測(cè)試<b class='flag-5'>覆蓋率</b>

    時(shí)序邏輯電路必不可少的部分是什么

    時(shí)序邏輯電路必不可少的部分是 存儲(chǔ)電路 ,這一結(jié)論主要基于時(shí)序邏輯電路的基本工作原理和特性。存儲(chǔ)電路在時(shí)序邏輯電路中扮演著至關(guān)重要的角色,它使得電路能夠存儲(chǔ)和記憶之前的狀態(tài)信息,并在需要時(shí)根據(jù)這些
    的頭像 發(fā)表于 08-28 14:12 ?172次閱讀

    單元測(cè)試工具TESSY 新版本亮點(diǎn)速覽:提供測(cè)試駕駛艙視圖、超級(jí)覆蓋率、代碼訪問分析、增強(qiáng)覆蓋率審查

    各種測(cè)試對(duì)象和方法的所有覆蓋率測(cè)量結(jié)果,并記錄在新的測(cè)試總結(jié)報(bào)告中。 了解更多TESSY新版本功能詳情或申請(qǐng)免費(fèi)試用,歡迎咨詢TESSY中國(guó)授權(quán)分銷商——龍智。 新版本功能亮點(diǎn)速覽: 1、超級(jí)覆蓋率 逐行評(píng)估源代碼。 基于標(biāo)準(zhǔn)
    的頭像 發(fā)表于 07-08 16:20 ?292次閱讀
    單元測(cè)試工具TESSY 新版本亮點(diǎn)速覽:提供測(cè)試駕駛艙視圖、超級(jí)<b class='flag-5'>覆蓋率</b>、<b class='flag-5'>代碼</b>訪問<b class='flag-5'>分析</b>、增強(qiáng)<b class='flag-5'>覆蓋率</b>審查

    如何將SystemVerilog斷言屬性和覆蓋屬性置于在設(shè)計(jì)上?

    功能覆蓋、激勵(lì)生成和運(yùn)行管理是當(dāng)今功能驗(yàn)證的三大相互關(guān)聯(lián)的任務(wù)。其中,功能覆蓋率可以說是最重要的,主要是因?yàn)?b class='flag-5'>覆蓋率收斂是tape的主要標(biāo)準(zhǔn)。
    的頭像 發(fā)表于 05-28 10:30 ?488次閱讀
    如何將SystemVerilog斷言屬性和<b class='flag-5'>覆蓋</b>屬性置于在設(shè)計(jì)上?

    代碼靜態(tài)測(cè)試工具Helix QAC 2023.4新發(fā)布

    Helix QAC 2023.4 為新的 MISRA C++:2023 指南推出了 100% MISRA C++:2023? 規(guī)則覆蓋率。此版本還包括擴(kuò)展的 C++20 語言支持、數(shù)據(jù)流分析的性能改進(jìn)以及整個(gè)產(chǎn)品中的許多產(chǎn)品體驗(yàn)
    的頭像 發(fā)表于 01-13 12:25 ?350次閱讀
    <b class='flag-5'>代碼</b>靜態(tài)測(cè)試工具Helix QAC 2023.4新發(fā)布

    追求卓越制造,ECRS工時(shí)分析必不可少!#工時(shí)分析

    軟件
    VIOOVI
    發(fā)布于 :2024年01月10日 10:31:14

    怎么用Vivado做覆蓋率分析

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

    軟件代碼結(jié)構(gòu)化覆蓋測(cè)試-MC/DC覆蓋

    MC/DC的全稱是Modified Condition/Decision Coverage,修正條件判定覆蓋率。很多文章對(duì)于定義的解釋都比較專業(yè),通常也會(huì)讓人感覺理解困難,本文我們用通俗易懂的說明給大家做介紹。
    的頭像 發(fā)表于 12-15 15:22 ?2791次閱讀
    軟件<b class='flag-5'>代碼</b>結(jié)構(gòu)化<b class='flag-5'>覆蓋</b>測(cè)試-MC/DC<b class='flag-5'>覆蓋</b>

    ADA4961、AD8352是否支持覆蓋低頻段,如100kHz~10MHz?

    ADA4961、AD8352是否 支持覆蓋低頻段,如100kHz~10MHz? 我看到datasheet里面性能測(cè)試曲線都才到10MHz,但是我的應(yīng)用需要支持到100kHz。
    發(fā)表于 11-22 07:25

    GSM覆蓋增強(qiáng)技術(shù)和超遠(yuǎn)覆蓋原理的研究分析

    電子發(fā)燒友網(wǎng)站提供《GSM覆蓋增強(qiáng)技術(shù)和超遠(yuǎn)覆蓋原理的研究分析.pdf》資料免費(fèi)下載
    發(fā)表于 11-17 16:36 ?0次下載
    GSM<b class='flag-5'>覆蓋</b>增強(qiáng)技術(shù)和超遠(yuǎn)<b class='flag-5'>覆蓋</b>原理的研究<b class='flag-5'>分析</b>

    靜態(tài)代碼分析工具Helix QAC 2023.3:將100%覆蓋MISRA C++:2023?規(guī)則

    Helix QAC 2023.3預(yù)計(jì)將于2023年第四季度發(fā)布的新MISRA C++?指南,將100%覆蓋MISRA C++:2023?規(guī)則。 此外,此版本擴(kuò)展了對(duì)C++20語言支持,并改進(jìn)了Perforce Validate平臺(tái)和Helix QAC與Validate的集
    的頭像 發(fā)表于 11-08 18:37 ?434次閱讀
    靜態(tài)<b class='flag-5'>代碼</b><b class='flag-5'>分析</b>工具Helix QAC 2023.3:將<b class='flag-5'>100</b>%<b class='flag-5'>覆蓋</b>MISRA C++:2023?規(guī)則

    代碼覆蓋率記錄

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

    常規(guī)開關(guān)電源測(cè)試規(guī)范之負(fù)載調(diào)整測(cè)試

    負(fù)載調(diào)整是用來描述在額定電壓下負(fù)載電流從0變化到最大時(shí),輸出電壓相應(yīng)的變化情況。它是衡量電源芯片好壞的重要指標(biāo),因此負(fù)載調(diào)整測(cè)試是必不可少的環(huán)節(jié)。那么要如何測(cè)試電源芯片負(fù)載調(diào)整
    的頭像 發(fā)表于 10-20 15:32 ?832次閱讀
    常規(guī)開關(guān)電源測(cè)試規(guī)范之負(fù)載調(diào)整<b class='flag-5'>率</b>測(cè)試

    剃須刀必不可少的5W電源管理芯片U95113

    剃須刀必不可少的5W電源管理芯片U95113很多男性也是非常注重自己外在整潔的,像是剃須刀、電吹風(fēng)、理發(fā)器這種個(gè)護(hù)電器也很受男性推崇。我國(guó)男性消費(fèi)在消費(fèi)種類、數(shù)量和品質(zhì)上都發(fā)生了不小的變化,并開始在
    的頭像 發(fā)表于 10-13 08:11 ?1069次閱讀
    剃須刀<b class='flag-5'>必不可少</b>的5W電源管理芯片U95113

    如何脫離Vivado建立單獨(dú)仿真環(huán)境軟件呢?

    FPGA項(xiàng)目開發(fā)的過程中,需要完成設(shè)計(jì)代碼開發(fā)、驗(yàn)證環(huán)境搭建、仿真分析、板級(jí)驗(yàn)證等操作,在這個(gè)過程中,許多操作雖然必不可少但是步驟是重復(fù)的。
    的頭像 發(fā)表于 09-27 09:25 ?1107次閱讀
    如何脫離Vivado建立單獨(dú)仿真環(huán)境軟件呢?