在上篇中,我們講述了TPT腳本的一些基礎(chǔ)操作,例如時(shí)間區(qū)間篩選、測試評(píng)估等等。但是僅僅掌握這些基礎(chǔ)的操作是無法滿足我們?cè)趶?fù)雜測試項(xiàng)目中的需求的,在本文中您將了解到TPT腳本的一些高級(jí)特性,例如測試管理、腳本封裝、與其它軟件交互等等。相信在閱讀本文之后,您將在TPT腳本使用方面更上一層樓。
文章閱讀導(dǎo)圖:

使用腳本對(duì)需求和報(bào)告進(jìn)行管理
使用腳本進(jìn)行測試需求管理
在軟件測試項(xiàng)目中,測試需求是我們工作的軸心。測試需求不僅是我們編寫測試用例與評(píng)估的重要依據(jù),同時(shí)也是測試工作完成程度的一項(xiàng)重要指標(biāo),那么開展測試需求管理工作就是十分重要的了。TPT在腳本中提供了許多強(qiáng)大的函數(shù)接口幫助我們進(jìn)行測試需求的管理,下圖就列舉了測試需求管理函數(shù)庫中的一個(gè)常用模塊——REQUIREMENTS模塊的功能。

我們可以通過checked()對(duì)測試需求是否滿足進(jìn)行檢查,檢查的結(jié)果會(huì)反映到測試結(jié)果之中。


之后,我們也可以使用report ()函數(shù)將我們的需求滿足結(jié)果反饋到我們的報(bào)告之中。

使用腳本進(jìn)行測試報(bào)告管理
測試報(bào)告基本是我們測試工作的最后的一個(gè)環(huán)節(jié),也是極為重要的一個(gè)環(huán)節(jié)。一份合理美觀的測試報(bào)告可以充分的體現(xiàn)測試流程和測試結(jié)果,可以將關(guān)鍵的測試數(shù)據(jù)保存下來。
TPT腳本中提供了充分的接口,讓我們按自己的需求將報(bào)告定制化。例如我們可以在報(bào)告的指定位置添加圖像、文章段落、各類信號(hào)圖像、信號(hào)表格等模塊,下圖腳本就展示了其中一些函數(shù)的用法以及執(zhí)行結(jié)果。


同時(shí)在TPT16中,我們還可以為整個(gè)報(bào)告添加一些測試總述信息。注意這樣的腳本需要在測試執(zhí)行界面的Global Assessment處編寫。如下圖所示,我們通過腳本的編寫,在測試報(bào)告的Over View處添加了圖像與段落。


使用TPT腳本與外界程序進(jìn)行交互
TPT腳本中提供了較為豐富的與外界程序進(jìn)行交互的接口,我們可以利用這些接口對(duì)TPT的功能進(jìn)行擴(kuò)展,去實(shí)現(xiàn)我們?cè)趯?shí)際項(xiàng)目中想要達(dá)到的效果。
在TPT腳本中調(diào)用Python標(biāo)準(zhǔn)庫
我們?cè)赥PT腳本中可以使用import;from…import…;from…import *等語句導(dǎo)入Python中的標(biāo)準(zhǔn)函數(shù)庫。由于TPT的Python版本是2.7,所以我們只能使用Python2.7中的標(biāo)準(zhǔn)庫,而其它一些擴(kuò)展庫需要通過下文(與擴(kuò)張庫進(jìn)行交互部分)中介紹的方法導(dǎo)入。
在TPT腳本中調(diào)用外部Python腳本
我們可以通過TPT腳本去調(diào)用外部的Python腳本,這樣可以對(duì)我們?cè)械腜ython腳本進(jìn)行復(fù)用,實(shí)現(xiàn)編寫一個(gè)腳本在多個(gè)評(píng)估中使用的效果。

