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

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

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

為什么需求可追溯性對于當(dāng)今的嵌入式系統(tǒng)仍然很重要

星星科技指導(dǎo)員 ? 來源:embedded ? 作者:Mark Pitchford ? 2023-04-24 11:00 ? 次閱讀

俗話說,“未能構(gòu)建正確的產(chǎn)品或構(gòu)建正確的產(chǎn)品”的成本會影響收入和聲譽。構(gòu)建“正確產(chǎn)品”的唯一方法是開發(fā)既有效又可追溯到軟件的需求。這使開發(fā)團隊、質(zhì)量保證 (QA) 和認(rèn)證機構(gòu)能夠檢查軟件中的任何功能,通過將其追溯到需求來確定其用途。

挑戰(zhàn)在于了解如何在當(dāng)今動態(tài)市場條件和更短的發(fā)布時間驅(qū)動的快速變化的軟件面前保持需求可追溯性。了解雙向可追溯性并知道如何維護它可確保產(chǎn)品功能是合理的,反之,沒有理由地構(gòu)建任何東西。

失敗的代價

如果客戶認(rèn)為產(chǎn)品功能受到損害,并且如果出現(xiàn)召回或安全漏洞,則不可避免地會造成災(zāi)難性的收入或聲譽損失。例如,特斯拉今年早些時候因與擋風(fēng)玻璃除霜相關(guān)的軟件錯誤而召回了汽車[1]。在特斯拉的其他召回中,許多與自動駕駛有關(guān),這說明了管理所有可能場景的復(fù)雜性,以及快速識別、修復(fù)和更新軟件以最大限度地降低成本和聲譽損害的需求。

Deepanshu Natani 在 Atlassian 社區(qū)發(fā)表的一篇文章“需求管理中的挑戰(zhàn)”寫道[2]:

“分析師報告說,多達(dá)71%的軟件項目失敗是因為需求管理不善,使其成為項目失敗的最大原因 - 比糟糕的技術(shù),錯過最后期限或變更管理慘敗更大。

從編寫良好的要求開始

每個軟件項目的基礎(chǔ)都是它的需求。它們應(yīng)該是精確和明確的,引導(dǎo)軟件開發(fā)朝著清晰、可測試且可追溯到特定目的的方向發(fā)展。

編寫要求有幾種方法,其中文本規(guī)范是最流行的方法。文本可以非常有效,包括使用通俗語言,以便更廣泛地理解更接近具體實施計劃的技術(shù)術(shù)語。

由于人類語言本質(zhì)上是不精確的,容易產(chǎn)生歧義,因此需要高度的嚴(yán)謹(jǐn)性來克服可能的陷阱。將經(jīng)過驗證的規(guī)則應(yīng)用于需求有助于避免問題 - MISRA 編碼標(biāo)準(zhǔn)提供了這些規(guī)則的示例[3]:

使用段落格式將要求文本與非要求文本區(qū)分開來

每個段落僅列出一個要求

使用動詞“應(yīng)”

避免在需求中使用“and”,并將重構(gòu)視為多個需求

避免使用“除非”或“僅當(dāng)”等條件,因為它們可能會導(dǎo)致模棱兩可的解釋

圖 1 列出了有效需求的十個屬性。

wKgZomRF8xOASwzwAAC-NmfiWSw057.png

[圖1.有效要求的十個屬性。(資料來源:LDRA)]

確保適當(dāng)?shù)男枨罂勺匪菪?/strong>

必須實施所有要求。同樣,反之亦然——所有源代碼(和所有測試)都應(yīng)該可以追溯到設(shè)計,并最終追溯到需求(功能性或非功能性)。

當(dāng)需求開始發(fā)生變化時,挑戰(zhàn)就來了。若要快速有效地管理更改的影響,需要修改相關(guān)要求或添加新要求,請務(wù)必了解如何在代碼中反映更改以及驗證更新所需的測試中。

圖 2 說明了需求和測試之間的典型關(guān)系[4]。在這里,系統(tǒng)級需求 (SLR) 應(yīng)該可追溯到高級需求 (HLR),而高級需求又可追溯到低級需求 (LLR)。HLR 可追溯到高級測試 (HLT),LLR 可追溯到低級別測試 (LLT)。

這種雙向可追溯性使團隊能夠看到從需求規(guī)范到構(gòu)建、測試、更改和返回的可見性(圖 2)。

wKgaomRF8LmAHL7nAAEjfITp8lU922.jpg

[圖2.不同類型需求之間的典型可追溯性結(jié)構(gòu)。(資料來源:LDRA)]

在不失去可追溯性的情況下管理變更意味著需求和測試的耦合必須自動化 - 這也使得了解測試和需求變更的上游和下游影響變得簡單。

驗證需求滿足情況

證明系統(tǒng)滿足要求有助于量化“構(gòu)建了正確的系統(tǒng)”。這有兩種風(fēng)格:

使用單元測試來證明應(yīng)用程序組件單獨滿足其各自的目的

使用集成測試來顯示應(yīng)用程序的各個部分作為一個整體協(xié)同工作

