溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何理解嵌入式軟件單元測(cè)試/集成測(cè)試工具winAMS

發(fā)布時(shí)間:2021-10-12 10:01:08 來(lái)源:億速云 閱讀:186 作者:iii 欄目:編程語(yǔ)言

本篇內(nèi)容介紹了“如何理解嵌入式軟件單元測(cè)試/集成測(cè)試工具winAMS”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

CoverageMaster winAMS : 適用于嵌入式目標(biāo)機(jī)代碼的單元測(cè)試/集成測(cè)試工具

全面支持嵌入式微機(jī)!驗(yàn)證嵌入式C/C++軟件 實(shí)施以模塊為單位的自動(dòng)化單元測(cè)試工具
不需要HookCode 直接使用目標(biāo)機(jī)代碼進(jìn)行單元測(cè)試
聯(lián)合靜態(tài)解析工具[CasePlayer2],提供C0(語(yǔ)句),C1(判定),MC/DC覆蓋率報(bào)告,優(yōu)化測(cè)試用例制作
已取得第三方認(rèn)證機(jī)構(gòu)TUVSUD對(duì)適用于汽車機(jī)能安全I(xiàn)SO26262軟件工具的認(rèn)證

產(chǎn)品概要

[Coverage master winAMS]是以嵌入式軟件的函數(shù)為單位,實(shí)施模塊單元測(cè)試以及C0/C1/MCDC覆蓋率測(cè)試(coverage test)的嵌入式軟件自動(dòng)化單元測(cè)試工具。目標(biāo)機(jī)源代碼通過(guò)交叉編譯器生成目標(biāo)機(jī)執(zhí)行代碼,通過(guò)跟實(shí)際處理器同樣的模擬處理器環(huán)境進(jìn)行單元測(cè)試,不需要對(duì)執(zhí)行代碼做任何變動(dòng),使高信賴性的模塊測(cè)試成為可能。在汽車控制軟件這樣的對(duì)安全性要求極高的領(lǐng)域,單元測(cè)試已經(jīng)成為不可缺少的一部分。使用目標(biāo)機(jī)代碼進(jìn)行單元測(cè)試也是為了符合汽車行業(yè)中ISO26262功能安全認(rèn)證標(biāo)準(zhǔn)。

產(chǎn)品特長(zhǎng)

如何理解嵌入式軟件單元測(cè)試/集成測(cè)試工具winAMS全面支持嵌入式微機(jī)!驗(yàn)證嵌入式C/C++軟件 實(shí)施以模塊為單位的自動(dòng)化單元測(cè)試工具

作為能夠檢驗(yàn)出僅憑系統(tǒng)測(cè)試以及整體測(cè)試無(wú)法發(fā)現(xiàn)的[潛在錯(cuò)誤]的檢測(cè)方法,[單元測(cè)試]在嵌入式開(kāi)發(fā)領(lǐng)域受到廣泛重視。同時(shí),單元測(cè)試也是汽車用軟件功能安全(ISO26262)領(lǐng)域中要求實(shí)施的認(rèn)證項(xiàng)目之一。

[Coverage master winAMS]直接使用通過(guò)交叉編譯生成的目標(biāo)機(jī)代碼,在模擬處理器環(huán)境下進(jìn)行單元測(cè)試。既能實(shí)現(xiàn)C語(yǔ)言程序的邏輯上的單元驗(yàn)證,又能夠?qū)η度胧轿C(jī)組裝為產(chǎn)品后可能發(fā)生的問(wèn)題等進(jìn)行具有高信賴度的白盒(white box)測(cè)試。

不需要HookCode 使直接使用目標(biāo)機(jī)代碼進(jìn)行單元測(cè)試成為可能的業(yè)界唯一的工具

