一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

軟件測試對于嵌入式系統(tǒng)的安全和保障至關(guān)重要

碩達(dá)科訊 ? 來源:碩達(dá)科訊 ? 作者:碩達(dá)科訊 ? 2022-07-19 16:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式系統(tǒng)的世界中,不斷發(fā)展和發(fā)展的不僅僅是技術(shù)。用于開發(fā)該技術(shù)的工具和方法正在不斷成熟和改進(jìn)。

在 1980 年代初期,我為一家小型計量公司開發(fā)了軟件,將工程數(shù)學(xué)應(yīng)用于坐標(biāo)測量機(jī) (CMM)。我想認(rèn)為我很擅長。但我們的開發(fā)生命周期本質(zhì)上將生產(chǎn)軟件視為沙盒。我們將從生產(chǎn)代碼開始,添加功能,執(zhí)行一些相當(dāng)基本的功能測試,然后發(fā)布。

在這樣一個小公司,我們的工程團(tuán)隊自然包括軟件和硬件專家。事后看來,令人驚訝的是,雖然我們開發(fā)的軟件需要廣泛的客戶支持,但它所運行的硬件卻遠(yuǎn)沒有相同的消防文化。

軟件開發(fā)是一門工程學(xué)科

軟件和硬件支持之間的部分差異是原始開發(fā)過程的結(jié)果。但是軟件的絕對可塑性以及由此產(chǎn)生的不斷增加的功能的能力也起著重要作用。簡而言之,出錯的方法比正確的方法要多得多,而且這種特性要求它被視為一門工程學(xué)科。

這一切都沒有什么新鮮事。多年來,領(lǐng)先的航空、汽車和工業(yè)功能安全標(biāo)準(zhǔn)(例如 DO-178、ISO 26262 和 IEC 61508)一直要求采用這種方法。但是,如果您要從當(dāng)今旨在服務(wù)于這種方法的尖端開發(fā)和測試工具中獲益,那么擁有工程學(xué)科的思維方式是必不可少的。

最近,ISO/IEC/IEEE 29119 的發(fā)展表明了軟件測試的重要性,這是一套可在任何軟件開發(fā)生命周期或組織中使用的軟件測試國際標(biāo)準(zhǔn)。

需求很重要

電氣系統(tǒng)設(shè)計通常從狀態(tài)機(jī)開始,并了解特定產(chǎn)品的不同操作模式。工程師通??梢苑浅?焖?、輕松地將狀態(tài)機(jī)功能映射到邏輯。如果狀態(tài)機(jī)變得更復(fù)雜,它通常被翻譯成軟件。

高級別的要求對于確保系統(tǒng)正常運行至關(guān)重要。這樣的需求描述了業(yè)務(wù)邏輯和預(yù)期的功能,并能夠評估系統(tǒng)是否完成了它應(yīng)該做的事情。最佳實踐遵循從高級需求到分析到覆蓋率的流程,自然,需求可追溯性工具旨在支持這一點。

在狀態(tài)機(jī)模型中,表征每個狀態(tài)的需求是高級需求的示例。通過代碼跟蹤執(zhí)行路徑以確保正確解釋每個需求是檢查正確實現(xiàn)的一種非常好的方法。

功能安全標(biāo)準(zhǔn)將此擴(kuò)展到需求可追溯性的概念。他們經(jīng)常要求用戶從高級需求中執(zhí)行所有代碼,并通過低級測試解釋和測試任何未發(fā)現(xiàn)的案例。最近,網(wǎng)絡(luò)安全中的“左移”范式呼應(yīng)了這一信息,如圖 1 中的 V 模型所示。

pYYBAGLPAqKAOH0LAAir37hFUj8866.jpg


圖 1. 顧名思義,V-model 體現(xiàn)了一個產(chǎn)品開發(fā)過程,該過程顯示了每個開發(fā)階段的測試規(guī)范之間的聯(lián)系。資料來源:LDRA

測試組件,然后測試系統(tǒng)

在任何工程學(xué)科中,重要的是要確保組件在集成到系統(tǒng)之前自行正常工作。要將這種思想應(yīng)用于軟件,工程師需要定義較低級別的需求,并確保每個功能和功能集發(fā)揮作用。工程師還需要確保他們?yōu)橄到y(tǒng)的其余部分提供適當(dāng)?shù)?a target="_blank">接口。