自動化和自動化工具通過將單元和集成測試與其適當(dāng)?shù)囊舐?lián)系起來并報告履行情況,而無需耗時的手動工作,從而提供幫助。圖 3 說明了需求管理平臺中的兩個場景[5]:

HLR_100 –綠點表示滿足要求,反映了已驗證關(guān)聯(lián)的高級測試 (TCI_HLT_100) 和低級別要求(LLR_104 到 LLR_109)的事實。

HLR_101 –紅點表示需求未滿足,反映低級別需求LLR_103由于低級別測試TCI_LLT_103失敗而未滿足的事實。

wKgZomRF8ySAA0T7AAKkBltpW4o259.png

[圖3.使用自動化工具報告需求履行情況。(資料來源:LDRA)]

在后一種情況下,失敗的測試具有關(guān)聯(lián)的測試用例文件,可以使用單元測試工具和關(guān)聯(lián)的回歸報告進(jìn)行回歸,以幫助了解測試失敗的原因。

確定結(jié)構(gòu)覆蓋率

結(jié)構(gòu)覆蓋率是嵌入式軟件中的一個重要概念,因為它保證了整個代碼庫已得到一致和充分的執(zhí)行。作為 ISO 26262、DO-178B 和 IEC 62304 等標(biāo)準(zhǔn)的關(guān)鍵準(zhǔn)則,結(jié)構(gòu)覆蓋可幫助開發(fā)人員檢測和刪除死代碼,而質(zhì)量保證 (QA) 則使用它來確定缺失的測試用例。在這兩種情況下,將此覆蓋范圍追溯到需求有助于確保每個已實現(xiàn)的組件都有一個原因,并確定尚未實現(xiàn)的要求。

自動化有助于確定結(jié)構(gòu)覆蓋率,顯示隨著基于需求的測試完成而執(zhí)行代碼的哪些部分[6]。圖 4 展示了一個測試驗證報告,其中顯示了不同類型的覆蓋指標(biāo)的結(jié)果:

wKgZomRF8L2ALSAcAAD6irPZ7ZM445.jpg

[圖4.使用自動化工具報告結(jié)構(gòu)覆蓋率(來源:LDRA)]

陳述–在執(zhí)行應(yīng)用程序時執(zhí)行的語句數(shù),占該應(yīng)用程序中語句總數(shù)的百分比。100% 覆蓋率意味著所有語句在測試期間至少執(zhí)行過一次。

分支/決策 –在執(zhí)行應(yīng)用程序時執(zhí)行的分支數(shù)占該應(yīng)用程序中語句總數(shù)的百分比。

單聲道/直流 –修改條件/決策覆蓋率 (MC/DC) 衡量決策陳述中的所有條件是否至少對所有可能的結(jié)果進(jìn)行一次評估,以及所有這些條件是否獨立地影響決策的結(jié)果。

圖 5 顯示了這些測試與其相關(guān)的低級需求之間的映射,以形成可追溯性矩陣。在此示例中,所有要求 (LLR_*) 均已使用測試 (TCI_LLT_*) 進(jìn)行驗證。這種類型的報告只能通過應(yīng)用此處討論的可追溯性原則來實現(xiàn)。

wKgaomRF8L-AMpNmAADEvzMvjO0972.jpg

[圖5.一個可追溯性矩陣,顯示映射到測試用例的需求驗證。(資料來源:LDRA)]

可追溯性確保制造出“正確”的產(chǎn)品

團隊絕不能將系統(tǒng)和軟件要求降級到貨架軟件中。隨著產(chǎn)品變得越來越復(fù)雜,軟件更新的頻率越來越高,需求可追溯性對于最大限度地降低風(fēng)險仍然是相關(guān)性和必要的。

了解需求實施和測試的方式和位置可確保軟件適合用途。在軟件更改中保持這種意識可確保開發(fā)人員了解對代碼和測試的影響,而無需花時間搜索它們。

自動化是動態(tài)保持雙向需求可追溯性并確保產(chǎn)品“正確構(gòu)建”的唯一現(xiàn)實方法。沒有它,團隊將花費太多時間試圖手動解決,從而導(dǎo)致成本增加和下游的潛在問題。

