電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 3024|回復: 0
收起左側(cè)

WinAMS--單元測試/集成測試自動化工具

[復制鏈接]

8

主題

43

帖子

381

積分

一級會員

Rank: 1

積分
381
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-8-28 15:06:06 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
CoverageMasterwinAMS : 適用于嵌入式目標機代碼的單元測試/集成測試工具
全面支持嵌入式微機!驗證嵌入式C/C++軟件 實施以模塊為單位的自動化單元測試工具
不需要HookCode 直接使用目標機代碼進行單元測試
聯(lián)合靜態(tài)解析工具[CasePlayer2],提供C0(語句),C1(判定),MC/DC覆蓋率報告,優(yōu)化測試用例制作
已取得第三方認證機構(gòu)TUVSUD對適用于汽車機能安全ISO26262軟件工具的認證
產(chǎn)品概要
[Coverage master winAMS]是以嵌入式軟件的函數(shù)為單位,實施模塊單元測試以及C0/C1/MCDC覆蓋率測試(coverage test)的嵌入式軟件自動化單元測試工具。目標機源代碼通過交叉編譯器生成目標機執(zhí)行代碼,通過跟實際處理器同樣的模擬處理器環(huán)境進行單元測試,不需要對執(zhí)行代碼做任何變動,使高信賴性的模塊測試成為可能。在汽車控制軟件這樣的對安全性要求極高的領(lǐng)域,單元測試已經(jīng)成為不可缺少的一部分。使用目標機代碼進行單元測試也是為了符合汽車行業(yè)中ISO26262功能安全認證標準。
產(chǎn)品特長
全面支持嵌入式微機!驗證嵌入式C/C++軟件 實施以模塊為單位的自動化單元測試工具
作為能夠檢驗出僅憑系統(tǒng)測試以及整體測試無法發(fā)現(xiàn)的[潛在錯誤]的檢測方法,[單元測試]在嵌入式開發(fā)領(lǐng)域受到廣泛重視。同時,單元測試也是汽車用軟件功能安全(ISO26262)領(lǐng)域中要求實施的認證項目之一。

