WinAMS―嵌入式軟體白盒測試工具介紹
CoverageMaster winAMS : 適用於嵌入式目標機程式碼的單元測試工具
全面支援嵌入式微機!驗證嵌入式C/C++軟體 實施以模組為單位的自動化單元測試工具
不需要HookCode 直接使用目標機程式碼進行單元測試
聯合靜態解析工具[CasePlayer2],提供C1,MC/DC用最佳化測試計劃(test case)製作功能
已取得第三方認證機構TUVSUD對適用於汽車機能安全ISO26262軟體工具的認證
產品概要
[Coverage master winAMS] 是以嵌入式軟體的函式為單位,實施模組單元測試以及 C0/C1/MCDC 覆蓋率測試( coverage test )的嵌入式軟體自動化單元測試工具。目標機原始碼透過交叉編譯器生成目標機執行程式碼,透過跟實際處理器同樣的模擬處理器環境進行單元測試,不需要對執行程式碼做任何變動,使高信賴性的模組測試成為可能。在汽車控制軟體這樣的對安全性要求極高的領域,單元測試已經成為不可缺少的一部分。使用目標機程式碼進行單元測試也是為了符合汽車行業中 ISO26262 功能安全認證標準。
產品特長
全面支援嵌入式微機!驗證嵌入式 C/C++ 軟體 實施以模組為單位的自動化單元測試工具
作為能夠檢驗出僅憑系統測試以及整體測試無法發現的
[
潛在錯誤
]
的檢測方法,
[
單元測試
]
在嵌入式開發領域受到廣泛重視。同時,單元測試也是汽車用軟體功能安全(
ISO26262
)領域中要求實施的認證專案之一。
[Coverage master winAMS]
直接使用透過交叉編譯生成的目標機程式碼,在模擬處理器環境下進行單元測試。既能實現
C
語言程式的邏輯上的單元驗證,又能夠對嵌入式微機組裝為產品後可能發生的問題等進行具有高信賴度的白盒(
white box
)測試。
不需要 HookCode 使直接使用目標機程式碼進行單元測試成為可能的業界唯一的工具
有些公司的單元測試工具往往採用在被測試物件的原始碼中追加測試用程式碼或者測試用驅動器的方法,導致測試時所用的程式碼與組裝為產品後的目標機用程式碼不同。雖然 [ 理論上執行功能應該是相同的 ] ,但是從嵌入式開發的角度考慮,這樣就如同對交叉編譯所生成的經過最佳化處理的程式碼進行了加工,無法確保最終產品的質量。 Coverage master winAMS 是業界唯一的,具有 [ 不需要對被測試物件做任何加工 ] 實施單元測試功能的工具,特別是在安全性要求高的領域中得到很高的評價。
不需建立單元測試專用的環境,可以在開發用交叉編譯環境進行單元測試
Coverage master winAMS 不需要追加任何測試用驅動器或測試用程式碼,可以直接使用將組裝成產品的目的碼進行單元測試。單元測試能夠與軟體開發使用共同的交叉編譯環境,不再需要對測試資源進行專門管理,也不再需要建立其他專用環境。因此,既方便程式資源管理,又能夠縮短準備測試環境所需的時間。
符合汽車功能安全標準( ISO26262 ) [ 不做加工直接使用目標機程式碼實施單元測試 ] 這一要求的最佳工具
ISO26262 是從 IEC61508 衍生出來的適用於汽車製造領域的功能安全標準。其中的 Part.6-9[ 軟體程式單元測試 ] 包括了關於軟體程式的構造覆蓋率測試以及有關的規定專案。根據汽車安全標準( ASIL ),提出了測試語句覆蓋率( statement coverage ),分支覆蓋率( branch coverage ), MC/DC 覆蓋率的推薦性事項。
其中的另一個推薦性事項是
[ 儘可能使單元測試的環境與目標環境相同 ]
的規定。如果在與目標環境不同的環境下進行單元測試,必須表明原始碼與目的碼的差別,以及目標環境和測試環境的差別。因此,對於那些使用與目標微機不同的電腦進行編譯和單元測試的其他公司的工具而言,這個要求很難滿足。 還有些公司的單元測試工具雖然包括交叉編譯環境及編譯功能,而且也能夠在與目標環境相同的環境下進行測試,但是所有的測試都需要插入測試用程式碼,進行再次編譯,因此測試也只能在與目標環境不同的環境下實施。
GAIO 提供的單元測試工具Coverage master winAMS具有
●採用全面支援嵌入式微機的微機化功能測試平臺環境
●不需要插入測試用程式碼直接使用目標機程式碼進行測試
的特徵,提供符合ISO26262標準要求的必須功能。GAIO提供的Coverage master winAMS是符合ISO26262標準[直接使用整裝用程式碼實施單元測試]這一要求的業界唯一的工具。
關於汽車機能安全ISO26262的對應以及認證的獲得
已取得第三方認證機構 TUVSUD 對適用於汽車機能安全 ISO26262 軟體工具的認證
2012 年6月28日,「Coverage master winAMS / General」測試工具獲得由德國TUVSUD第三方認證機構,在汽車機能安全規格的ISO26262軟體工具方面的認證,包括日本在內亞洲地區首次獲得該項認證。
透過此項認證,說明本公司的單元測試工具「Coverage master winAMS / General」,以及程式分析工具「CasePlayer2」,在靜態分析和單元測試領域,是符合所有安全度水準的工具,並由TUVSUD認證機構得到了保障。
ISO 26262 對於不同的開發用軟體工具在工具置信水平( TCL ),都需要開發者提供開發軟體工具的認證書。此項認證適用於在工具認證當中,最為複雜的 TCL3 工具認證標準。因此,匯入本公司的單元測試工具之後,不需要對 TCL 的部分進行認證,進而可以縮減手續跟時間。
主要的單元測試功能
採用SSTManager管理單元測試project
SSTManager 是Coverage master winAMS的應用功能,用於管理單元測試project,製作測試資料(test data)。 從設定測試環境開始,到報告測試結果為止,均由微機化功能測試平臺( ISS )實施綜合管理。
採用通用便利的 CSV 檔案管理測試資料的輸入輸出
Coverage master winAMS 不需要插入測試用程式碼,直接使用目標機程式碼進行單元測試。採用通用便利的 CSV 檔案管理函式測試時使用的輸入輸出資料。測試結束後,輸出的測試結果和輸出的期待值也將以相同的格式顯示在 CSV 檔案之中。
C0/C1 覆蓋率報告的自動化製作功能(標準功能)
根據測試的輸入輸出資料自動報告相應原始碼的 C0/C1 測試覆蓋率結果。包括透過圖形( viewer )顯示測試資料,以及與其相應的被測試的原始碼路徑的功能,用於分析測試結果。
MC/DC
覆蓋率的自動化測試功能(選項功能)
作為選項功能提供 MC/DC 覆蓋率測試功能。 C0/C1 覆蓋率測試不需要加工即可直接使用目標機程式碼。然而, MC/DC 覆蓋率測試對於複合式的條件式,需要自動插入 HookCode 將複合式的條件式分解,才能對各條件式進行測試。這樣就有可能導致測試用程式碼與目標機用程式碼的不同。為了驗證 HookCode 的妥當性,在 MC/DC 覆蓋率測試的同時,執行目標機程式碼,確認執行結果與期待值的一致性。
注 : 右圖舉例顯示,第 2 個 if 句的複合條件式中, [gbc>30] 為 false 時的分支沒有被測試到。以 C1 覆蓋率測試來說,它的測試結果是 OK ;而對於 MC/DC 覆蓋率測試來說,它的結果是 NG 。
注 : MC/DC 覆蓋率測試功能不支援 C++ 程式。
單元測試的效率化功能
聯合程式解析工具 CasePlayer2 ,實現程式碼參照解析作業的效率化
利用 生成的流程圖表以及模組構造圖(呼叫函式的構造圖)與原始碼的連線( link )功能,使單元測試用原始碼的解析工作效率化。
能夠自動檢索被測試函式的外部變數,使測試條件設定效率化
聯合程式解析工具 CasePlayer2 ,自動檢索被測試函式所使用的外部變數。縮短了以往必須對原始碼進行搜尋找出輸入條件的變數所需的工作。而且,能夠防止人工操作導致的類似變數指定遺漏的的錯誤。
根據程式碼解析自動化製作
C0
,
C1
,
MC/DC
覆蓋率測試計劃
聯合程式解析工具CasePlayer2,自動化製作符合覆蓋率測試要求的條件分支if,switch,for,while等的測試資料。可以將被測試函式中含有的條件式(if以及switch等)在資料製成圖形(Viewer)上列表顯示。 點選其中的條件,工具將自動開始檢索與之相關的變數,進而從所設定的條件的境界值中自動生成覆蓋率測試所需要的資料。
為了達到 C1/MCDC 覆蓋率,測試時需要對各函式的資料進行組合。 利用CasePlayer2提供的解析結果,分析條件式的net構造,在重複性限制在最小限度下生成C1/MCDC覆蓋率測試用資料。
支援MPU
動作環境
●操作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 未支援)
●License Key
・
USB Board Hardware Key (Dongle)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913086/viewspace-2712623/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- WinAMS--嵌入式軟體單元測試/整合測試工具
- 軟體測試實驗二 | 白盒測試
- 軟體測試中的白盒測試是什麼?
- 軟體測試--中介軟體介紹
- 軟體測試要學什麼(2)白盒測試詳解教程
- 黑盒測試、白盒測試與灰盒測試方法
- 黑盒測試和白盒測試
- 軟體測試面試如何自我介紹面試
- 測試方法-白盒/黑盒
- 細說白盒測試
- Tessy—嵌入式軟體單元測試/整合測試工具
- Tessy — 嵌入式軟體單元測試/ 整合測試工具
- 軟體測試學習教程——JDBC介紹JDBC
- 對於黑盒測試、白盒測試、灰盒測試你瞭解多少?
- 《Google軟體測試之道》 第一章google軟體測試介紹Go
- 重溫黑盒、白盒與灰盒測試方法
- webgoat白盒審計+漏洞測試WebGo
- 符合ISO 26262 的嵌入式軟體一體化測試工具
- 效能測試:主流壓測工具介紹
- 軟體測試培訓之:白盒測試的語句覆蓋法和判定覆蓋法
- 知識普及:黑盒測試、白盒測試、灰盒測試之間的區別
- 白盒測試程式碼應該怎麼測試
- 開源測試工具 JMeter 介紹JMeter
- sitespeedio前端效能測試工具介紹前端
- 軟體測試學習教程—Jmeter元件介紹(二)JMeter元件
- 白盒測試—六種覆蓋方法
- 介面測試工具 tep 介紹 (開源)
- 資料介面測試工具 Postman 介紹Postman
- 程式碼審計基礎--白盒測試
- 介紹一個軟體開發工具
- Android測試工具 UIAutomator入門與介紹AndroidUI
- 動態惡意軟體分析工具介紹
- 深圳軟體測試培訓學習:Java Random介紹--【千鋒】Javarandom
- monkey測試介紹
- 混沌測試介紹
- 洗衣機嵌入式軟體測試可以使用板子測試嗎
- VSCode軟體介紹VSCode
- 軟體測試報告辦理地點流程介紹,第三方軟體測試報告收費如何?測試報告