最近了解到了Tessy這款測試軟件,嘗試一下使用它來測試AUTOSAR應(yīng)用層軟件。
模型開發(fā)
首先來實現(xiàn)一個非?;A(chǔ)的功能,分步驟實現(xiàn)4個數(shù)的加和,y1 = x1 + x2, y2 = x3 + x4, z1 = y1 + y2。用模型實現(xiàn)就是如下所示:
通過AUTOSAR Component工具箱提供的Quick Start能夠快速為一個模型配置AUTOSAR元素。
生成代碼后整理為如下結(jié)構(gòu):
├─include
│ │ Add1.h
│ │ Add1_private.h
│ │ Add1_types.h
│ │ Add2.h
│ │ Add2_private.h
│ │ Add2_types.h
│ │ Rte_Add1.h
│ │ Rte_Add2.h
│ │
│ └─common
│ Compiler.h
│ Platform_Types.h
│ Rte.h
│ Rte_Type.h
│ rtwtypes.h
│ Std_Types.h
│
└─src
Add1.c
Add2.c
Rte.c
其中src是模型生成的函數(shù)實現(xiàn)代碼,include下是模型相關(guān)的頭文件,common是公用頭文件, Compiler .h Platform_Types .h Std_Types .h是AUTOSAR工具箱內(nèi)置的, rtwtypes .h Rte_Type .h是模型編譯時生成的, Rte .h Rte .c 是計劃用來存放RTE的全局變量中間值(在本例中不是必須的,在Tessy中同樣可以配置)。
Tessy使用
創(chuàng)建一個Tessy工程,選擇組件測試而不是單元測試。
指定源文件和頭文件。
點擊分析工程后,Tessy可以自動識別出工程中接口對象,包括函數(shù)和全局變量等。
新增全局變量,模擬RTE,為數(shù)據(jù)流提供讀寫的存儲基礎(chǔ)。
這里按照SWC Port的名字命名了以下全局變量。這些全局變量的IN/OUT/INOUT屬性,將會影響到它們在測試用例中輸入值和期望值的位置。
可以看到,SR接口被識別為外部函數(shù),因為它們此時并無實現(xiàn),右鍵為其添加樁函數(shù)。
因為這里樁函數(shù)的讀寫確實會影響到代碼邏輯,因此不能簡單補(bǔ)充一個假實現(xiàn)通過編譯即可,而是要為它們補(bǔ)充讀寫全局變量中間值的邏輯。這里就補(bǔ)充了SR接口的具體讀寫操作。
完成上述工作之后,整個測試工程就處于測試就緒狀態(tài)。接下來就可以編輯測試場景了。
首先需要針對某一個Test Project新建一個Test Case。對于組件測試來說,要使用SCE(Scenario Editor)來編輯測試用例。
通過拖拽的方式,可以為某個時刻添加一個函數(shù)調(diào)用的請求,這一點非常地方便。
如果是周期性任務(wù),還可以將函數(shù)配置為Work Task,并配置運行周期和偏置。此時就不需要再拖拽該函數(shù)到每一個時刻了。
針對關(guān)注的時刻,設(shè)計輸入值和期望值。這里注意幾種Tessy的狀態(tài)指示符,一般來說,綠色代表通過,黃色代表就緒,灰色代表部分就緒,而白色就代表未就緒。
點擊運行測試,就可以看到運行結(jié)果了。通過的測試點會顯示綠色。完成測試后,可以查看覆蓋率以及導(dǎo)出測試報告。
總結(jié)
使用下來的總體感覺是方便易用,簡單快捷,節(jié)省了大量的測試人員用于寫測試代碼的過程。其他高級用法持續(xù)體驗中。
-
AUTOSAR
+關(guān)注
關(guān)注
10文章
349瀏覽量
21446 -
SRC
+關(guān)注
關(guān)注
0文章
60瀏覽量
17946
發(fā)布評論請先 登錄
相關(guān)推薦
評論