欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

解決提升覆蓋率難題-使用C/C++test覆蓋率指導(dǎo)助手

麥克泰技術(shù) ? 來源:麥克泰技術(shù) ? 2023-03-31 13:57 ? 次閱讀

在構(gòu)建關(guān)鍵系統(tǒng)時(shí),將代碼覆蓋率結(jié)構(gòu)化是必須的,也是非常重要的。這篇文章闡述了Parasoft C/C++test如何通過覆蓋率指導(dǎo)助手等自動(dòng)化生產(chǎn)力功能更好地幫助測試團(tuán)隊(duì)。

軟件測試是軟件開發(fā)不可分割的一部分。每個(gè)開發(fā)和執(zhí)行代碼的行業(yè)都可以從使用結(jié)構(gòu)代碼覆蓋率測試工具中受益。這些工具在安全關(guān)鍵型應(yīng)用的嵌入式開發(fā)行業(yè)中特別有用,在這些行業(yè)中,軟件系統(tǒng)不能出現(xiàn)故障,否則就會(huì)涉及生命危險(xiǎn)。Parasoft C/C++test的覆蓋率指導(dǎo)助手能夠幫助用戶對難以捉摸又耗時(shí)的代碼創(chuàng)建測試用例。

代碼覆蓋率是一個(gè)重要且必要的條件

我們在嵌入式安全和安全關(guān)鍵系統(tǒng)中將代碼提升到100%覆蓋率有多種目的。其中最主要的目是符合DO-178C、IEC 62304等流程標(biāo)準(zhǔn)中定義的驗(yàn)證和確認(rèn)(Verification & Validation)要求。

優(yōu)點(diǎn)

代碼覆蓋率提供的價(jià)值是對V&V(Verification & Validation)過程的提升,它可以幫助我們清除代碼中的缺陷,確保每行代碼都已執(zhí)行,從而滿足團(tuán)隊(duì)或者認(rèn)證的要求。這可以大大提高團(tuán)隊(duì)代碼質(zhì)量的安全性和可靠性。

同樣,如果我們執(zhí)行了所有的測試用例,而只獲得了60%的覆蓋率,那么很明顯我們沒有創(chuàng)建足夠的測試用例。因此,隱藏的缺陷可能潛伏在這些未測試的部分。

另一個(gè)問題是“死代碼”。這意味著這些代碼永遠(yuǎn)不會(huì)被執(zhí)行,因?yàn)闆]有條件能夠支持這些代碼被執(zhí)行。這種情況可能發(fā)生在實(shí)現(xiàn)了某個(gè)特性/功能,但在某種條件下,這個(gè)功能需求被刪除了。如果不完全刪除這些相關(guān)的代碼,就可能會(huì)導(dǎo)致死代碼這種情況。在函數(shù)或方法中查找死代碼的同時(shí),還可以突出必須解決的壞代碼。

如何滿足您的代碼覆蓋率要求

您可以通過下面的測試方法或它們的組合方法來實(shí)現(xiàn)代碼的高覆蓋率:

單元測試

集成測試

系統(tǒng)測試

下面是Parasoft支持度較高的兩種方法:

1.系統(tǒng)測試和單元測試的組合。首先,檢測代碼并執(zhí)行所有的系統(tǒng)測試用例,這將會(huì)產(chǎn)生比較高的覆蓋率指標(biāo)。最后,使用單元測試方法來提升剩余未覆蓋代碼的覆蓋率。

2.利用單元測試實(shí)現(xiàn)100%代碼覆蓋率。這種方法很直接。用戶創(chuàng)建單元級的測試用例,以確保對每個(gè)功能/方法被覆蓋。

代碼覆蓋率指標(biāo)

覆蓋率指標(biāo)有非常多種類。具體應(yīng)用哪種覆蓋率指標(biāo)取決于IEC 61508中定義的安全完整性等級(SIL)。另一種情況是DO-178B/C的設(shè)計(jì)保證級別(DAL)對覆蓋率指標(biāo)的不同要求。對于嵌入式系統(tǒng),我們可能常用到的覆蓋率指標(biāo)是語句、分支、修改條件/判定(MC/DC)覆蓋率。其中,對于那些最嚴(yán)格的要求,會(huì)包括匯編代碼的覆蓋率。Parasoft支持收集所有這些覆蓋率指標(biāo),包括其他行業(yè)名稱不同的覆蓋率指標(biāo)種類,比如塊、調(diào)用、函數(shù)、路徑、判定覆蓋率等。

a0492880-cf77-11ed-bfe3-dac502259ad0.png

圖一:指標(biāo)和趨勢

自動(dòng)化流程

