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

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

3天內不再提示

單元測試、集成測試自動化工具

fzm ? 來源:fzm ? 作者:fzm ? 2024-06-26 13:41 ? 次閱讀

CoverageMaster winAMS :適用于嵌入式目標機代碼的單元測試/集成測試工具

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

產品概要

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

產品特長

pYYBAGKsVoyAHixAAAAVJJlbLxE861.jpg

全面支持嵌入式微機!驗證嵌入式C/C++軟件 實施以模塊為單位的自動化單元測試工具

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

[Coverage master winAMS]直接使用通過交叉編譯生成的目標機代碼,在模擬處理器環(huán)境下進行單元測試。既能實現C語言程序的邏輯上的單元驗證,又能夠對嵌入式微機組裝為產品后可能發(fā)生的問題等進行具有高信賴度的白盒(white box)測試。

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

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

poYBAGKsVqGAXI5WAAB1ZplNu4E316.jpg

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

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

符合汽車功能安全標準(ISO26262)[不做加工直接使用目標機代碼實施單元測試]這一要求的最佳工具

pYYBAGKsVqKAUQrXAAA0ptE0iTI560.jpg

ISO26262是從IEC61508衍生出來的適用于汽車制造領域的功能安全標準。其中的Part.6-9[軟件程序單元測試]包括了關于軟件程序的構造覆蓋率測試以及有關的規(guī)定項目。根據汽車安全標準(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è)界唯一的工具。

關于汽車機能安全ISO26262的對應以及認證的獲得

poYBAGKsVqOASj6tAAAk_d1iEZY788.jpg

已取得第三方認證機構TUVSUD對適用于汽車機能安全ISO26262軟件工具的認證

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

通過此項認證,說明本公司的單元測試工具「Coverage master winAMS / General」,以及程序分析工具「CasePlayer2」,在靜態(tài)分析和單元測試領域,是符合所有安全度水準的工具,并由TUVSUD認證機構得到了保障。

ISO 26262對于不同的開發(fā)用軟件工具在工具置信水平(TCL),都需要開發(fā)者提供開發(fā)軟件工具的認證書。此項認證適用于在工具認證當中,最為復雜的TCL3工具認證標準。因此,導入本公司的單元測試工具之后,不需要對TCL的部分進行認證,進而可以縮減手續(xù)跟時間。

主要的單元測試功能

采用SSTManager管理單元測試project

SSTManager是Coverage master winAMS的應用功能,用于管理單元測試project,制作測試數據(test data)。從設定測試環(huán)境開始,到報告測試結果為止,均由微機化功能測試平臺(ISS)實施綜合管理。

采用通用便利的CSV文件管理測試數據的輸入輸出

Coverage master winAMS不需要插入測試用代碼,直接使用目標機代碼進行單元測試。采用通用便利的CSV文件管理函數測試時使用的輸入輸出數據。測試結束后,輸出的測試結果和輸出的期待值也將以相同的格式顯示在CSV文件之中。

C0/C1覆蓋率報告的自動化制作功能(標準功能)

根據測試的輸入輸出數據自動報告相應源代碼的C0/C1測試覆蓋率結果。包括通過圖形(viewer)顯示測試數據,以及與其相應的被測試的源代碼路徑的功能,用于分析測試結果。作為選項功能也包括MC/DC覆蓋率測試功能。

pYYBAGKsVqOAKwMAAABTnN2rhPE448.jpgpoYBAGKsVqSAajd-AABcgQxGQz8502.jpg

MC/DC覆蓋率的自動化測試功能(選項功能)

pYYBAGKsVqWAdOtpAABlrZg2h8c760.jpg

作為選項功能提供MC/DC覆蓋率測試功能。C0/C1覆蓋率測試不需要加工即可直接使用目標機代碼。然而,MC/DC覆蓋率測試對于復合式的條件式,需要自動插入HookCode將復合式的條件式分解,才能對各條件式進行測試。這樣就有可能導致測試用代碼與目標機用代碼的不同。為了驗證HookCode的妥當性,在MC/DC覆蓋率測試的同時,運行目標機代碼,確認運行結果與期待值的一致性。