有些公司的單元測(cè)試工具往往采用在被測(cè)試對(duì)象的源代碼中追加測(cè)試用代碼或者測(cè)試用驅(qū)動(dòng)器的方法,導(dǎo)致測(cè)試時(shí)所用的代碼與組裝為產(chǎn)品后的目標(biāo)機(jī)用代碼不同。雖然[理論上運(yùn)行功能應(yīng)該是相同的],但是從嵌入式開(kāi)發(fā)的角度考慮,這樣就如同對(duì)交叉編譯所生成的經(jīng)過(guò)優(yōu)化處理的代碼進(jìn)行了加工,無(wú)法確保最終產(chǎn)品的質(zhì)量。Coverage master winAMS是業(yè)界唯一的,具有[不需要對(duì)被測(cè)試對(duì)象做任何加工]實(shí)施單元測(cè)試功能的工具,特別是在安全性要求高的領(lǐng)域中得到很高的評(píng)價(jià)。

如何理解嵌入式軟件單元測(cè)試/集成測(cè)試工具winAMS

不需建立單元測(cè)試專用的環(huán)境,可以在開(kāi)發(fā)用交叉編譯環(huán)境進(jìn)行單元測(cè)試

Coverage master winAMS不需要追加任何測(cè)試用驅(qū)動(dòng)器或測(cè)試用代碼,可以直接使用將組裝成產(chǎn)品的目標(biāo)代碼進(jìn)行單元測(cè)試。單元測(cè)試能夠與軟件開(kāi)發(fā)使用共同的交叉編譯環(huán)境,不再需要對(duì)測(cè)試資源進(jìn)行專門管理,也不再需要建立其他專用環(huán)境。因此,既方便程序資源管理,又能夠縮短準(zhǔn)備測(cè)試環(huán)境所需的時(shí)間。

符合汽車功能安全標(biāo)準(zhǔn)(ISO26262)[不做加工直接使用目標(biāo)機(jī)代碼實(shí)施單元測(cè)試]這一要求的最佳工具

如何理解嵌入式軟件單元測(cè)試/集成測(cè)試工具winAMSISO26262是從IEC61508衍生出來(lái)的適用于汽車制造領(lǐng)域的功能安全標(biāo)準(zhǔn)。其中的Part.6-9[軟件程序單元測(cè)試]包括了關(guān)于軟件程序的構(gòu)造覆蓋率測(cè)試以及有關(guān)的規(guī)定項(xiàng)目。根據(jù)汽車安全標(biāo)準(zhǔn)(ASIL),提出了測(cè)試語(yǔ)句覆蓋率(statement coverage),分支覆蓋率(branch coverage),MC/DC覆蓋率的推薦性事項(xiàng)。

其中的另一個(gè)推薦性事項(xiàng)是

[盡可能使單元測(cè)試的環(huán)境與目標(biāo)環(huán)境相同]

的規(guī)定。如果在與目標(biāo)環(huán)境不同的環(huán)境下進(jìn)行單元測(cè)試,必須表明源代碼與目標(biāo)代碼的差別,以及目標(biāo)環(huán)境和測(cè)試環(huán)境的差別。因此,對(duì)于那些使用與目標(biāo)微機(jī)不同的電腦進(jìn)行編譯和單元測(cè)試的其他公司的工具而言,這個(gè)要求很難滿足。 還有些公司的單元測(cè)試工具雖然包括交叉編譯環(huán)境及編譯功能,而且也能夠在與目標(biāo)環(huán)境相同的環(huán)境下進(jìn)行測(cè)試,但是所有的測(cè)試都需要插入測(cè)試用代碼,進(jìn)行再次編譯,因此測(cè)試也只能在與目標(biāo)環(huán)境不同的環(huán)境下實(shí)施。

GAIO提供的單元測(cè)試工具Coverage master winAMS具有

●采用全面支持嵌入式微機(jī)的微機(jī)化功能測(cè)試平臺(tái)環(huán)境
●不需要插入測(cè)試用代碼直接使用目標(biāo)機(jī)代碼進(jìn)行測(cè)試

的特征,提供符合ISO26262標(biāo)準(zhǔn)要求的必須功能。GAIO提供的Coverage master winAMS是符合ISO26262標(biāo)準(zhǔn)[直接使用整裝用代碼實(shí)施單元測(cè)試]這一要求的業(yè)界唯一的工具。

