日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車測試網(wǎng)

  • 公眾號(hào)
    • 汽車測試網(wǎng)

    • 在線課堂

    • 電車測試

測試基礎(chǔ)|汽車軟件測試術(shù)語解釋

2024-11-02 09:09:34·  來源:TesterHome社區(qū)  
 

編譯整理|TesterHome社區(qū)

作者|Robert Fey

以下為作者觀點(diǎn):

目錄

  • 什么是測試對(duì)象或被測系統(tǒng)?

  • 什么是測試用例?

  • 什么是動(dòng)態(tài)測試?

  • 測試級(jí)別有哪些?

  • 什么是測試環(huán)境?

  • 總結(jié)

汽車世界在不斷發(fā)展,“軟件定義汽車”等新術(shù)語證明了軟件對(duì)于當(dāng)今汽車的重要性。

無論是 MiL、SiL、PiL、HiL、單元測試、軟件測試還是集成測試:汽車軟件測試領(lǐng)域有很多技術(shù)術(shù)語,因此兩個(gè)人對(duì)同一術(shù)語的理解可能會(huì)有所不同。誤解可能會(huì)發(fā)生,并使有效合作變得困難——我們也知道類似的情況。

在開發(fā)過程中,以前純粹的機(jī)械領(lǐng)域逐漸擴(kuò)展到軟件和數(shù)字功能。車輛的功能和行為現(xiàn)在幾乎完全通過軟件實(shí)現(xiàn)。與此同時(shí),當(dāng)人們談?wù)撥浖r(shí),也會(huì)立即提到測試。但為什么要提到軟件和測試呢?軟件也只在車輛的硬件上運(yùn)行,它們共同構(gòu)成 ECU(電子控制單元)。有些車輛配備多達(dá) 150 個(gè) ECU,大約有 1 億行代碼(LOC)。ECU 相互通信和交互,以實(shí)現(xiàn)車輛的特定功能并使其對(duì)客戶切實(shí)可行。

圖片

有這么多的編程代碼,怎么可能出錯(cuò)呢?!讓我們來看一個(gè)客戶可以直接體驗(yàn)的車輛功能示例:在儀表盤上顯示交通標(biāo)志。它的工作原理如下: 

1.相機(jī)拍攝照片并對(duì)其進(jìn)行評(píng)估。 

2.檢測到的交通標(biāo)志被傳送到顯示控制單元并在那里可視化。 

3.該信息同時(shí)傳達(dá)給其他控制單元的其他功能并在那里進(jìn)行處理。  

所有傳感器、執(zhí)行器和控制單元的連接被稱為網(wǎng)絡(luò)架構(gòu),一輛車至少需要三年的開發(fā)時(shí)間才能投入量產(chǎn)。所有傳感器、執(zhí)行器和控制單元的正確交互自然會(huì)影響車輛的功能和質(zhì)量。為了測試正確的交互,必須分多個(gè)階段反復(fù)迭代測試車輛。

最大的挑戰(zhàn)是,汽車零部件的開發(fā)往往更多地是作為一個(gè)產(chǎn)品而不是一個(gè)項(xiàng)目,因此來自多個(gè)公司和部門的許多人都參與了汽車的制造。

綜上所述,這意味著汽車的開發(fā)比人們最初想象的要復(fù)雜得多。一方面是由于組織框架條件,另一方面是由于包含軟件內(nèi)容的系統(tǒng)組件數(shù)量眾多。由于可以通過多個(gè)系統(tǒng)組件的交互來體驗(yàn)功能,因此復(fù)雜性進(jìn)一步增加。

為了彌補(bǔ)所有這些缺陷,車輛需要進(jìn)行許多測試。測試的內(nèi)容、具體測試級(jí)別以及測試方式將在下一節(jié)中討論。

什么是測試對(duì)象或被測系統(tǒng)?

測試對(duì)象、被測系統(tǒng)和測試元素這些概念經(jīng)常被同時(shí)使用。根據(jù) ISTQB,測試對(duì)象被非?;\統(tǒng)地定義為“要測試的工作產(chǎn)品”。因此,測試對(duì)象可以是:

  1. 一個(gè)單位

  2. 多個(gè)軟件部分的匯編

  3. 完整的軟件程序

  4. 控制單元

  5. 由多個(gè)控制單元組成的網(wǎng)絡(luò)

  6. 整輛車

  7. 是任何其他要測試的對(duì)象

下面我們將使用術(shù)語“測試對(duì)象”和“被測系統(tǒng)”來表示所有需要測試的事物。  

什么是測試用例?

測試用例始終至少包含以下兩條信息: 

1. 定義應(yīng)如何刺激測試對(duì)象的測試數(shù)據(jù)。

