国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TPT中腳本評估的使用(上) 強大的內置函數庫

北匯信息POLELINK ? 2022-07-27 11:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

TPT作為一款功能強大的嵌入式軟件測試工具,覆蓋MiL、SiL、PiL、HiL、ViL等全階段的測試過程,將測試執行到測試報告生成的所有步驟實現自動化,大大提高我們做軟件測試的效率。TPT之所以在嵌入式測試中如此高效,少不了其腳本評估這個特色功能的支撐,今天我就帶領大家來了解一下TPT中腳本這個特性。

您將在本文及后續文章了解到的:

  • 通過TPT腳本對任意時間的信號行為進行檢查的方法
  • TPT腳本中對信號進行處理以及讀寫的方法
  • 通過TPT腳本對測試需求、測試報告等內容進行管理的方法
  • TPT腳本與Python標準庫、擴展庫、MATLAB、以及其它外部軟件的交互方案
  • TPT腳本的封裝、集成以及團隊管理方案

TPT腳本評估的語法構成

poYBAGLgrh6AX1g7AACFIi4y6d0822.png

TPT中的腳本由三個方面組成,分別是Python基本語法、TPT內置函數以及MATLAB等其它程序的接口。

首先TPT腳本的語法框架是基于Python 2.7的,所以我們可以在TPT中使用Python2.7中的絕大部分語法特性,比如說Python中的選擇語句、循環語句等流程控制語法,列表、元組、字典等數據結構,甚至我們還可以使用Python中的函數、類等語法結構。如下圖所示,我們使用上述語法,對信號狀態進行判斷,同時建立了一個對信號圖像進行設置的函數。

pYYBAGLgrkKATFtFAADlof_awD4664.png

除了基礎的Python語法框架,TPT針對嵌入式軟件測試的特點,提供了一套強大的函數庫,覆蓋到測試的方方面面。從評估區間查找到信號行為檢查,從測試需求管理到測試報告設置,我們都可以通過調用一兩個函數去完成。這種用簡單幾行腳本就完成一個復雜測試步驟的能力,是其它大部分測試軟件所沒有的。

除了這些特點之外,TPT腳本還提供了與MATLAB等其它工具的交互接口,比如,我們可以使用M語言進行數據處理,這無疑大大提升了工具的使用范疇。

pYYBAGLgrlOAa5Z-AAAtotUsJPg948.png

使用TPT腳本進行信號評估

使用TPT腳本進行信號行為檢查的完整流程如下圖所示,通過這個流程我們就可以實現對幾乎所有測試場景的評估。

poYBAGLgrmqAMRFVAABwlq-8Z3M904.png

聲明評估變量

就和大部分的編程語言一樣,編寫程序的第一步就是變量的聲明,TPT提供了如下表所示的多種變量的聲明:

poYBAGLgryyAc7iRAACUCXd8sZo149.png

這些評估變量和標準的Python變量有著本質的區別,Python變量都是和時間無關的標量,而這些TPT變量是建立在時間域上的,它們的值隨時間變化而變化。

TPT在腳本中之所以做出這樣的區別,是為了能讓變量更好的表示信號的實際情況。如下圖所示,我們首先聲明了一個TPT評估變量,之后把一個開關信號賦值給這個評估變量,之后方便我們對信號進行進一步的操作。

poYBAGLgrzmASeNKAAA1FPdEmpY945.png

同其它的編程語言一樣,我們可以把多個值組成列表、矩陣等數據結構,TPT提供了列表、矩陣類型的評估變量的聲明,如下圖所示:

pYYBAGLgr0WAAe2IAABDz8D5sX0832.png

此圖中我們就聲明了一個列表形式的評估變量,并給列表中的兩個元素賦了開關和光強兩個不同類型的信號。通過這樣的列表形式的評估變量的使用,方便了我們對多個評估變量的聲明。假如我們的項目工程中有多個作用類似的信號,我們不妨考慮使用列表形式的評估變量來處理它們,這樣可以使評估整潔又便利。