關(guān)于汽車機(jī)能安全I(xiàn)SO26262的對(duì)應(yīng)以及認(rèn)證的獲得

如何理解嵌入式軟件單元測(cè)試/集成測(cè)試工具winAMS已取得第三方認(rèn)證機(jī)構(gòu)TUVSUD對(duì)適用于汽車機(jī)能安全I(xiàn)SO26262軟件工具的認(rèn)證

2012年6月28日,「Coverage master winAMS / General」測(cè)試工具獲得由德國(guó)TUVSUD第三方認(rèn)證機(jī)構(gòu),在汽車機(jī)能安全規(guī)格的ISO26262軟件工具方面的認(rèn)證,包括日本在內(nèi)亞洲地區(qū)首次獲得該項(xiàng)認(rèn)證。

通過(guò)此項(xiàng)認(rèn)證,說(shuō)明本公司的單元測(cè)試工具「Coverage master winAMS / General」,以及程序分析工具「CasePlayer2」,在靜態(tài)分析和單元測(cè)試領(lǐng)域,是符合所有安全度水準(zhǔn)的工具,并由TUVSUD認(rèn)證機(jī)構(gòu)得到了保障。

ISO 26262對(duì)于不同的開(kāi)發(fā)用軟件工具在工具置信水平(TCL),都需要開(kāi)發(fā)者提供開(kāi)發(fā)軟件工具的認(rèn)證書。此項(xiàng)認(rèn)證適用于在工具認(rèn)證當(dāng)中,最為復(fù)雜的TCL3工具認(rèn)證標(biāo)準(zhǔn)。因此,導(dǎo)入本公司的單元測(cè)試工具之后,不需要對(duì)TCL的部分進(jìn)行認(rèn)證,進(jìn)而可以縮減手續(xù)跟時(shí)間。

主要的單元測(cè)試功能

采用SSTManager管理單元測(cè)試project

SSTManager是Coverage master winAMS的應(yīng)用功能,用于管理單元測(cè)試project,制作測(cè)試數(shù)據(jù)(test data)。從設(shè)定測(cè)試環(huán)境開(kāi)始,到報(bào)告測(cè)試結(jié)果為止,均由微機(jī)化功能測(cè)試平臺(tái)(ISS)實(shí)施綜合管理。

采用通用便利的CSV文件管理測(cè)試數(shù)據(jù)的輸入輸出

Coverage master winAMS不需要插入測(cè)試用代碼,直接使用目標(biāo)機(jī)代碼進(jìn)行單元測(cè)試。采用通用便利的CSV文件管理函數(shù)測(cè)試時(shí)使用的輸入輸出數(shù)據(jù)。測(cè)試結(jié)束后,輸出的測(cè)試結(jié)果和輸出的期待值也將以相同的格式顯示在CSV文件之中。

C0/C1覆蓋率報(bào)告的自動(dòng)化制作功能(標(biāo)準(zhǔn)功能)

根據(jù)測(cè)試的輸入輸出數(shù)據(jù)自動(dòng)報(bào)告相應(yīng)源代碼的C0/C1測(cè)試覆蓋率結(jié)果。包括通過(guò)圖形(viewer)顯示測(cè)試數(shù)據(jù),以及與其相應(yīng)的被測(cè)試的源代碼路徑的功能,用于分析測(cè)試結(jié)果。作為選項(xiàng)功能也包括MC/DC覆蓋率測(cè)試功能。

如何理解嵌入式軟件單元測(cè)試/集成測(cè)試工具winAMS如何理解嵌入式軟件單元測(cè)試/集成測(cè)試工具winAMS

MC/DC覆蓋率的自動(dòng)化測(cè)試功能(選項(xiàng)功能)