單元測試涉及在功能和模塊級別對輸入和輸出進(jìn)行參數(shù)化,執(zhí)行審查以確保輸入和輸出之間的連接正確并遵循覆蓋范圍內(nèi)的邏輯。單元測試工具可以提供經(jīng)過驗證的測試工具和圖形表示,將各個輸入和輸出連接到執(zhí)行路徑,并使其正確性得到驗證。

在功能和模塊級別上理解接口也很重要。靜態(tài)分析工具可以展示這些接口,連接不同層次的邏輯。

盡早發(fā)現(xiàn)問題

任何學(xué)科的工程師都會告訴你,越早發(fā)現(xiàn)問題,解決問題的成本就越低。

靜態(tài)分析執(zhí)行源代碼分析以模擬系統(tǒng)的執(zhí)行而不實際運行它。編寫代碼后立即可用,靜態(tài)分析可以幫助開發(fā)人員最大限度地提高代碼的清晰度、可維護(hù)性和可測試性。靜態(tài)分析工具的主要特點包括:

代碼復(fù)雜性分析:了解您的代碼在哪里不必要地復(fù)雜,因此工程師可以執(zhí)行適當(dāng)?shù)木徑饣顒印?/p>

程序流程分析:繪制程序執(zhí)行的設(shè)計審查流程圖,以確保程序按預(yù)期流程執(zhí)行。

預(yù)測性運行時錯誤檢測:通過盡可能多的可執(zhí)行路徑對代碼執(zhí)行進(jìn)行建模,并尋找潛在的錯誤,例如數(shù)組邊界溢出和被零除。

遵守編碼標(biāo)準(zhǔn):通常選擇編碼標(biāo)準(zhǔn)以確保關(guān)注網(wǎng)絡(luò)安全、功能安全,或者在 MISRA 標(biāo)準(zhǔn)的情況下,選擇其中之一或兩者兼而有之。編碼標(biāo)準(zhǔn)有助于確保代碼符合最佳編程實踐,無論應(yīng)用程序如何,這無疑都是一個好主意。

poYBAGLPAr6AU4ghAAQ60hTM2V4315.jpg


圖 2. 像靜態(tài)分析這樣的活動在開發(fā)生命周期的早期是一種開銷,但從長遠(yuǎn)來看它們會帶來好處。資料來源:LDRA

開發(fā)足夠質(zhì)量的代碼

質(zhì)量更高的工程產(chǎn)品價格更高也就不足為奇了。堅持任何開發(fā)過程都是有代價的,開發(fā)最好的產(chǎn)品可能并不總是在商業(yè)上可行。

在安全很重要的情況下,功能安全標(biāo)準(zhǔn)通常需要對成本和故障概率進(jìn)行分析。每個系統(tǒng)、子系統(tǒng)和組件都需要進(jìn)行這種風(fēng)險評估,以確保執(zhí)行相應(yīng)的緩解活動。無論系統(tǒng)是安全關(guān)鍵還是安全關(guān)鍵,同樣的原則都是有意義的。如果您以相同的嚴(yán)格程度測試系統(tǒng)的每個部分,您將過度投資于風(fēng)險較低的系統(tǒng)部分,而無法充分緩解風(fēng)險較高的故障。

軟件安全實踐首先要了解如果組件或系統(tǒng)發(fā)生故障會發(fā)生什么,然后將潛在故障跟蹤到適當(dāng)?shù)幕顒又幸越档瓦@樣做的風(fēng)險。例如,考慮一個控制飛機(jī)引導(dǎo)的系統(tǒng),該系統(tǒng)的故障可能是災(zāi)難性的。必須在子條件覆蓋級別執(zhí)行嚴(yán)格的緩解活動,以確保正確的代碼生成。

與機(jī)上娛樂系統(tǒng)形成鮮明對比。如果該系統(tǒng)出現(xiàn)故障,飛機(jī)不會墜毀,因此測試機(jī)上娛樂系統(tǒng)的要求低于可能立即造成人員傷亡的系統(tǒng)。

軟件的延展性既是福也是禍。它使系統(tǒng)在合理范圍內(nèi)幾乎可以做任何事情變得非常容易。但是,在確保軟件不會失敗時,同樣的靈活性也可能成為致命弱點。

