作者 | ilil小編 | 吃不飽 對于一名汽車軟件測試工程師,最關心的問題是如何高效完成產品測試。目前提高測試效率的方法主要有以下兩個方向:一、提高測試建模的效率,最好能夠實現“自動化”,并且測試用例能夠復用于后續的SiL、PiL以至于HiL測試階段。二、快速完成模型\代碼覆蓋度統計,并提升模型\代碼結構覆蓋度。TPT-TASMO,一款能夠完美滿足上述需求的神奇工具箱來了!
01TASMO的特性
TASMO是TPT中一個獨立的工具箱,能夠針對Simulink/Stateflow、TargetLink模型或C代碼,基于CC、DC、MC/DC原則自動生成測試用例、進行結構覆蓋度統計。圖1 TASMO測試用例自動生成
針對Simulink/Stateflow、TargetLink模型、C代碼,自動進行模型或C代碼的結構分析,確保測試完整性自動生成測試用例,幫助用戶節約大量時間和成本用戶可自定義測試用例的創建準則提供詳細的覆蓋范圍報告,包括測試集覆蓋的以及未覆蓋的結構支持CC、DC、MC/DC準則02應用一:自動生成測試用例
以燈控模型為例,在Simulink子系統中,分別有兩個輸入信號和一個輸出信號,當開關處于ON或OFF狀態時,頭燈也隨之打開或關閉;當開關處于AUTO狀態時,頭燈受到光照條件的影響打開或關閉。
圖2 燈控模型
功能安全要求軟件單元測試要進行基于需求的測試和接口測試,同時為了保證測試的完整性,還需盡可能滿足結構覆蓋度。TASMO的用例生成算法不斷精進,同時利用靜態分析技術,自動生成最少數量的測試用例來最大化遍歷模型,滿足上述要求的前提下還實現了“自動化”。用戶只需要進行以下步驟:
(1)點擊Generate Test Cases - for MATLAB/Simulink Models (TASMO),啟動TASMO工具箱,選擇當前測試的模型;
圖3 TASMO界面-模型分析
(2)點擊Input Specification,對輸入接口的最大最小值、步進長度、信號組成方式進行配置,自動生成的用例會在配置的數值范圍內實現遍歷,覆蓋接口測試;
圖4 輸入信號配置
(3)點擊Coverage Goals Selection,選擇生成用例的結構覆蓋度目標,可選擇CC、DC、MC/DC準則。以模型中的OR模塊為例,如須滿足MC/DC準則,須包含如下情況:①兩個輸入為false;②一個輸入為true,另一個輸入為false。TASMO可以分析出如下結構:
圖5 燈控OR結構分析圖6 生成測試用例準則選擇
(4)點擊Generate,基于之前的配置一鍵生成測試用例。
圖7 自動生成測試用例
測試用例生成完成后,只需根據功能需求逐條編寫GUI評估,便可實現基于需求的測試。相比傳統的測試方式,使用TASMO工具箱,不僅驗證了模型設計符合功能需求設計,在測試建模效率上也得到了極大的提高。同時TASMO自動生成的測試用例也可以復用于后續的SiL測試,驗證模型生成的代碼是否符合功能預期。
03應用二:模型覆蓋度統計
TPT在統計結構覆蓋度時提供了多種選擇,對于模型測試,可以調用TargetLink、CTC++ for TargetLink和Simulink V&V工具統計結構覆蓋度。除此之外,TASMO也具有統計結構覆蓋度的功能。我們可在MATLAB/Simulink平臺配置中的TASMO Coverage Analysis選擇覆蓋度統計準則,無需集成外部測試覆蓋度工具,從而節省測試成本。
圖8 覆蓋度準則選擇
TASMO會自動根據覆蓋準則去分析模型結構,列出相應子層級下的關系運算符或邏輯塊的輸入和輸出的組成情況,最后統計出當前運行的測試用例或測試用例集的覆蓋情況,并在測試報告中展示出覆蓋度詳情頁。
圖9 模型覆蓋度報告04應用三:C代碼覆蓋度統計
TASMO工具箱不僅可以統計模型的結構覆蓋度,對于C代碼也同樣適用。
在C/C++ Platform選擇TPT Coverage,即可使用TASMO生成C代碼的測試數據,統計當前測試用例或測試用例集的結構覆蓋度。同樣地,可選擇CC、DC、MC/DC準則作為統計標準。
圖10 C Platform覆蓋度準則選擇
如下圖所示,測試報告展示了覆蓋度詳情頁。點擊link查看C代碼的具體覆蓋情況,對未覆蓋的代碼語句進行標紅高亮顯示,包括語句true和false的覆蓋次數,幫助定位問題和基于覆蓋度結果補充測試用例。
圖 11 C代碼覆蓋度報告
圖12 C代碼覆蓋度報告詳情頁
05小結
本文介紹了TPT-TASMO在自動生成測試用例和統計模型/代碼覆蓋度方向的應用,幫助我們更高效、更完整地完成軟件測試,節約測試成本。同時隨著越來越多的小伙伴開始關注形式化需求,在TPT19中即將推出基于TASMO生成形式化需求的測試用例,我們誠邀您一起來體驗TPT19強大的測試功能,敬請期待!
-
測試
+關注
關注
8文章
5402瀏覽量
127137 -
軟件
+關注
關注
69文章
5029瀏覽量
88147
發布評論請先 登錄
相關推薦
評論