注:右圖舉例顯示,第2個if句的復合條件式中,[gbc>30]為false時的分支沒有被測試到。以C1覆蓋率測試來說,它的測試結果是OK;而對于MC/DC覆蓋率測試來說,它的結果是NG。

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

單元測試的效率化功能

聯合程序解析工具CasePlayer2,實現代碼參照解析作業(yè)的效率化

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

能夠自動檢索被測試函數的外部變量,使測試條件設定效率化

聯合程序解析工具CasePlayer2,自動檢索被測試函數所使用的外部變量??s短了以往必須對源代碼進行搜索找出輸入條件的變量所需的工作。而且,能夠防止人工操作導致的類似變量指定遺漏的的錯誤。

poYBAGKsVqaAQiOFAAAzx789sGg373.jpgpYYBAGKsVqeAA45gAABIHkFbGVQ136.jpg

根據代碼解析自動化制作C0,C1,MC/DC覆蓋率測試計劃

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

為了達到C1/MCDC覆蓋率,測試時需要對各函數的數據進行組合。利用CasePlayer2提供的解析結果,分析條件式的net構造,在重復性限制在最小限度下生成C1/MCDC覆蓋率測試用數據。

pYYBAGKsVqiALSWLAADI3B4dq-U861.jpg

支持MPU

CoverageMaster winAMS Supported Processor List(English)

動作環(huán)境

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

審核編輯 黃宇

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

    關注

    5122

    文章

    19424

    瀏覽量

    312795
  • 集成測試
    +關注

    關注

    0

    文章

    26

    瀏覽量

    8359
  • 單元測試
    +關注

    關注

    0

    文章

    48

    瀏覽量

    3256
  • 自動化工具
    +關注

    關注

    0

    文章

    9

    瀏覽量

    1681
收藏 0人收藏
  • fzm1

評論

相關推薦

單元測試在嵌入式軟件中的關鍵作用及winAMS工具的卓越貢獻

1.?單元測試概述 ?定義與核心目標? 單元測試是軟件開發(fā)過程中針對程序模塊(如函數、類或組件)的最小可測試單元進行的驗證活動。其核心目標在于隔離代碼片段,驗證其功能是否符合設計預期,
的頭像 發(fā)表于 04-11 14:31 ?139次閱讀

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

一、為什么嵌入式軟件必須重視單元測試? ?嵌入式系統(tǒng)的特殊性? 在汽車 ECU、醫(yī)療設備控制器等場景中,軟件直接操控硬件,?單比特錯誤可能導致剎車失靈或呼吸機故障?。不同于 PC?軟件可頻繁熱更新
的頭像 發(fā)表于 03-21 14:53 ?256次閱讀

通用自動化測試軟件 - TAE

INTEWORK-TAE(Test Automation Executor) 是一款通用的測試用例自動化執(zhí)行框架,用于汽車電子自動化測試,可支持仿真( MIL/SIL/HIL)、故障注
的頭像 發(fā)表于 01-02 13:42 ?475次閱讀
通用<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>軟件 - TAE

嵌入式系統(tǒng)開發(fā)中的測試方法 嵌入式系統(tǒng)開發(fā)與AI結合應用

測試部分(通常是函數或方法)進行的測試。 它有助于驗證每個單元是否按照預期工作,并且沒有引入錯誤。 集成測試
的頭像 發(fā)表于 12-09 10:22 ?996次閱讀

開發(fā)者必讀!CircleCI?組件測試單元測試全解析

在軟件開發(fā)中,測試是保證軟件質量和可靠性的關鍵環(huán)節(jié)。作為領先的 CI/CD 平臺,CircleCI 提供了支持自動化測試的強大工具。其中,單元測試
的頭像 發(fā)表于 12-03 09:18 ?481次閱讀

