国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

軟件詳細設(shè)計文檔在動態(tài)單元測試過程中的應(yīng)用

北匯信息POLELINK ? 2022-07-27 17:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

隨著汽車日益互聯(lián)化、智能化和電動化,硬件組件的抽象化,軟件功能變得愈發(fā)復(fù)雜——汽車正在從基于硬件的創(chuàng)新轉(zhuǎn)向基于軟件的創(chuàng)新,并且軟件安全和質(zhì)量越來越受到制造商和消費者的關(guān)注,而傳統(tǒng)的工具和流程可能無法滿足汽車發(fā)展與應(yīng)用的實際需求。為了解決這些安全和質(zhì)量方面的問題,汽車工業(yè)已經(jīng)采用了ASPICE標準和ISO 26262標準,它們?yōu)?a target="_blank">電氣和電子系統(tǒng)的開發(fā)提供了最佳的實踐。

單元測試是軟件測試階段最基本的測試,它能夠消除深度未知隱患。它反饋更快,更省時間。此外,ASPICE過程及ISO26262安全規(guī)范同樣對單元測試提出了相關(guān)要求。

軟件詳細設(shè)計文檔為單元測試提供了基礎(chǔ)的輸入?yún)⒄铡腁SPICE角度來說,沒有詳細設(shè)計文檔是無法進行單元驗證或測試的。這表明,詳細設(shè)計文檔指導(dǎo)著單元測試過程的所有活動。同時,使用像VectorCAST/C++這樣的專業(yè)工具,高效進行功能測試的同時,保證了代碼的覆蓋度,符合ASPICE和ISO26262行業(yè)規(guī)范要求。

1、WHY:(軟件詳細設(shè)計文檔與單元測試的基本關(guān)系)

1.1從V模型角度

pYYBAGLg9_6ACDwCAADOHNzK_3o680.png

圖 1 ISO 26262里面的V模型

V模型是在快速應(yīng)用開發(fā)(Rapid Application Development,RAD)模型基礎(chǔ)上演變而來,其特點就是它清楚的標識了開發(fā)和測試的各個階段以及他們之間的對應(yīng)關(guān)系;左邊部分是軟件開發(fā)階段,右邊部分是軟件測試階段。從上圖中我們可以看出,軟件詳細設(shè)計文檔對應(yīng)著軟件單元測試,所以要想做好單元測試,就必須有軟件詳細設(shè)計文檔作為輸入,同時要求測試工程師對軟件詳細設(shè)計文檔有著深刻的理解。

軟件詳細設(shè)計文檔應(yīng)在編寫代碼之前完成,軟件代碼是對軟件詳細設(shè)計文檔的具體實現(xiàn),軟件單元測試則是以軟件詳細設(shè)計為參照,判斷軟件代碼是否符合軟件詳細設(shè)計文檔的工作。

1.2軟件詳細設(shè)計文檔是測試輸入的基礎(chǔ)參照之一

pYYBAGLg-FiAOpOeAAA3LgjWxKM744.png

圖 2 軟件詳細設(shè)計文檔是測試輸入的基礎(chǔ)參照之一

VectorCAST/C++可以為單元測試和集成測試提供高度自動化的解決方案,能夠顯著提升開發(fā)人員在驗證安全和任務(wù)關(guān)鍵型嵌入式系統(tǒng)方面的工作效率。廣泛應(yīng)用于航空電子、醫(yī)療設(shè)備、汽車、工業(yè)控制、鐵路和金融行業(yè)。

如上圖所示,將詳細設(shè)計文檔和單元需求文檔結(jié)合起來,會大大的提高編寫測試用例效率。特別是對于那些顆粒度較大的“單元需求文檔”,需要結(jié)合軟件詳細設(shè)計文檔,從顆粒度較大的需求提取出有效的部分來進行功能測試。

軟件詳細設(shè)計文檔與單元需求文檔相輔相成,所以軟件詳細設(shè)計文檔在單元測試中有著十分重要的作用。

然后,通過相應(yīng)的源代碼使用VectorCAST/C++工具創(chuàng)建測試工程,接著通過VectorCAST/C++工具為需求測試自定義編寫測試用例,同時將需求映射到測試用例,形成測試用例與單元測試需求、測試用例與代碼覆蓋度之間的雙向可追溯性,并且可以在最后的測試報告中體現(xiàn)出來。

1.3快速理解功能需求,降低溝通成本