目標信號獲取

我們在聲明了TPT評估變量之后,就可以去獲取評估中需要用到的信號,比如說待檢查信號、參考信號、輔助信號等等。這些信號的獲取方式也是十分豐富的,可以從TPT工程以及MATLAB模型中獲取,可以從各類文件中加載,也可以從信號運算結果中獲取。 從TPT工程中直接獲取就不用說了,直接輸入信號名稱就可以了,今天我們來看看后兩種方式。

TPT支持用.tptbin、.mdf、 .mat、.csv等多種格式對信號進行讀寫,如下圖所示:

poYBAGLgr1mAV5uQAADsNSgFpZM279.png

我們可以用excel或MATLAB中去定義信號,然后再用TPT去讀取這些信號,這無疑方便了TPT和各種工具之間的數據交互。

有時候我們想要的信號是原信號數學處理之后的結果,針對這種情況,TPT也內置了多種信號處理的函數,比如說積分、微分、濾波、兩信號時域求差等等。通過這些信號處理函數,我們可以輕松的得到各種我們想要的信號,這條信號的值是兩個輸入信號在時域上的差值。

poYBAGLgr2iAQVIiAABJkI6mf8I662.png

poYBAGLgr3KAB-6OAADLYofW4nM052.png

篩選時間區間

我們在檢查信號行為之前,首先要確定要檢查的時間點,這點是很多測試工具的痛點。它們一般讓測試工程師直接指定要檢查的時間點,但是有時候我們想要檢查的時間點是無法直接用數值來給定的,我們很多情況下是要檢查某種狀況下的信號行為。

TPT在時間區間的篩選上是比較強大的,內置多個時間篩選函數,幫助我們快速的確定一個或多個時間點或時間段。

這些函數中最有亮點的就是regexp()這個時間匹配函數。這個函數是 Regular Expression這個詞組的縮寫,看到這里大家應該就明白了,這個函數使用的正是大名鼎鼎的正則表達式。

正則表達式的歷史可以追溯到二十世紀五十年代,它被多種系統以及編程語言廣泛使用,是上個世紀計算機領域的一項重要成就。我們經常用正則表達式去搜索匹配一些字符串,TPT創新地將這種方法運用在時間匹配上面,大大提高了我們時間篩選的效率。

poYBAGLgr8eAU6oYAAAjvZWNLwM477.png

如上圖所示,這個正則表達式就匹配了首先信號的值等于3,接著值選擇性的等于5,最后等于4這樣一段信號。例如34或354這樣的時間區間。可以想到,假如我們想要直接去找這樣一段信號是極為困難的,但正則表達式幫助我們輕松的匹配到了,這就是正則表達式的優勢所在。

假如您是正則表達式的高手,那么在復雜的時間區間中去找待評估的時間段對您來說是輕而易舉,因為TPT中的正則表達式的特性和標準正則表達式的特性幾乎相同,下圖就是TPT中的正則表達式的元素。

pYYBAGLgr9-AC3WMAAC3oUNSvbY517.png

除了regexp()這個函數外,TPT還內置了其它許多時間匹配的函數,幫助您快速地匹配時間區間。比如說trigger()函數通過信號上升沿和下降沿去匹配時間區間,Interval()通過指定時間點去匹配時間區間等等,這些特性您可以在TPT腳本中去感受探索。

信號行為檢查

我們在匹配到了待檢測的時間段之后,接著就是對這個時間段的信號行為進行檢查,去評判信號的變化是否符合我們的預期,這也決定了被測系統對應部分的功能是否滿足我們的需求。這個環節無疑是測試中很重要的一部分,所以TPT提供了豐富的信號檢查函數,幫助我們輕松的評判信號的行為。

這些檢查函數可以去評判一個表達式的正確性,也可以去檢查一個信號是否處于某個區間,甚至可以幫助我們檢查兩個信號的相似程度。下面我們就來看幾個較為典型的例子。