2. 測試對(duì)象的預(yù)期值,定義測試對(duì)象在刺激期間應(yīng)進(jìn)行哪些計(jì)算/狀態(tài)。 

可選地,測試用例可以添加更多相關(guān)信息。測試對(duì)象“ECU”的典型先決條件是:ECU 處于喚醒狀態(tài)并準(zhǔn)備好接收消息。 

測試數(shù)據(jù)和預(yù)期值是所有測試級(jí)別和測試執(zhí)行的測試用例所必需的。預(yù)期值由各種信息源(也稱為測試預(yù)言)提供。測試預(yù)言可以是現(xiàn)有系統(tǒng)(作為基準(zhǔn))、規(guī)范或個(gè)人的專業(yè)知識(shí)。在任何情況下,被測代碼都不應(yīng)作為信息源。 

什么是動(dòng)態(tài)測試?

動(dòng)態(tài)測試是測試對(duì)象的執(zhí)行。大多數(shù)人將“測試”一詞與動(dòng)態(tài)測試聯(lián)系在一起。 

在動(dòng)態(tài)測試中,會(huì)創(chuàng)建并執(zhí)行一個(gè)測試用例,用測試數(shù)據(jù)來刺激測試對(duì)象。刺激會(huì)導(dǎo)致測試對(duì)象執(zhí)行計(jì)算或改變其狀態(tài)。動(dòng)態(tài)測試會(huì)記錄測試對(duì)象的反應(yīng),并將其與期望值進(jìn)行比較。如果反應(yīng)等于期望值,則認(rèn)為測試用例已通過。如果不相等,則認(rèn)為測試用例失敗。 

動(dòng)態(tài)測試的對(duì)立面是靜態(tài)測試。在靜態(tài)測試中,測試對(duì)象不會(huì)被模擬,而是被靜態(tài)分析。靜態(tài)測試的一個(gè)例子是源代碼文件的審查。

測試級(jí)別有哪些?

Automotive SPICE 間接地將測試級(jí)別分配給其流程模型,并了解以下五個(gè)流程: 

  1. 軟件單元驗(yàn)證(SWE.4) 

  2. 軟件集成與集成測試(SWE.5) 

  3. 軟件資格測試(SWE.6) 

  4. 系統(tǒng)集成與集成測試(SYS.4) 

  5. 系統(tǒng)資格測試(SYS.5)

圖片

根據(jù) Automotive SPICE 進(jìn)行分配時(shí),應(yīng)該注意,流程需要的活動(dòng)不僅僅是動(dòng)態(tài)測試。 

但測試用例實(shí)際上在哪個(gè)測試級(jí)別執(zhí)行,目的是什么?我們從最小的級(jí)別開始:編碼。這些是可以最早測試的測試對(duì)象。  

軟件編程之后是與開發(fā)相關(guān)的單元測試。它們也稱為模塊測試、功能測試或單元測試。在單元測試中,測試的是最小的軟件組件,即單元。  

單元經(jīng)常更改,因此單元測試必須經(jīng)常進(jìn)行調(diào)整、補(bǔ)充和重新執(zhí)行。單元測試有兩個(gè)主要目標(biāo):

1. 早期質(zhì)量保證2. 快速檢測代碼變更的交叉影響

單元測試通常是軟件開發(fā)中第一個(gè)實(shí)現(xiàn)自動(dòng)化的。

由于軟件或軟件組件會(huì)不斷調(diào)整和更改,因此在持續(xù)集成方法框架內(nèi)進(jìn)行協(xié)調(diào)非常有用,并且已經(jīng)建立。無論測試級(jí)別如何,重復(fù)測試始終稱為回歸測試,并且在 Automotive SPICE 中用于軟件單元驗(yàn)證等是必需的。實(shí)施回歸測試的最簡單方法是自動(dòng)化測試并在持續(xù)集成環(huán)境中執(zhí)行它們。

單元測試之后是軟件集成測試。集成是各個(gè)軟件組件的組裝及其測試。這里的重點(diǎn)是軟件組件之間的兼容性。集成測試通常分幾個(gè)階段進(jìn)行。根據(jù)整個(gè)軟件的范圍,集成測試提供幾個(gè)中間階段到幾百個(gè)中間階段。中間階段的數(shù)量和選擇最終取決于軟件架構(gòu)和軟件設(shè)計(jì)。元素和級(jí)別越多,集成測試中可以預(yù)期的中間階段就越多。  

通常,集成測試是自下而上開發(fā)的,首先將幾個(gè)單元(大約 3-5 個(gè))相互集成并進(jìn)行測試。然后將生成的復(fù)合材料與其他已測試的復(fù)合材料或其他單元集成,然后進(jìn)行下一個(gè)中間階段的測試。這種迭代鏈一直持續(xù)到 ECU 的整個(gè)軟件都已構(gòu)建并測試完畢。 