如果負責該項測試測試的人員對項目內(nèi)容了解很有限的話,這就免不了與開發(fā)人員進行頻繁的溝通。即使是一個公司內(nèi)部進行測試,只要不是開發(fā)人員來進行測試,一般也避免不了與開發(fā)人員進行溝通,但是如果有了軟件詳細設(shè)計文檔,測試人員可以快速了解開發(fā)內(nèi)容,理解功能需求,降低與開發(fā)人員溝通時間與次數(shù),而且能夠較完整的完成其單元測試。

pYYBAGLg-HaAQWfeAABR874yI00171.png

圖 3 有無軟件詳細設(shè)計文檔對測試周期和溝通次數(shù)的影響示意圖

2、WHAT:(什么是軟件詳細設(shè)計文檔)

2.1詳細設(shè)計基本概念

詳細設(shè)計是為了確立每個模塊的實現(xiàn)算法、數(shù)據(jù)結(jié)構(gòu)以及接口定義,用適當?shù)姆椒ū硎舅惴ê蛿?shù)據(jù)結(jié)構(gòu)的細節(jié)。

它通過一些設(shè)計描述工具,無歧義的描述過程單位的相關(guān)細節(jié)。詳細設(shè)計產(chǎn)生的主要文件就是軟件詳細設(shè)計文檔。

此外,軟件詳細設(shè)計文檔一般來源于軟件架構(gòu)設(shè)計的進一步分析。在軟件架構(gòu)設(shè)計活動中,設(shè)計了軟件組件和組件間接口。

軟件詳細設(shè)計則是對軟件組件的進一步分解和設(shè)計,一般包含三個方面:軟件單元,軟件單元的內(nèi)部邏輯和軟件單元間的交互邏輯。

pYYBAGLg-KqABuMXAABAqr4qC3g094.png

圖 4 軟件詳細文設(shè)計文檔包含的內(nèi)容

2.2詳細設(shè)計文檔基本內(nèi)容

由于自然語言不具有單義性,所以要進行無歧義的描述軟件過程單元細節(jié),就必須使用一些特定的設(shè)計描述方法。詳細設(shè)計采用的方法一般有程序流程圖、HIPO(Hierarchy plus Input Process Output)圖、N-S圖等,還有其他描述說明形式(如圖5)。使用這些方法就是來規(guī)范和輔助說明算法、數(shù)據(jù)結(jié)構(gòu)和接口相關(guān)細節(jié)的。

這些細節(jié)涵蓋了數(shù)據(jù)結(jié)構(gòu)定義,全局變量和宏定義描述,動態(tài)行為描述(比如任務(wù),中斷和需求方案分析等),每個函數(shù)的設(shè)計(比如輸入、輸出、流程圖、偽代碼等)等。

pYYBAGLg-MCAfFTHAAD7kP9fZng504.png

圖 5 軟件詳細設(shè)計文檔包含了GetStopSigLevel函數(shù)的定義

3、HOW:(軟件詳細設(shè)計文檔在VectorCAST/C++工具中的應(yīng)用)

3.1為測試用例的數(shù)據(jù)提供依據(jù)

pYYBAGLg-NqADg7iAAC6_tiE2_s402.png

圖 6 單元需求文檔csv文件

Key:FR6

ID:FR6

Module:requirement 3

Title Description:"The signal light_intensity shall be an input to lights control. Its value shall range from 0 to 100."

pYYBAGLg-QGAbvNCAAAsIoMlhmU108.png

圖 7 需求文檔csv文件中的某條需求

如上圖標黃區(qū)域,說明了“l(fā)ight_intensity”變量變化范圍是0~100。所以根據(jù)這條詳細設(shè)計文檔說明,就可以正確編寫測試用例,并保證了測試用例數(shù)據(jù)是有實際意義的,避免像“l(fā)ight_intensity=120”等這樣無意義的賦值。

pYYBAGLg-Q2Ae-JhAAGF446ymys769.png

圖 8 具有意義的測試用例并通過

poYBAGLg-RiAIjezAAGOvT9T1Vc530.png

圖 9 無意義的測試用例并失敗

3.2VectorCAST/C++工具RGW功能

pYYBAGLg-S6AQQhEAAHUuZs7_Do771.png

圖 10 通過工具實現(xiàn)軟件單元需求與測試用例關(guān)聯(lián)

VectorCAST/C++提供一個RGW(Requirements Gateway)功能。VectorCAST/C++支持與一些需求管理系統(tǒng)Polarion、DOORS、RequisitePro等進行集成,同時支持需求管理系統(tǒng)導(dǎo)出的CSV等格式文件。