我們在測試中最簡單、最常用的是checkAlways()assertAlways()這兩個函數,如下圖所示。這兩個函數會直接檢查待檢查表達式的正確性,并根據檢查結果決定與之鏈接的測試用例的通過與否。

poYBAGLgsA6AbkXJAACPrUkF_X8201.png

還有一個值得一提的是hose( )函數,如下圖所示,這個函數可以根據參考信號生成一個誤差帶,之后檢查目標信號是否在誤差帶范圍之類。這個函數的應用場景也是很多的,比如我們在做back-to-back測試的時候,需要將兩次的信號進行對比,這時候我們就可以用到這個函數。

poYBAGLgsByAYogiAACgf5JbRT0260.png

下期預告

在本篇文章中,我們介紹了TPT腳本的語法構成以及使用它進行測試評估的方法。在下篇文章中,我們將介紹其它的擴展部分,其中包括有:使用TPT腳本進行測試需求管理、測試報告管理;TPT腳本與其它庫與軟件的交互與集成;TPT腳本的封裝與管理等等。相信通過下篇的閱讀,您能通過TPT輕松地解決測試中的一些相關難點。

PikeTec公司是全球知名的基于模型的嵌入式系統測試工具TPT的軟件供應商,總部位于德國柏林,其創始人均在戴姆勒公司擁有十多年的軟件測試經驗。TPT產品曾被評為2005年戴姆勒最佳創新軟件,并在戴姆勒、大眾、奧迪、保時捷、通用等汽車整車廠及多家零部件企業(博世、大陸、海拉等)中得到廣泛應用,如戴姆勒的多個車型的混合動力汽車的動力總成、電池管理控制器的測試,博世的汽油機和柴油機控制系統測試等。