即使在商業(yè)世界中,雖然并非所有軟件故障都是災(zāi)難性的,但它們絕不是可取的。許多開發(fā)人員在對安全和安保至關(guān)重要的行業(yè)工作,別無選擇,只能遵守最嚴(yán)格的標(biāo)準(zhǔn)。但是這些標(biāo)準(zhǔn)所提倡的原則是存在的,因為它們已被證明可以使最終的產(chǎn)品功能更好。因此,無論應(yīng)用程序有多重要,以適當(dāng)?shù)姆绞讲捎眠@些原則都是完全有意義的。

盡管適用于軟件開發(fā)的功能安全和安全標(biāo)準(zhǔn)令人困惑,但它們之間的相似之處遠(yuǎn)多于差異。所有這些都基于這樣一個事實,即軟件開發(fā)是一門工程學(xué)科,要求我們建立需求、設(shè)計和開發(fā)以實現(xiàn)它們,并針對需求進(jìn)行早期測試。

采用這種思維方式將為整個行業(yè)的支持工具打開大門,從而更有效地開發(fā)更高質(zhì)量的軟件。

LDRA Software Technology的技術(shù)專家 Mark Pitchford與開發(fā)團(tuán)隊合作,希望在安全和安保關(guān)鍵環(huán)境中實現(xiàn)合規(guī)的軟件開發(fā)。