如圖所示,我們使用include ()這個(gè)函數(shù)調(diào)用了外部的一個(gè)腳本,這個(gè)腳本在控制臺(tái)上打印輸出一段文字。這個(gè)函數(shù)類似于C和C++中#include這個(gè)語法特性,都起到了加載外部文件的作用。
值得注意的是,我們?cè)诰帉懲獠磕_本的時(shí)候要注意其語法特性要滿足TPT內(nèi)部的語法特性,不能使用TPT中不包含的語法特性。
通過TPT腳本與MATLAB進(jìn)行交互
TPT提供了與MATLAB進(jìn)行交互的接口,我們可以通過runMScript()函數(shù)在MATLAB工作區(qū)寫入或者讀取變量,也可以去執(zhí)行M語言程序,在MATLAB中對(duì)信號(hào)進(jìn)行計(jì)算與處理,或者針對(duì)不同的測試用例對(duì)模型本身進(jìn)行改變。

下圖是這個(gè)函數(shù)的使用示例。首先我們?cè)贛ATLAB工作區(qū)創(chuàng)建了IN和OUT兩個(gè)變量,IN是TPT寫入MATLAB的變量,OUT是TPT從MATLAB讀取的變量。同時(shí)TPT把這個(gè)函數(shù)的第一個(gè)參數(shù)的內(nèi)容作為M腳本在MATLAB中執(zhí)行。這個(gè)M腳本的執(zhí)行結(jié)果是賦予OUT信號(hào)以IN信號(hào)的時(shí)域與值域的數(shù)值,之后將模型中的AUTO_MODE參數(shù)的值置為3。

除此之外,我們還可以用TPT腳本中的setMatlabSettings()函數(shù)對(duì)MATLAB平臺(tái)進(jìn)行設(shè)置,讓測試環(huán)境達(dá)到我們的要求。
通過TPT腳本與其它應(yīng)用程序或Python擴(kuò)展庫進(jìn)行交互
我們之前在腳本中調(diào)用了Python2.7的標(biāo)準(zhǔn)庫,那如何在TPT腳本中使用例如numpy、pandas、matplotlib這些較為常用的擴(kuò)展庫呢?TPT的execute()這個(gè)函數(shù)為我們提供了實(shí)現(xiàn)的可能。
我們調(diào)用execute()這個(gè)函數(shù),TPT就會(huì)自動(dòng)創(chuàng)建一個(gè)我們指定的進(jìn)程,同時(shí)TPT解釋器會(huì)在execute()函數(shù)調(diào)用語句處暫停,等待外部進(jìn)程的結(jié)束。那么我們就可以通過共享內(nèi)存的方法,為TPT和外部進(jìn)程創(chuàng)建一個(gè)共同的數(shù)據(jù)緩存區(qū),通過這個(gè)緩存區(qū)實(shí)現(xiàn)TPT和外部進(jìn)程的數(shù)據(jù)交互。外部進(jìn)程結(jié)束后,我們的TPT腳本可以根據(jù)其返回的結(jié)果來進(jìn)行下一步的操作,原理如下圖所示。

整個(gè)腳本的執(zhí)行流程是TPT內(nèi)部進(jìn)程和外部進(jìn)程交叉進(jìn)行的,由于交互的速度很快,所以可以近似于是TPT內(nèi)部庫的調(diào)用,整個(gè)過程類似于“并發(fā)”這種調(diào)度方式。
TPT腳本的封裝與管理
TPT提供了對(duì)腳本進(jìn)行封裝和管理的功能。在一個(gè)項(xiàng)目中,有時(shí)候我們會(huì)有一些重復(fù)的計(jì)算步驟或者程序流程,這時(shí)候我們可以把這些計(jì)算步驟封裝成函數(shù),需要時(shí)我們可以對(duì)函數(shù)進(jìn)行調(diào)用,簡潔了代碼提高了效率。
同樣的,我們?cè)陧?xiàng)目中可能會(huì)有一些功能相似或者相互補(bǔ)充的函數(shù),這時(shí)候我們可以把這些函數(shù)進(jìn)一步封裝,把同類型的函數(shù)封裝成外部函數(shù)庫,我們?cè)赥PT中可以把這些函數(shù)庫加載進(jìn)來,方便我們的調(diào)用,加速整個(gè)項(xiàng)目流程。
舉個(gè)簡單的例子,如下圖所示,我們把繪圖和繪表這些固定的腳本步驟封裝成了兩個(gè)函數(shù)。通過這兩個(gè)函數(shù)的調(diào)用,我們可以輕而易舉的添加多個(gè)信號(hào)的圖像或者表格。