大量集成測試乍一聽似乎需要付出很多努力,但其明顯優(yōu)勢在于可以更快、更好地發(fā)現(xiàn)錯(cuò)誤。根據(jù)我們的經(jīng)驗(yàn),在集成測試中設(shè)置額外中間階段所需的努力可以通過減少在最初設(shè)置測試階段時(shí)創(chuàng)建測試用例所需的努力來補(bǔ)償。  

還有什么可以證明集成測試是可行的?可以更輕松地縮小發(fā)現(xiàn)的錯(cuò)誤的范圍,找出其原因,從而大大簡化分析。 

最重要的是:經(jīng)驗(yàn)表明,大多數(shù)軟件錯(cuò)誤都是在集成測試中發(fā)現(xiàn)的。  

對(duì)于那些尚不相信的人來說,任何持續(xù)集成方法都恰好提供了這些測試階段。  

集成測試完成后,接下來是軟件測試,通常在目標(biāo)硬件上執(zhí)行。軟件測試中的測試對(duì)象與集成測試中的最后一個(gè)測試對(duì)象相同:它是完全集成的軟件。但是,它們各自的目的將這兩個(gè)測試級(jí)別彼此區(qū)分開來。 

  • 集成測試的目標(biāo):檢查軟件組件之間的兼容性。 

  • 軟件測試的目的:檢查是否符合軟件要求,例如與傳感器和執(zhí)行器的兼容性

  • 信號(hào)處理

  • 軟件行為改變參數(shù)及其他方面

軟件測試之后是進(jìn)一步的集成測試。不過,這次不是在軟件層面,而是在系統(tǒng)組件層面。程序與軟件集成測試相同。ECU 與一個(gè)或多個(gè)傳感器或執(zhí)行器一起進(jìn)行測試,并一點(diǎn)一點(diǎn)地添加其他組件,直到系統(tǒng)到位。  

最終測試在系統(tǒng)測試中進(jìn)行。在此過程中,所有系統(tǒng)組件都集成到一個(gè)系統(tǒng)中并進(jìn)行測試。系統(tǒng)測試的重點(diǎn)是確定是否符合系統(tǒng)要求以及系統(tǒng)的可交付性。  

在汽車開發(fā)中,現(xiàn)在還有一些額外的組織挑戰(zhàn),例如:什么是系統(tǒng)?對(duì)于汽車 OEM 來說,系統(tǒng)就是車輛。但是,提供子系統(tǒng)(例如動(dòng)力系統(tǒng)或軟件組件)的供應(yīng)商如何回答這個(gè)問題?在這種情況下,必須更嚴(yán)格地指定測試階段的測試對(duì)象。  

從合同的角度來看,還有一個(gè)進(jìn)一步的測試階段:驗(yàn)收測試,由客戶執(zhí)行。從合同的角度來看,驗(yàn)收是聲明開發(fā)(軟件、硬件、系統(tǒng)等)符合合同標(biāo)準(zhǔn)。驗(yàn)收后,剩余款項(xiàng)到期,保修開始。  

什么是測試環(huán)境?

測試環(huán)境就像是測試對(duì)象及其參與者的訓(xùn)練場。它應(yīng)該盡可能貼近真實(shí)的生產(chǎn)環(huán)境,以便測試與其他參與者、狀態(tài)和信號(hào)的交互的重要性盡可能高。

在這種情況下,人們經(jīng)常談?wù)撛诃h(huán)測試,例如:

1. 模型在環(huán) (MiL) 
2. 軟件在環(huán) (SiL) 
3. 處理器在環(huán) (PiL) 4. 硬件在環(huán) (HiL)

“在環(huán)”之前的術(shù)語代表測試對(duì)象的類型。“在環(huán)”是指測試對(duì)象與模擬生產(chǎn)環(huán)境組件之間的一種特殊交互類型。在“在環(huán)測試”中,環(huán)境會(huì)對(duì)測試對(duì)象的狀態(tài)和計(jì)算做出反應(yīng)。因此,這些測試與開環(huán)測試相反,開環(huán)測試不會(huì)模擬任何環(huán)境反應(yīng)。

與開環(huán)測試相比,“在環(huán)”測試的優(yōu)勢在于更接近真實(shí)生產(chǎn)環(huán)境。然而,在環(huán)環(huán)境的設(shè)置更為復(fù)雜。

在汽車環(huán)境中,開發(fā)通?;谀P汀4蠖鄶?shù)模型都是用 MATLAB/Simulink 或 Targetlink 創(chuàng)建的。這些模型通常以單元和軟件集成測試的形式直接在開發(fā)環(huán)境中驗(yàn)證為模型在環(huán) (MiL)。  