如何理解嵌入式軟件單元測(cè)試/集成測(cè)試工具winAMS作為選項(xiàng)功能提供MC/DC覆蓋率測(cè)試功能。C0/C1覆蓋率測(cè)試不需要加工即可直接使用目標(biāo)機(jī)代碼。然而,MC/DC覆蓋率測(cè)試對(duì)于復(fù)合式的條件式,需要自動(dòng)插入HookCode將復(fù)合式的條件式分解,才能對(duì)各條件式進(jìn)行測(cè)試。這樣就有可能導(dǎo)致測(cè)試用代碼與目標(biāo)機(jī)用代碼的不同。為了驗(yàn)證HookCode的妥當(dāng)性,在MC/DC覆蓋率測(cè)試的同時(shí),運(yùn)行目標(biāo)機(jī)代碼,確認(rèn)運(yùn)行結(jié)果與期待值的一致性。

注:右圖舉例顯示,第2個(gè)if句的復(fù)合條件式中,[gbc>30]為false時(shí)的分支沒(méi)有被測(cè)試到。以C1覆蓋率測(cè)試來(lái)說(shuō),它的測(cè)試結(jié)果是OK;而對(duì)于MC/DC覆蓋率測(cè)試來(lái)說(shuō),它的結(jié)果是NG。

注: MC/DC覆蓋率測(cè)試功能不支持C++程序。

單元測(cè)試的效率化功能

聯(lián)合程序解析工具CasePlayer2,實(shí)現(xiàn)代碼參照解析作業(yè)的效率化

利用CasePlayer2生成的流程圖表以及模塊構(gòu)造圖(調(diào)用函數(shù)的構(gòu)造圖)與源代碼的連接(link)功能,使單元測(cè)試用源代碼的解析工作效率化。

能夠自動(dòng)檢索被測(cè)試函數(shù)的外部變量,使測(cè)試條件設(shè)定效率化

聯(lián)合程序解析工具CasePlayer2,自動(dòng)檢索被測(cè)試函數(shù)所使用的外部變量。縮短了以往必須對(duì)源代碼進(jìn)行搜索找出輸入條件的變量所需的工作。而且,能夠防止人工操作導(dǎo)致的類似變量指定遺漏的的錯(cuò)誤。

如何理解嵌入式軟件單元測(cè)試/集成測(cè)試工具winAMS 如何理解嵌入式軟件單元測(cè)試/集成測(cè)試工具winAMS

根據(jù)代碼解析自動(dòng)化制作C0,C1,MC/DC 覆蓋率測(cè)試計(jì)劃

聯(lián)合程序解析工具CasePlayer2,自動(dòng)化制作符合覆蓋率測(cè)試要求的條件分支if,switch,for,while等的測(cè)試數(shù)據(jù)??梢詫⒈粶y(cè)試函數(shù)中含有的條件式(if以及switch等)在數(shù)據(jù)制成圖形(Viewer)上列表顯示。點(diǎn)擊其中的條件,工具將自動(dòng)開(kāi)始檢索與之相關(guān)的變量,進(jìn)而從所設(shè)置的條件的境界值中自動(dòng)生成覆蓋率測(cè)試所需要的數(shù)據(jù)。

為了達(dá)到C1/MCDC覆蓋率,測(cè)試時(shí)需要對(duì)各函數(shù)的數(shù)據(jù)進(jìn)行組合。利用CasePlayer2提供的解析結(jié)果,分析條件式的net構(gòu)造,在重復(fù)性限制在最小限度下生成C1/MCDC覆蓋率測(cè)試用數(shù)據(jù)。

如何理解嵌入式軟件單元測(cè)試/集成測(cè)試工具winAMS

支持MPU

 CoverageMaster winAMS Supported Processor List(English)

動(dòng)作環(huán)境

?操作PC/OS
?IBM PC/AT 兼容機(jī)
?Pentium(相當(dāng)) 2GHz 以上的CPU
?存儲(chǔ)器 512MB 以上(推薦值)
?顯示器分辨率 XGA(1024*768)以上(推薦值)
?Windows XP, Windows Vista, Windows 7(32bit/64bit)(※Windows 95/98/Me/NT/2000 未支持)

“如何理解嵌入式軟件單元測(cè)試/集成測(cè)試工具winAMS”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

c++
AI