Parasoft C/C++test的“一鍵獲取覆蓋率”功能在對減輕團(tuán)隊(duì)工作任務(wù)和減少成本方面,有著巨大作用。首先是自動(dòng)生成測試用例,我們只需要單擊一下測試配置,C/C++test即可分析代碼并且自動(dòng)生成智能的單元測試用例。然后我們可以執(zhí)行這些單元測試用例。根據(jù)不同代碼的大小和復(fù)雜性,團(tuán)隊(duì)基本上可以達(dá)到80%左右的覆蓋率。

對于復(fù)雜的代碼,總是有一些結(jié)構(gòu)復(fù)雜的代碼語句,要覆蓋這些語句并且獲取覆蓋率是非常困難的。對于這些結(jié)構(gòu)復(fù)雜的代碼,我們可能需要根據(jù)不同的路徑或條件情況排列,設(shè)計(jì)很多組測試用例,才有可能覆蓋這些代碼,這需要花費(fèi)我們大量的時(shí)間和精力。但是我們現(xiàn)在就有一個(gè)完美的解決方案,那就是Parasoft C/C++test Coverage Advisor。Parasoft C/C++test覆蓋率指導(dǎo)助手,可以幫我們分析結(jié)構(gòu)或條件復(fù)雜的代碼,提供給我們多組測試用例,使這些代碼更容易被覆蓋。

如何在Coverage Advisor中獲取覆蓋率

在編輯器中,右鍵單擊您想要覆蓋的代碼行,然后選擇Parasoft->Show in Coverage Advisor。

a0702390-cf77-11ed-bfe3-dac502259ad0.png

圖二:在Coverage Advisor菜單中顯示

下圖展示了為用戶提供的多種測試用例,前置條件字段表示:

mainSensorSignal和coSensorSignal的范圍和輸入值

外部調(diào)用的預(yù)期輸出

在使用這些設(shè)置的參數(shù)值和外部調(diào)用的樁函數(shù)創(chuàng)建單元測試用例時(shí),用戶將獲得所選行的覆蓋率。

a08cd12a-cf77-11ed-bfe3-dac502259ad0.png

圖三:Parasoft C/C++test2020.2 Coverage Advisor行覆蓋分析反饋

總結(jié)

在構(gòu)建嵌入式安全和安全關(guān)鍵型軟件系統(tǒng)時(shí),代碼結(jié)構(gòu)覆蓋率是必須的。同時(shí),我們可以將對應(yīng)的測試用例和需求關(guān)聯(lián)上,這樣可以確保:

創(chuàng)建了足夠的測試用例來測試軟件

沒有任何死代碼

每一行代碼都經(jīng)過合規(guī)性和認(rèn)證需求的檢查

Parasoft C/C++test是一個(gè)完整的軟件測試解決方案,它為團(tuán)隊(duì)提供了測試方法功能和自動(dòng)化生產(chǎn)能力,比如覆蓋率覆蓋率指導(dǎo)助手。利用這個(gè)功能,開發(fā)人員可以快速實(shí)現(xiàn)他們的代碼覆蓋率目標(biāo)。相應(yīng)地,管理者可以加快產(chǎn)品上市時(shí)間、保障審計(jì)和簡化產(chǎn)品認(rèn)證。在向市場輸出高質(zhì)量軟件的同時(shí),能夠降低成本投入。

審核編輯 :李倩

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

    關(guān)注

    5095

    文章

    19189

    瀏覽量

    307987
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2114

    瀏覽量

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

    關(guān)注

    30

    文章

    4837

    瀏覽量

    69121

原文標(biāo)題:解決提升覆蓋率難題-使用C/C++test覆蓋率指導(dǎo)助手