同樣的,我們假如定義了多個(gè)與圖形繪制有關(guān)的函數(shù),我們可以進(jìn)一步的把圖形繪制的函數(shù)歸類成一個(gè)函數(shù)庫,步驟如下圖所示。這時(shí)候我們就可以在多個(gè)項(xiàng)目中去使用這個(gè)函數(shù)庫,或者分享給團(tuán)隊(duì)成員,提高了代碼的復(fù)用性。

我們建立自己的外部函數(shù)庫也方便我們對(duì)工程的管理。把一些固定的步驟標(biāo)準(zhǔn)化,無疑提高了整個(gè)團(tuán)隊(duì)代碼的規(guī)范性。同時(shí),我們還可以通過Git或SVN對(duì)團(tuán)隊(duì)的腳本庫進(jìn)行管理與共享,提高了團(tuán)隊(duì)協(xié)作性。
毫無疑問,我們需要對(duì)TPT腳本進(jìn)行一定的管理,這在大型測試項(xiàng)目中尤為重要,有管理的腳本比沒有管理的腳本要優(yōu)越很多。
關(guān)于PikeTec和北匯信息
PikeTec公司是全球知名的基于模型的嵌入式系統(tǒng)測試工具TPT的軟件供應(yīng)商,總部位于德國柏林,其創(chuàng)始人均在戴姆勒公司擁有十多年的軟件測試經(jīng)驗(yàn)。TPT產(chǎn)品曾被評(píng)為2005年戴姆勒最佳創(chuàng)新軟件,并在戴姆勒、大眾、奧迪、保時(shí)捷、通用等汽車整車廠及多家零部件企業(yè)(博世、大陸、海拉等)中得到廣泛應(yīng)用,如戴姆勒的多個(gè)車型的混合動(dòng)力汽車的動(dòng)力總成、電池管理控制器的測試,博世的汽油機(jī)和柴油機(jī)控制系統(tǒng)測試等。
北匯信息作為PikeTec在中國的獨(dú)家合作伙伴,致力于幫助中國客戶提升嵌入式控制系統(tǒng)的開發(fā)效率。目前,TPT已被眾多國內(nèi)知名主機(jī)廠和零部件企業(yè)認(rèn)可,在新能源(VCU/BMS/MCU)以及ADAS等領(lǐng)域中被廣泛應(yīng)用。
-
TPT
+關(guān)注
關(guān)注
0文章
25瀏覽量
7219
發(fā)布評(píng)論請(qǐng)先 登錄
汽車多模態(tài)交互測試:智能交互的深度驗(yàn)證

Perforce ALM產(chǎn)品簡介:一站式需求與測試管理平臺(tái)(已通過SO 26262認(rèn)證)

PanDao:光學(xué)加工評(píng)估
RFID超高頻試管標(biāo)簽:科技賦能,精準(zhǔn)標(biāo)識(shí)新選擇

TPT2024.12 正式發(fā)布|7大升級(jí)搶先體驗(yàn)

助力Jira用戶測試管理再升級(jí),龍智榮獲Xray 2024亞太區(qū)最佳銷售合作伙伴獎(jiǎng)

測試項(xiàng)目管理系統(tǒng) - TPA

智慧實(shí)驗(yàn)室管理平臺(tái)

光伏逆變器負(fù)載何進(jìn)行負(fù)載測試和性能評(píng)估?
吉時(shí)利源表軟件在憶阻器測試中的應(yīng)用

多通道負(fù)載測試和性能評(píng)估?
如何評(píng)估智能系統(tǒng)的性能
AI大模型在智能座艙軟件測試中的應(yīng)用與思考

ECU電控軟件開發(fā)及測試介紹

9月12日云技術(shù)研討會(huì) | ECU電控軟件開發(fā)及測試全流程解決方案

評(píng)論