對于經(jīng)過軟件詳細設(shè)計文檔印證的需求文檔,我們可以按照這些結(jié)構(gòu)文件編寫,使需求文檔契合VectorCAST/C++工具,使用該功能。可以實現(xiàn)軟件單元需求、測試用例和代碼覆蓋率之間的可追溯性,并允許將單元需求導(dǎo)入,映射到測試用例。

這樣可以幫助測試人員,當需求發(fā)生更新或迭代時,能夠快速更新測試用例或編寫測試用例,提高工作效率。

所以軟件詳細設(shè)計文檔,在很大程度上為項目團隊提升了測試效率、提升工作的自動化率。

3.3批量生成測試用例

對于那些詳細設(shè)計文檔里的某些函數(shù),若具有一般數(shù)學(xué)表達式的功能的函數(shù)且我們可以事先確定好它的輸入與輸出的,可以通過VectorCAST/C++工具提供的CSV Mapping功能來批量構(gòu)建測試用例。

poYBAGLg-USAFtpGAAIOi-focgU905.png

圖 11 包含測試所需數(shù)據(jù)的CSV文件

首先我們根據(jù)函數(shù)關(guān)系確定好一系列的輸入值和期望值形成CSV文件,然后將CSV文件加載到工具中,接著確定好數(shù)據(jù)列與測試用例模板里變量的對應(yīng)關(guān)系,最后選擇創(chuàng)建測試用例。

通過上面操作我們就會快速生成一系列的測試用例。

pYYBAGLg-VOAKpRsAAEcYv1ZbRA062.png

圖 12 對應(yīng)測試用例模板變量與CSV文件列的關(guān)系并生成測試用例

總結(jié)

眾所周知,進行單元測試不僅可以盡早地發(fā)現(xiàn)錯誤,還容易發(fā)現(xiàn)深層次問題,并能快速定位問題的來源,針對相關(guān)需求,向開發(fā)人員進行反饋,小步快速迭代,高效的實現(xiàn)正確的需求和代碼。而詳細設(shè)計文檔不僅為開發(fā)提供了標準,也為后續(xù)的測試提供了參考。通過VectorCAST/C++聯(lián)系實際問題,能快速的完成動態(tài)單元測試。

北匯信息專注于汽車電子測試,提供專業(yè)的汽車電子測試系統(tǒng)搭建及測試咨詢服務(wù);提供完整的汽車新能源測試服務(wù)。當然在代碼測試方面,我們也有完整的代碼測試解決方案。

VectorCAST/C++作為Vector公司的代碼動態(tài)測試工具,既可以用于手寫代碼,也可以用于自動生成代碼的測試,如模型轉(zhuǎn)代碼的測試。

本次為大家簡單介紹了軟件詳細設(shè)計文檔在單元測試過程的一些簡單應(yīng)用。后續(xù)將會為大家?guī)砀嗷赩ectorCAST/C++的動態(tài)測試相關(guān)內(nèi)容。

注:文中圖片來源于ISO 26262、VectorCAST/C++(Vector)。

參考文獻

[1] VectorCAST/C++相關(guān)文檔