審核編輯 黃昊宇

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

    關(guān)注

    5152

    文章

    19675

    瀏覽量

    317648
  • 軟件測試
    +關(guān)注

    關(guān)注

    2

    文章

    239

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    嵌入式軟件行業(yè)增長驅(qū)動因素

    嵌入式軟件在物聯(lián)網(wǎng)應(yīng)用中至關(guān)重要,因為它管理設(shè)備操作、控制傳感器、支持連接并確保數(shù)據(jù)安全。例如,在智能家居中,恒溫器、安全攝像頭和燈光等設(shè)備
    的頭像 發(fā)表于 05-09 11:26 ?346次閱讀

    如何成為一名嵌入式軟件工程師?

    RTOS的編程和使用對于提升嵌入式軟件的實時性和穩(wěn)定性至關(guān)重要。 開發(fā)環(huán)境:熟悉Keil、IAR、Eclipse等集成開發(fā)環(huán)境,以及JTAG、GDB等調(diào)試工具。 2)硬件接口與驅(qū)動
    發(fā)表于 04-15 14:37

    嵌入式軟件單元測試的必要性、核心方法及工具深度解析

    一、為什么嵌入式軟件必須重視單元測試? ?嵌入式系統(tǒng)的特殊性? 在汽車 ECU、醫(yī)療設(shè)備控制器等場景中,
    的頭像 發(fā)表于 03-21 14:53 ?468次閱讀

    嵌入式系統(tǒng)測試必備:9大理由解析報告與可追溯性的重要性(附工具推薦TESSY)

    嵌入式系統(tǒng)軟件測試項目中,報告和可追溯性至關(guān)重要,原因有多個。它們是確保嵌入式
    的頭像 發(fā)表于 03-13 10:47 ?451次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>測試</b>必備:9大理由解析報告與可追溯性的<b class='flag-5'>重要</b>性(附工具推薦TESSY)

    嵌入式軟件測試技術(shù)深度研究報告

    嵌入式軟件測試技術(shù)深度研究報告 ——基于winAMS的全生命周期質(zhì)量保障體系構(gòu)建 一、行業(yè)技術(shù)瓶頸與解決方案框架 2025年嵌入式
    的頭像 發(fā)表于 03-03 13:54 ?361次閱讀

    嵌入式工業(yè)級顯示器在環(huán)保垃圾柜設(shè)備中發(fā)揮著至關(guān)重要的作用

    嵌入式工業(yè)級顯示器在環(huán)保垃圾柜設(shè)備中發(fā)揮著至關(guān)重要的作用。以下是其具體作用的分析: 一、提供交互界面 嵌入式工業(yè)級顯示器為環(huán)保垃圾柜設(shè)備提供了一個直觀、易用的交互界面。用戶可以通過觸摸屏幕進(jìn)行操作
    的頭像 發(fā)表于 02-21 11:36 ?342次閱讀
    <b class='flag-5'>嵌入式</b>工業(yè)級顯示器在環(huán)保垃圾柜設(shè)備中發(fā)揮著<b class='flag-5'>至關(guān)重要</b>的作用

    嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性與軟件開發(fā)環(huán)境

    設(shè)備和智能傳感器)上,這些設(shè)備通常具有有限的計算能力、存儲空間和功耗。本文將您介紹嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性,以及常見的機(jī)器學(xué)習(xí)開發(fā)軟件與開發(fā)環(huán)境。 嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性與優(yōu)勢 由于嵌入式
    的頭像 發(fā)表于 01-25 17:05 ?664次閱讀
    <b class='flag-5'>嵌入式</b>機(jī)器學(xué)習(xí)的應(yīng)用特性與<b class='flag-5'>軟件</b>開發(fā)環(huán)境

    如何提高嵌入式代碼質(zhì)量?

    嵌入式代碼的質(zhì)量是至關(guān)重要的。本文將探討如何通過有效的開發(fā)方法和工具來提高嵌入式代碼的質(zhì)量,以確保系統(tǒng)的可靠性和可維護(hù)性。 理解嵌入式
    發(fā)表于 01-15 10:48

    哪些專業(yè)適合學(xué)習(xí)嵌入式開發(fā)?

    :涉及傳感器技術(shù)、網(wǎng)絡(luò)通信等,是物聯(lián)網(wǎng)領(lǐng)域的關(guān)鍵技術(shù)領(lǐng)域,適合轉(zhuǎn)行到物聯(lián)網(wǎng)和嵌入式領(lǐng)域。 3)自動化專業(yè):自動化專業(yè)的知識對于嵌入式系統(tǒng)的設(shè)計和控制
    發(fā)表于 01-03 13:44

    ARM嵌入式通信協(xié)議及應(yīng)用

    同工作至關(guān)重要。 一、ARM嵌入式系統(tǒng)概述 ARM(Advanced RISC Machines)是一種基于精簡指令集計算機(jī)(RISC)的處理器架構(gòu),廣泛應(yīng)用于移動設(shè)備、物聯(lián)網(wǎng)(IoT)設(shè)備、工業(yè)控制
    的頭像 發(fā)表于 12-28 09:18 ?958次閱讀

    嵌入式系統(tǒng)開發(fā)中的測試方法 嵌入式系統(tǒng)開發(fā)與AI結(jié)合應(yīng)用

    嵌入式系統(tǒng)開發(fā)中的測試方法 嵌入式系統(tǒng)開發(fā)是一個復(fù)雜的過程,涉及到硬件和軟件的緊密結(jié)合。
    的頭像 發(fā)表于 12-09 10:22 ?1362次閱讀

    mmc卡在嵌入式系統(tǒng)中的使用

    隨著科技的發(fā)展,嵌入式系統(tǒng)在我們的日常生活中扮演著越來越重要的角色。從智能手機(jī)到家用電器,再到工業(yè)控制系統(tǒng),嵌入式
    的頭像 發(fā)表于 11-25 09:58 ?1183次閱讀

    【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗】+第7-8章學(xué)習(xí)心得

    Hypervisor在實際應(yīng)用中的重要性。在航空領(lǐng)域,嵌入式Hypervisor已成為綜合模塊化航空電子設(shè)備(IMA)架構(gòu)的標(biāo)準(zhǔn)應(yīng)用接口,為飛行控制系統(tǒng)提供了高可靠性和安全性的
    發(fā)表于 10-09 18:50

    嵌入式系統(tǒng)的未來趨勢有哪些?

    會更加注重能源效率。低功耗設(shè)計和節(jié)能技術(shù)會成為關(guān)鍵,以延長設(shè)備的電池壽命或降低能源成本。這對于可穿戴設(shè)備、便攜醫(yī)療設(shè)備等對續(xù)航能力有較高要求的產(chǎn)品尤為重要。 4. 多模塊與集成化 在未來的
    發(fā)表于 09-12 15:42

    嵌入式軟件開發(fā)與AI整合

    嵌入式軟件開發(fā)與AI整合是當(dāng)前技術(shù)發(fā)展的重要趨勢之一。隨著人工智能技術(shù)的快速發(fā)展,嵌入式系統(tǒng)越來越多地集成了AI算法,以實現(xiàn)更復(fù)雜的智能功能
    的頭像 發(fā)表于 07-31 09:25 ?1370次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>開發(fā)與AI整合