北匯信息作為PikeTec在中國的獨家合作伙伴,致力于幫助中國客戶提升嵌入式控制系統的開發效率。目前,TPT已被眾多國內知名主機廠和零部件企業認可,在新能源(VCU/BMS/MCU)以及ADAS等領域中被廣泛應用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • TPT
    TPT
    +關注

    關注

    0

    文章

    25

    瀏覽量

    7514
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式開發常用函數速查表

    在嵌入式開發,掌握常用函數的用法可以大大提高開發效率。無論是單片機初學者還是有一定經驗的工程師,熟悉函數庫和調用方式都是必備技能。今天,我們為大家整理一份嵌入式開發常用函數速查表,覆
    的頭像 發表于 01-19 09:06 ?303次閱讀
    嵌入式開發常用<b class='flag-5'>函數</b>速查表

    請問怎么封裝函數庫

    怎么封裝函數庫,只留一些回調函數和引腳定義,完整程序不讓人看
    發表于 12-22 13:49

    TriBoard TC3X9:功能強大評估板深度解析

    TriBoard TC3X9:功能強大評估板深度解析 在電子設計的領域中,擁有一款功能強大且靈活的評估板對于開發人員來說至關重要。TriBoard TC3X9就是這樣一款值得深入研究
    的頭像 發表于 12-19 11:20 ?555次閱讀

    NORDIC藍牙芯片NRF54l15的dsp支持分享

    Cortex-M 系列處理器的 DSP 函數庫。 ? 2. 開發環境集成 (nRF Connect SDK) 當你使用 Nordic 官方推薦的nRF Connect SDK (基于 Zephyr RTOS
    發表于 12-17 16:03

    LUA例程-常用的回調函數使用說明

    詳細說明LUA腳本函數功能和對應的應用實例。對于LUA腳本編程有很大的幫助和提高技能。
    發表于 11-24 16:43 ?0次下載

    關于系統鏈接腳本的介紹

    起來后所處于的地址,程序的相對尋址都會遵從此虛擬地址。 四、關于ITCM和DTCM(若使用FLASH下載模式) (1) 代碼段上載到ITCM,ITCM起始地址(0x80000000)存儲的代碼就是主函數的入口。 (2)數據段上載到DTCM,DTCM起始地址(0x
    發表于 10-30 08:26

    TPT-X-2025.09 煥新上線!汽車電子測試效率再升級,解決測試痛點!

    在軟件定義汽車浪潮下,汽車電子系統復雜度與日俱增,對測試工具的自動化與兼容性提出了更高要求。作為專注汽車嵌入式軟件的測試工具,TPT始終緊跟技術發展趨勢,持續優化自身產品。此次
    的頭像 發表于 10-29 10:02 ?622次閱讀
    <b class='flag-5'>TPT</b>-X-2025.09 煥新上線!汽車電子測試效率再升級,解決測試痛點!

    【技術分享】正確編寫SysV Init腳本以實現Systemd兼容()

    /),但在Systemd系統,這些腳本需通過systemd-sysv-generator換為原生服務單元。若腳本未遵循LinuxStandardBase(LSB)規范
    的頭像 發表于 10-28 11:45 ?713次閱讀
    【技術分享】正確編寫SysV Init<b class='flag-5'>腳本</b>以實現Systemd兼容(<b class='flag-5'>上</b>)

    深入理解C語言:函數—編程的“積木塊”藝術

    在編程的世界里,函數就像建筑的“積木塊”——它們是構建復雜程序的基石。通過靈活組合這些模塊,開發者能打造出功能強大且結構清晰的代碼。函數之所以成為C語言的核心,正是因為它解決了編程
    的頭像 發表于 06-30 17:26 ?1858次閱讀
    深入理解C語言:<b class='flag-5'>函數</b>—編程<b class='flag-5'>中</b>的“積木塊”藝術

    自己寫:構建庫函數雛形

    實際,構建固件是一件費時費力的事情,并且它對開發者對芯片的熟悉程度有一定的要求。甚至,當一個固件的封裝程度很高時,想要閱讀并理解該固件的底層代碼也會變成一件有較高難度的事情。瑞
    的頭像 發表于 06-19 11:19 ?1156次閱讀
    自己寫<b class='flag-5'>庫</b>:構建庫<b class='flag-5'>函數</b>雛形

    ABAQUS內置了豐富的材料模型

    在現代工程設計與分析,材料模型的準確選擇與應用是決定仿真結果可靠性的關鍵因素之一。ABAQUS作為有限元分析(FEA)領域的旗艦軟件,憑借其內置的豐富材料模型,為工程師們提供了仿真分析靈活性
    的頭像 發表于 05-14 10:34 ?766次閱讀
    ABAQUS<b class='flag-5'>內置</b>了豐富的材料模型<b class='flag-5'>庫</b>

    樹莓派新手必看!在樹莓派上編寫和運行 Shell 腳本

    在本教程,我將討論Shell腳本的基礎知識、它們的用途以及如何在RaspberryPi編寫和運行Shell腳本。什么是Shell腳本?S
    的頭像 發表于 03-25 09:28 ?1157次閱讀
    樹莓派新手必看!在樹莓派上編寫和運行 Shell <b class='flag-5'>腳本</b>!

    詳解RTOS的Hook函數

    Hook函數是RTOS的一個關鍵特性,通過該函數,用戶可以增強對任務管理的控制,定義系統行為。
    的頭像 發表于 03-24 16:14 ?1077次閱讀

    TPT2024.12 正式發布|7大升級搶先體驗

    在快速迭代的科技浪潮,汽車電子技術的飛速發展不僅重塑了行業的面貌,也對測試工具提出了更高的挑戰與要求。作為汽車電子測試領域的先鋒,TPT軟件始終致力于為用戶提供高效、精準、可靠的測試解決方案
    的頭像 發表于 03-12 10:02 ?1594次閱讀
    <b class='flag-5'>TPT</b>2024.12 正式發布|7大升級搶先體驗