文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    怎么用Vivado做覆蓋率分析

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

    synopsys 的design ware:DW_fpv_div,浮點(diǎn)數(shù)除法器,默認(rèn)32位下,想提升覆蓋率(TMAX),如果用功能case去提升覆蓋率呢?

    覆蓋率只有微微的提升,請問是否要遍歷很多數(shù)才能提升覆蓋率嗎?一般這種浮點(diǎn)數(shù)有什么方法去跑嗎? 每個(gè)數(shù)都跑豈不是天文數(shù)字,本人剛接觸不久,請大佬指教下,謝謝
    發(fā)表于 10-15 18:38

    如何改善5G覆蓋率?

    改善5G覆蓋率的方法
    發(fā)表于 12-15 07:52

    如何提高DFT設(shè)計(jì)測試覆蓋率?

    提高DFT設(shè)計(jì)測試覆蓋率的有效方法是什么
    發(fā)表于 05-07 06:37

    怎么提高非隨機(jī)圖形設(shè)計(jì)的故障覆蓋率?

    怎么提高非隨機(jī)圖形設(shè)計(jì)的故障覆蓋率?為LBIST設(shè)計(jì)提高故障檢測能力的技術(shù)是什么?
    發(fā)表于 05-08 07:11

    嵌入式仿真平臺(tái)SkyEye的覆蓋率分析相關(guān)資料下載

    代碼執(zhí)娜行覆蓋情況的功能,來檢測代碼中未執(zhí)行覆蓋情況。在覆蓋率分析時(shí)需要分析嵌入式軟件的指令覆蓋率、指令函數(shù)覆蓋率、指令函數(shù)分支
    發(fā)表于 12-17 07:27

    重點(diǎn)厘清覆蓋率相關(guān)的概念以及在芯片開發(fā)流程中跟覆蓋率相關(guān)的事項(xiàng)

    功能覆蓋率和代碼覆蓋率的目標(biāo)前,一般要求用例是100%pass的,即手上已開發(fā)的用例都能執(zhí)行通過。計(jì)劃覆蓋率指的是測試通過的測試點(diǎn)(test point)占所有測試點(diǎn)的比例。嚴(yán)格來講,
    發(fā)表于 09-14 11:57

    Systemverilog覆蓋率的合并和計(jì)算方式

      在systemverilog中,對于一個(gè)covergroup來說,可能會(huì)有多個(gè)instance,我們可能需要對這些instance覆蓋率進(jìn)行操作?! ≈槐4鎐overgroup type的覆蓋率
    發(fā)表于 03-21 14:24

    Verilog代碼覆蓋率檢查

    Verilog代碼覆蓋率檢查是檢查驗(yàn)證工作是否完全的重要方法,代碼覆蓋率(codecoverge)可以指示Verilog代碼描述的功能有多少在仿真過程中被驗(yàn)證過了,代碼覆蓋率分析包括以下分析內(nèi)容。
    發(fā)表于 04-29 12:35 ?8494次閱讀

    IP開發(fā)時(shí)如何考慮復(fù)用覆蓋率

    如何在開發(fā)IP的同時(shí)去鞏固集成和復(fù)用覆蓋率?IP的某些功能和性能是可以配置的,需要考慮的是IP被各種合理配置后的工作是否都能夠正常,將功能覆蓋率先整理為層次化的抽象功能覆蓋率模型,稱之為cover model。
    的頭像 發(fā)表于 02-18 12:08 ?2696次閱讀

    嵌入式代碼覆蓋率統(tǒng)計(jì)方法和經(jīng)驗(yàn)

    代碼覆蓋率是衡量軟件測試完成情況的指標(biāo),通?;跍y試過程中已檢查的程序源代碼比例計(jì)算得出。代碼覆蓋率可以有效避免包含未測試代碼的程序被發(fā)布。 1. 問題背景 代碼覆蓋(Code coverage
    的頭像 發(fā)表于 01-06 15:06 ?3240次閱讀
    嵌入式代碼<b class='flag-5'>覆蓋率</b>統(tǒng)計(jì)方法和經(jīng)驗(yàn)

    統(tǒng)計(jì)嵌入式代碼覆蓋率的方法和經(jīng)驗(yàn)

    代碼覆蓋率是衡量軟件測試完成情況的指標(biāo),通?;跍y試過程中已檢查的程序源代碼比例計(jì)算得出。代碼覆蓋率可以有效避免包含未測試代碼的程序被發(fā)布。 1. 問題背景 代碼覆蓋(Code coverage
    的頭像 發(fā)表于 03-29 11:58 ?2015次閱讀
    統(tǒng)計(jì)嵌入式代碼<b class='flag-5'>覆蓋率</b>的方法和經(jīng)驗(yàn)

    怎么才能寫出高覆蓋率的Verilog代碼?

    芯片前端工程中,測試驗(yàn)證的核心理念:以提高覆蓋率為核心。設(shè)計(jì)工程師需要關(guān)心的主要有行覆蓋率(Block),條件覆蓋率(Expression),翻轉(zhuǎn)覆蓋率(Toggle),狀態(tài)機(jī)
    的頭像 發(fā)表于 06-01 10:13 ?2689次閱讀

    覆蓋率的Verilog代碼的編寫技巧

    設(shè)計(jì)工程師需要關(guān)心的主要有行覆蓋率(Block),條件覆蓋率(Expression),翻轉(zhuǎn)覆蓋率(Toggle),狀態(tài)機(jī)覆蓋率。本文從ASIC設(shè)計(jì)的角度上來討論,如何寫出高
    的頭像 發(fā)表于 05-26 17:30 ?4355次閱讀

    代碼覆蓋率記錄

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