汽車軟件單元測試的重要性

測試不充分密切相關,這引發(fā)了社會各界對汽車軟件健壯性的重要性進行深入思考。本文將探討汽車軟件的測試,尤其是單元測試的重要性,以及WinAMS單元測試工具在這一過程中的關鍵作用。 一、
的頭像 發(fā)表于 11-29 10:57 ?382次閱讀

嚴格的單元測試造就完美的軟件

關鍵系統(tǒng)時,更是對軟件質量提出了極高的要求。而單元測試作為軟件開發(fā)過程中的核心環(huán)節(jié),其重要性不言而喻。 單元測試的作用 單元測試是指對軟件中的最小可測試
的頭像 發(fā)表于 11-26 13:22 ?389次閱讀

嵌入軟件單元/集成測試工具專業(yè)分析

引言 在現代軟件開發(fā)過程中,單元測試作為確保代碼質量的重要環(huán)節(jié),得到了廣泛的關注和應用。隨著嵌入式系統(tǒng)的復雜性日益增加,對高效、可靠的單元測試工具的需求也愈加迫切。WinAMS作為一款專為嵌入
的頭像 發(fā)表于 11-19 16:41 ?502次閱讀

探索Playwright:前端自動化測試的新紀元

與應用的交互,能夠高效地執(zhí)行重復性測試任務,加快測試周期,提升測試覆蓋率,從而更早地發(fā)現缺陷和問題。這不僅提高了軟件的穩(wěn)定性和可靠性,還降低了維護成本,并為創(chuàng)新和功能增強提供了更多的時間和資源。 在眾多
的頭像 發(fā)表于 10-22 14:27 ?489次閱讀

開關電源自動化測試設備:如何實現自動化測試?

開關電源自動化測試設備是將測試軟件和測試硬件集成在一個電源測試柜中的ate
的頭像 發(fā)表于 08-30 18:19 ?1614次閱讀
開關電源<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>設備:如何實現<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>?

自動化嵌入式系統(tǒng)測試流程:TESSY功能優(yōu)勢詳解

關于TESSY: TESSY作為最早的單元測試工具之一,是當今嵌入式軟件測試的領先解決方案。TESSY的設計目的是支持根據標準進行的開發(fā)和測試,已經成為高質量產品和安全關鍵型應用的常用工具
的頭像 發(fā)表于 07-22 10:52 ?795次閱讀
<b class='flag-5'>自動化</b>嵌入式系統(tǒng)<b class='flag-5'>測試</b>流程:TESSY功能優(yōu)勢詳解

軟件接口自動化測試,使用軟件工具+工裝治具測試

軟件接口自動化測試結合軟件工具與工裝治具的應用,極大地提升了測試的效率和質量,是現代軟件開發(fā)不可或缺的一部分。通過精心選擇和應用合適的工具
的頭像 發(fā)表于 06-07 15:59 ?1505次閱讀

接口測試工具有哪些種類

單元測試框架 單元測試框架主要用于測試單個模塊或函數的功能。雖然它們主要用于開發(fā)階段,但也可以用于接口測試。 1.1 JUnit (Java) JUnit 是 Java 語言的
的頭像 發(fā)表于 05-30 15:07 ?1191次閱讀

基于TAE的數字鑰匙自動化測試解決方案

通過自動化測試執(zhí)行軟件TAE、總線監(jiān)控分析工具VBA和程控電源,的聯合調用,實現數字鑰匙 的功能測試、性能測試、診斷
的頭像 發(fā)表于 05-29 15:15 ?1366次閱讀
基于TAE的數字鑰匙<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>解決方案

電子發(fā)燒友

中國電子工程師最喜歡的網站

  • 2931785位工程師會員交流學習
  • 獲取您個性化的科技前沿技術信息
  • 參加活動獲取豐厚的禮品