這種動(dòng)態(tài)測試可以發(fā)現(xiàn)控制策略和邏輯中的錯(cuò)誤。嵌入式系統(tǒng)的模擬是在環(huán)境的同樣模擬模型中執(zhí)行的。這種非常早期的測試的優(yōu)點(diǎn)是可以快速檢測并糾正模型構(gòu)建過程中的錯(cuò)誤。 

在軟件在環(huán) (SiL) 測試中,代碼在 PC 上進(jìn)行測試。代碼可以是手寫的,也可以是從模型生成的。這兩種代碼的范圍不同。 

1.生成代碼測試:檢查代碼生成器是否正常工作。生成的代碼的功能應(yīng)盡可能接近模型。  

2.對(duì)于手工代碼,SiL 是第一個(gè)可能的測試級(jí)別。與 MiL 一樣,其目的是在早期階段發(fā)現(xiàn)錯(cuò)誤。

SiL 用于測試階段的單元測試、集成測試,在某些情況下也用于軟件測試。此階段尚不適用于硬件。 

SiL 中測試的代碼無法在嵌入式 ECU 上執(zhí)行。要執(zhí)行,必須針對(duì)目標(biāo)處理器編譯代碼。在此過程中生成的代碼可以通過兩種方式進(jìn)行測試:  

1.通過帶有未來目標(biāo)環(huán)境的處理器的評(píng)估板。 

2.在模擬處理器的虛擬環(huán)境中的 PC 上。

這兩種情況都稱為處理器在環(huán) (PiL),實(shí)際上指的是針對(duì)目標(biāo)處理器架構(gòu)構(gòu)建的軟件測試。因此,嚴(yán)格來說,測試階段也可以稱為目標(biāo)軟件在環(huán)。  

處理器在環(huán)測試的主要目標(biāo)是檢測編譯器錯(cuò)誤,或者對(duì)于非常接近硬件的軟件組件(例如驅(qū)動(dòng)程序或執(zhí)行器的控制器),在早期階段檢查硬件和軟件組件的兼容性。  

下一個(gè)合乎邏輯的步驟是測試硬件:即物理 ECU 上帶有外圍設(shè)備的完成軟件?,F(xiàn)在的重點(diǎn)是輸入和輸出、通信總線和其他接口如何實(shí)時(shí)交互。術(shù)語為硬件在環(huán) (HiL)。HiL 測試從 ECU 開始,可以實(shí)施到系統(tǒng)網(wǎng)絡(luò)級(jí)別。有 HiL 測試臺(tái)可以測試整個(gè)車輛,但設(shè)置和操作成本相應(yīng)較高。盡管如此,它們還是很成熟的,因?yàn)閺慕M織的角度來看,進(jìn)行手動(dòng)車輛測試也很昂貴,而且要耗費(fèi)更多時(shí)間。  

在車輛測試中,ECU、執(zhí)行器和傳感器等組件在最終目標(biāo)環(huán)境中進(jìn)行測試。大多數(shù)情況下,車輛在冷地、暖地和熱地等不同環(huán)境條件下進(jìn)行測試。即使在今天,這些測試也主要是手動(dòng)進(jìn)行的。在某些情況下,會(huì)自動(dòng)記錄測量值,然后借助工具進(jìn)行評(píng)估。每個(gè) OEM 都會(huì)進(jìn)行此測試階段。要進(jìn)行車輛測試,必須準(zhǔn)備好車輛及其所有組件。然而,測試的可擴(kuò)展性較差,因?yàn)槭謩?dòng)測試需要經(jīng)過培訓(xùn)的駕駛員和車輛。 

概括總結(jié)

術(shù)語和信息的密度清楚地表明了一點(diǎn):了解背景、流程和項(xiàng)目之間的溝通是有效和高效地開發(fā)、測試和成功實(shí)施嵌入式系統(tǒng)的關(guān)鍵。 

在汽車軟件測試中,有許多方法和方法論,我們認(rèn)為,沒有對(duì)錯(cuò)之分,只有有利和不利的因素。當(dāng)然,這取決于各種參數(shù)、相關(guān)組織,最終取決于合作的人員。 

我們熱衷于早期測試,我們建議直接從單元測試級(jí)別開始。進(jìn)一步進(jìn)行集成測試,可以測試不同的功能以獲得開發(fā)的直接反饋。所有這些都可以實(shí)現(xiàn)快速、協(xié)作的產(chǎn)品開發(fā)。 (原文鏈接:https://www.synopsys.com/blogs/chip-design/automotive-testing-terms.html)

分享到:
 
反對(duì) 0 舉報(bào) 0 收藏 1 評(píng)論 0
滬ICP備11026917號(hào)-25