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