[2]仨人談起·基于模型開發(fā)(MBD)場合,模型設(shè)計可以等同于軟件詳細設(shè)計嗎?

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

    關(guān)注

    9

    文章

    6211

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

    函數(shù)、類或組件)進行的驗證活動,它在半導(dǎo)體嵌入式軟件開發(fā)具有不可替代的核心價值。首先,單元測試能夠開發(fā)早期捕獲缺陷。據(jù)SEI研究所統(tǒng)計,發(fā)布后修復(fù)一個缺陷的成本是開發(fā)階段修復(fù)的10
    發(fā)表于 03-06 14:55

    汽車軟件質(zhì)量躍遷的系統(tǒng)性路徑:基于ISO 26262標準的單元測試體系重構(gòu)與中日實踐深度對比(2026學(xué)術(shù)研究報告)

    。” 研究命題 :速度與質(zhì)量的博弈單元測試不僅是技術(shù)問題,更是戰(zhàn)略安全防線。 2. 理論基石:ISO 26262與ASPICE的合規(guī)性框架 2.1 ISO 26262-6:2018對單元
    發(fā)表于 01-05 14:58

    嵌入式軟件單元測試AI自動化與人工檢查的協(xié)同機制研究:基于專業(yè)工具的實證分析

    、可追溯。 因此,?單元測試嵌入式開發(fā)不僅是質(zhì)量保障手段,更是合規(guī)性強制要求?。通用軟件可依賴“灰盒測試+用戶反饋”迭代優(yōu)化,而嵌入式系
    發(fā)表于 12-31 11:22

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

    方面: ?早期缺陷發(fā)現(xiàn)****?:單元測試可以開發(fā)早期發(fā)現(xiàn)代碼的邏輯錯誤和邊界條件問題,降低后期修復(fù)成本 ?硬件交互驗證****?:嵌入式軟件通常需要直接與硬件交互,
    發(fā)表于 12-18 11:46

    嵌入軟件單元測試的全面研究與實踐

    作為軟件開發(fā)過程中最早進行的測試活動,能夠有效隔離代碼片段,驗證其功能是否符合設(shè)計預(yù)期,從而在早期階段發(fā)現(xiàn)潛在缺陷,提升代碼質(zhì)量。本文將系統(tǒng)探討嵌入軟件單元測試的標準流程、方法論、工具
    的頭像 發(fā)表于 12-01 14:31 ?546次閱讀

    單元測試專業(yè)工具新能源開發(fā)的作用研究

    單元測試的歷史由來與發(fā)展 單元測試的概念可以追溯到20世紀60年代,伴隨著計算機科學(xué)和軟件工程學(xué)科的發(fā)展而逐步形成。早期的計算機科學(xué)研究(20世紀60年代),程序員意識到僅依靠手工調(diào)
    的頭像 發(fā)表于 11-03 16:03 ?476次閱讀

    嵌入式軟件測試與專業(yè)測試工具的必要性深度解析

    嵌入式系統(tǒng)作為控制、監(jiān)視或輔助裝置運行的專用計算機系統(tǒng),其軟件測試面臨著獨特的挑戰(zhàn)和嚴格的要求。專業(yè)測試工具嵌入式軟件開發(fā)過程中發(fā)揮著不可
    發(fā)表于 09-28 17:42

    CUBEIDE調(diào)試過程中,如何將數(shù)組仲的數(shù)據(jù)拷貝到電腦?

    請問,有什么辦法可以CUBEIDE 調(diào)試過程中,將數(shù)組的數(shù)據(jù)拷貝到電腦上去?
    發(fā)表于 09-09 07:20

    邊聊安全 | 軟件單元測試的設(shè)計方法

    的設(shè)計是確保代碼正確性和可靠性的關(guān)鍵步驟。軟件單元測試,等價類測試是一種很重要的測試設(shè)計方法
    的頭像 發(fā)表于 09-05 16:18 ?7423次閱讀
    邊聊安全 | <b class='flag-5'>軟件</b><b class='flag-5'>單元測試</b>的設(shè)計方法

    HarmonyOSAI編程單元測試用例

    根據(jù)選中的ArkTS方法名稱,CodeGenie支持自動生成對應(yīng)單元測試用例,提升測試覆蓋率。 ArkTS文檔,光標放置于方法名稱上或框
    發(fā)表于 08-27 14:33

    新能源車軟件單元測試深度解析:自動駕駛系統(tǒng)視角

    。 ?自動駕駛軟件的特殊性? ? 感知層: ?激光雷達、攝像頭等傳感器數(shù)據(jù)處理算法的單元測試需覆蓋極端場景。例如,激光雷達點云濾波算法雨雪天氣下的噪聲抑制能力需通過邊界測試驗證。某
    發(fā)表于 05-12 15:59

    新能源車背后的隱形守護者:軟件單元測試的生死較量?

    。這個教科書級的避讓動作背后,是超過8000萬行代碼的精密協(xié)作,而確保這些代碼絕對可靠的秘密武器,正是我們今天要揭秘的軟件單元測試。 ?一、代碼世界的顯微鏡:單元測試為何重要? 如果把整車軟件
    的頭像 發(fā)表于 05-12 11:00 ?604次閱讀

    單元測試嵌入式軟件的關(guān)鍵作用及winAMS工具的卓越貢獻

    1.?單元測試概述 ?定義與核心目標? 單元測試軟件開發(fā)過程中針對程序模塊(如函數(shù)、類或組件)的最小可測試單元進行的驗證活動。其核心目標在
    的頭像 發(fā)表于 04-11 14:31 ?1060次閱讀

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

    一、為什么嵌入式軟件必須重視單元測試? ?嵌入式系統(tǒng)的特殊性? 汽車 ECU、醫(yī)療設(shè)備控制器等場景軟件直接操控硬件,?單比特錯誤可能導(dǎo)
    的頭像 發(fā)表于 03-21 14:53 ?1436次閱讀

    請問NXP板的BSP QA過程中采用了哪些具體的測試方法?

    QA 過程中采用了哪些特定的測試方法? 什么是 QA 流程,以及 yocto/linux BSP 整個 QA 生命周期中如何跟蹤和管理缺陷? RSB 3720 板的 QA
    發(fā)表于 03-17 08:04