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