[Coverage master winAMS]直接使用通過交叉編譯生成的目標機代碼,在模擬處理器環(huán)境下進行單元測試。既能實現(xiàn)C語言程序的邏輯上的單元驗證,又能夠?qū)η度胧轿C組裝為產(chǎn)品后可能發(fā)生的問題等進行具有高信賴度的白盒(white box)測試。
不需要HookCode 使直接使用目標機代碼進行單元測試成為可能的業(yè)界唯一的工具
有些公司的單元測試工具往往采用在被測試對象的源代碼中追加測試用代碼或者測試用驅(qū)動器的方法,導致測試時所用的代碼與組裝為產(chǎn)品后的目標機用代碼不同。雖然[理論上運行功能應(yīng)該是相同的],但是從嵌入式開發(fā)的角度考慮,這樣就如同對交叉編譯所生成的經(jīng)過優(yōu)化處理的代碼進行了加工,無法確保最終產(chǎn)品的質(zhì)量。Coverage master winAMS是業(yè)界唯一的,具有[不需要對被測試對象做任何加工]實施單元測試功能的工具,特別是在安全性要求高的領(lǐng)域中得到很高的評價。
不需建立單元測試專用的環(huán)境,可以在開發(fā)用交叉編譯環(huán)境進行單元測試
Coverage master winAMS不需要追加任何測試用驅(qū)動器或測試用代碼,可以直接使用將組裝成產(chǎn)品的目標代碼進行單元測試。單元測試能夠與軟件開發(fā)使用共同的交叉編譯環(huán)境,不再需要對測試資源進行專門管理,也不再需要建立其他專用環(huán)境。因此,既方便程序資源管理,又能夠縮短準備測試環(huán)境所需的時間。
符合汽車功能安全標準(ISO26262[不做加工直接使用目標機代碼實施單元測試]這一要求的最佳工具
ISO26262是從IEC61508衍生出來的適用于汽車制造領(lǐng)域的功能安全標準。其中的Part.6-9[軟件程序單元測試]包括了關(guān)于軟件程序的構(gòu)造覆蓋率測試以及有關(guān)的規(guī)定項目。根據(jù)汽車安全標準(ASIL),提出了測試語句覆蓋率(statement coverage),分支覆蓋率(branch coverage),MC/DC覆蓋率的推薦性事項。
其中的另一個推薦性事項是
[盡可能使單元測試的環(huán)境與目標環(huán)境相同]
的規(guī)定。如果在與目標環(huán)境不同的環(huán)境下進行單元測試,必須表明源代碼與目標代碼的差別,以及目標環(huán)境和測試環(huán)境的差別。因此,對于那些使用與目標微機不同的電腦進行編譯和單元測試的其他公司的工具而言,這個要求很難滿足。還有些公司的單元測試工具雖然包括交叉編譯環(huán)境及編譯功能,而且也能夠在與目標環(huán)境相同的環(huán)境下進行測試,但是所有的測試都需要插入測試用代碼,進行再次編譯,因此測試也只能在與目標環(huán)境不同的環(huán)境下實施。
GAIO提供的單元測試工具Coverage master winAMS具有
●采用全面支持嵌入式微機的微機化功能測試平臺環(huán)境
●不需要插入測試用代碼直接使用目標機代碼進行測試
的特征,提供符合ISO26262標準要求的必須功能。GAIO提供的Coverage master winAMS是符合ISO26262標準[直接使用整裝用代碼實施單元測試]這一要求的業(yè)界唯一的工具。
關(guān)于汽車機能安全ISO26262的對應(yīng)以及認證的獲得
已取得第三方認證機構(gòu)TUVSUD對適用于汽車機能安全ISO26262軟件工具的認證
2012年6月28日,「Coverage master winAMS / General」測試工具獲得由德國TUVSUD第三方認證機構(gòu),在汽車機能安全規(guī)格的ISO26262軟件工具方面的認證,包括日本在內(nèi)亞洲地區(qū)首次獲得該項認證。
通過此項認證,說明本公司的單元測試工具「Coverage master winAMS / General」,以及程序分析工具「CasePlayer2」,在靜態(tài)分析和單元測試領(lǐng)域,是符合所有安全度水準的工具,并由TUVSUD認證機構(gòu)得到了保障。
ISO 26262對于不同的開發(fā)用軟件工具在工具置信水平(TCL),都需要開發(fā)者提供開發(fā)軟件工具的認證書。此項認證適用于在工具認證當中,最為復雜的TCL3工具認證標準。因此,導入本公司的單元測試工具之后,不需要對TCL的部分進行認證,進而可以縮減手續(xù)跟時間。
主要的單元測試功能
采用SSTManager管理單元測試project
SSTManager是Coveragemaster winAMS的應(yīng)用功能,用于管理單元測試project,制作測試數(shù)據(jù)(test data)。從設(shè)定測試環(huán)境開始,到報告測試結(jié)果為止,均由微機化功能測試平臺(ISS)實施綜合管理。
采用通用便利的CSV文件管理測試數(shù)據(jù)的輸入輸出
Coverage master winAMS不需要插入測試用代碼,直接使用目標機代碼進行單元測試。采用通用便利的CSV文件管理函數(shù)測試時使用的輸入輸出數(shù)據(jù)。測試結(jié)束后,輸出的測試結(jié)果和輸出的期待值也將以相同的格式顯示在CSV文件之中。
C0/C1覆蓋率報告的自動化制作功能(標準功能)
根據(jù)測試的輸入輸出數(shù)據(jù)自動報告相應(yīng)源代碼的C0/C1測試覆蓋率結(jié)果。包括通過圖形(viewer)顯示測試數(shù)據(jù),以及與其相應(yīng)的被測試的源代碼路徑的功能,用于分析測試結(jié)果。作為選項功能也包括MC/DC覆蓋率測試功能。
MC/DC覆蓋率的自動化測試功能(選項功能)
作為選項功能提供MC/DC覆蓋率測試功能。C0/C1覆蓋率測試不需要加工即可直接使用目標機代碼。然而,MC/DC覆蓋率測試對于復合式的條件式,需要自動插入HookCode將復合式的條件式分解,才能對各條件式進行測試。這樣就有可能導致測試用代碼與目標機用代碼的不同。為了驗證HookCode的妥當性,在MC/DC覆蓋率測試的同時,運行目標機代碼,確認運行結(jié)果與期待值的一致性。
注:右圖舉例顯示,第2個if句的復合條件式中,[gbc>30]為false時的分支沒有被測試到。以C1覆蓋率測試來說,它的測試結(jié)果是OK;而對于MC/DC覆蓋率測試來說,它的結(jié)果是NG。
注: MC/DC覆蓋率測試功能不支持C++程序。
單元測試的效率化功能
聯(lián)合程序解析工具CasePlayer2,實現(xiàn)代碼參照解析作業(yè)的效率化
利用CasePlayer2生成的流程圖表以及模塊構(gòu)造圖(調(diào)用函數(shù)的構(gòu)造圖)與源代碼的連接(link)功能,使單元測試用源代碼的解析工作效率化。
能夠自動檢索被測試函數(shù)的外部變量,使測試條件設(shè)定效率化
聯(lián)合程序解析工具CasePlayer2,自動檢索被測試函數(shù)所使用的外部變量?s短了以往必須對源代碼進行搜索找出輸入條件的變量所需的工作。而且,能夠防止人工操作導致的類似變量指定遺漏的的錯誤。
根據(jù)代碼解析自動化制作C0,C1MC/DC 覆蓋率測試計劃
聯(lián)合程序解析工具CasePlayer2,自動化制作符合覆蓋率測試要求的條件分支if,switch,for,while等的測試數(shù)據(jù)?梢詫⒈粶y試函數(shù)中含有的條件式(if以及switch等)在數(shù)據(jù)制成圖形(Viewer)上列表顯示。點擊其中的條件,工具將自動開始檢索與之相關(guān)的變量,進而從所設(shè)置的條件的境界值中自動生成覆蓋率測試所需要的數(shù)據(jù)。
為了達到C1/MCDC覆蓋率,測試時需要對各函數(shù)的數(shù)據(jù)進行組合。利用CasePlayer2提供的解析結(jié)果,分析條件式的net構(gòu)造,在重復性限制在最小限度下生成C1/MCDC覆蓋率測試用數(shù)據(jù)。
支持MPU
動作環(huán)境
・操作PC/OS
・IBM PC/AT 兼容機
&#12539entium(相當)2GHz 以上的CPU
・存儲器 512MB 以上(推薦值)
・顯示器分辨率XGA(1024*768)以上(推薦值)
・Windows XP, WindowsVista, Windows 7(32bit/64bit)(※Windows95/98/Me/NT/2000 未支持)

回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表