審核編輯:郭婷

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

    關(guān)注

    8

    文章

    5099

    瀏覽量

    126338
  • 嵌入式
    +關(guān)注

    關(guān)注

    5059

    文章

    18973

    瀏覽量

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

    關(guān)注

    30

    文章

    4722

    瀏覽量

    68234
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    嵌入式發(fā)展前景 嵌入式系統(tǒng)行業(yè)對人才的需求

      眾人都說嵌入式系統(tǒng)開發(fā)在2017年迎來了自己的興旺之年,可很多人都在人云亦云,真正對嵌入式系統(tǒng)行業(yè)對人才的需求也是一知半解。本文創(chuàng)客學(xué)院
    發(fā)表于 06-23 11:04

    嵌入式發(fā)展前景 嵌入式系統(tǒng)行業(yè)對人才的需求

      眾人都說嵌入式系統(tǒng)開發(fā)在2017年迎來了自己的興旺之年,可很多人都在人云亦云,真正對嵌入式系統(tǒng)行業(yè)對人才的需求也是一知半解。本文創(chuàng)客學(xué)院
    發(fā)表于 07-03 18:46

    嵌入式系統(tǒng)產(chǎn)品的可靠

    和工業(yè)工廠自動化某些應(yīng)用,超過嚴(yán)格的故障時間(FIT)率(平均故障間隔(MTBF)的相對概念)是完全不能接受的。 對于當(dāng)今復(fù)雜的系統(tǒng),工程師不僅要著眼于滿足成本和性能目標(biāo)的嵌入式解決
    發(fā)表于 08-30 14:43

    如何提升嵌入式系統(tǒng)的VxWorks安全?

    實時嵌入式系統(tǒng)與網(wǎng)絡(luò)的結(jié)合以及高可信覆蓋網(wǎng)絡(luò)的發(fā)展使得嵌入式實時操作系統(tǒng)的安全性問題日益突出。提高實時嵌入式
    發(fā)表于 10-30 06:03

    可靠是軍用嵌入式系統(tǒng)重要因素是什么

    可靠是軍用嵌入式系統(tǒng)重要因素軍用嵌入式系統(tǒng)的可靠
    發(fā)表于 04-23 06:24

    如何滿足嵌入式系統(tǒng)的靈活需求

    嵌入式程序開發(fā)基本概念如何滿足嵌入式系統(tǒng)的靈活需求開發(fā)高效程序的技巧是什么
    發(fā)表于 04-28 06:07

    Linux對嵌入式重要性

    的,現(xiàn)在好多非嵌入式科班出身的求職者都投入到了嵌入式這個行業(yè)的學(xué)習(xí)當(dāng)中,那么現(xiàn)在由小編簡單的為您分析一下嵌入式工程師是如何煉成的呢。入門嵌入式工程師針
    發(fā)表于 10-27 07:00

    嵌入式軟件的重要性

    效率的重要工作。目前,裝備嵌入式軟件的自動化測試,更多的還是依賴代碼級別的白盒測試工具;黑盒動態(tài)測試還主要是根據(jù)不同的裝備需求,研發(fā)配套的工裝系統(tǒng),測試效率和測試深度都有很大缺陷。主要
    發(fā)表于 10-27 06:59

    嵌入式系統(tǒng)重要特征是什么

    嵌入式系統(tǒng)的幾個重要特征:1.系統(tǒng)內(nèi)核小。由于嵌入式系統(tǒng)一般是應(yīng)用于小型電子裝置的,
    發(fā)表于 11-09 06:01

    嵌入式行業(yè)發(fā)展?fàn)顩r_嵌入式行業(yè)人才需求_嵌入式系統(tǒng)就業(yè)前景分析

    本文主要是對嵌入式系統(tǒng)就業(yè)前景分析,首先介紹了嵌入式行業(yè)發(fā)展?fàn)顩r及人才需求,其次闡述了嵌入式系統(tǒng)
    的頭像 發(fā)表于 05-17 17:27 ?2.4w次閱讀

    制造業(yè)MES的可追溯是怎樣的?MES功能對可追溯有什么要求?

    著市場競爭越來越激烈,制造企業(yè)需要在產(chǎn)品召回、提高質(zhì)量、降低成本等各個方面進(jìn)行提升。而這些方面的提升和改進(jìn),需要獲取企業(yè)生產(chǎn)過程中的各種可追溯數(shù)據(jù)。可追溯是MES系統(tǒng)的一個
    發(fā)表于 09-13 08:00 ?5次下載
    制造業(yè)MES的<b class='flag-5'>可追溯</b><b class='flag-5'>性</b>是怎樣的?MES功能對<b class='flag-5'>可追溯</b><b class='flag-5'>性</b>有什么要求?

    食品的可追溯怎樣來完善

    區(qū)塊鏈具有獨特的功能和特性,對食品可追溯特別有吸引力。
    發(fā)表于 08-05 09:59 ?1589次閱讀

    確保紅外測溫的準(zhǔn)確/可追溯

    計量可追溯至關(guān)重要,因為準(zhǔn)確的溫度測量會影響工廠安全、工藝效率、材料強度、產(chǎn)品質(zhì)量、設(shè)備壽命等。
    的頭像 發(fā)表于 08-29 08:07 ?1010次閱讀
    確保紅外測溫的準(zhǔn)確<b class='flag-5'>性</b>/<b class='flag-5'>可追溯</b><b class='flag-5'>性</b>

    RAM測試是什么?嵌入式系統(tǒng)開發(fā)中RAM測試的重要性

    嵌入式系統(tǒng)在眾多關(guān)鍵應(yīng)用中發(fā)揮著至關(guān)重要的作用,涵蓋汽車和航空航天工業(yè)到醫(yī)療設(shè)備和工業(yè)控制系統(tǒng)領(lǐng)域。隨著嵌入式
    發(fā)表于 07-28 11:11 ?2259次閱讀