0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用TPT完成Stateflow動態(tài)測試

北匯信息POLELINK ? 2022-08-01 14:50 ? 次閱讀

作為美國MathWorks公司知名產(chǎn)品,Stateflow具有軟件架構(gòu)清晰、模型復(fù)雜度低、可讀性和可維護性強等優(yōu)勢,因此被大量應(yīng)用于設(shè)計有關(guān)監(jiān)控、任務(wù)調(diào)度以及故障管理應(yīng)程序的邏輯,在汽車電控領(lǐng)域也有著非常廣泛的應(yīng)用。

基于支持客戶的Stateflow測試經(jīng)驗,北匯信息總結(jié)了一套針對Stateflow的具有普適性的測試方法。下面就以Fan Management單元模塊的動態(tài)測試為例,和大家一起分享。

被測模型

poYBAGLnO_-ANwuWAABv65y4BEE758.png

Fan Management單元模塊

Fan Management單元模塊通過VPM(整車高低壓狀態(tài))、FanErr(風(fēng)扇故障)、FanTemp(風(fēng)扇溫度)信號,對FanEn(風(fēng)扇使能)、FanErrBack(風(fēng)扇故障反饋)信號進行計算。

那么,當(dāng)拿到這樣一個單元模型和功能需求描述,應(yīng)該如何去開展我們的動態(tài)測試工作呢?首先,為了防止在測試過程中深陷到Stateflow錯綜復(fù)雜的跳轉(zhuǎn)邏輯中無法自拔,應(yīng)該明確我們的測試思路。

圍點打援 中心開花

其實無論多復(fù)雜的Stateflow模型,其基本組成都可拆分為初始狀態(tài)、跳轉(zhuǎn)條件和目標(biāo)狀態(tài)三個部分。正是基于這樣的基本結(jié)構(gòu),我們建立了“圍點打援”的測試思路。

  • 圍點:控制Stateflow跳入初始狀態(tài)
  • 打援:針對跳出初始狀態(tài)的跳轉(zhuǎn)路徑進行用例編寫
  • 中心開花:最終實現(xiàn)以初始狀態(tài)為中心,向四周輻射的MCDC覆蓋
  • 假設(shè)以Normal狀態(tài)最為初始狀態(tài):
  • 圍點:以Normal為初始狀態(tài)
  • 打援:① Normal跳轉(zhuǎn)至Off_Err

② Normal跳轉(zhuǎn)至 On_OverTemp

pYYBAGLnPEmAHsBEAAD_vLwIuok328.png

圍點與打援

測試用例編寫方法

當(dāng)確定好測試思路之后,下面就正式的搭建測試工程。這里,我們搭建測試工程用的是一款自動化的軟件動態(tài)測試工具——TPT。

圍點:控制Stateflow跳轉(zhuǎn)至初始狀態(tài)

在進入初始狀態(tài)的過程中,并不需要考慮MCDC覆蓋度的要求。因此,只需要控制信號按照最短的路徑進入到初始狀態(tài)即可。

以Normal作為初始狀態(tài)為例,直接使VPM = 8,跳入Normal狀態(tài)。由于每次狀態(tài)跳轉(zhuǎn)會占用一個步長,我們給入足夠的等待時間保證狀態(tài)跳轉(zhuǎn)至初始狀態(tài)。

pYYBAGLnPIWASVE0AAAvlDVLIBM801.png

進入Normal狀態(tài)

pYYBAGLnPJKAdM6bAACkJDeOtUs326.png

按照以上的搭建方法,分別對模型中的5個功能狀態(tài)搭建了測試用例,并按照模型中的狀態(tài)塊名稱對用例進行了命名。

poYBAGLnPKSAb2DdAADcNpFoHMc343.png

初始狀態(tài)

由于這5個初始狀態(tài)在后面測試用例搭建的過程中需要多次調(diào)用,TPT可以將編寫好的測試用例進行封裝,生成Variants,在搭建測試用例的過程中直接選擇想要的狀態(tài)即可。這會大大提升測試用例的搭建效率。

poYBAGLnPLWAFhRRAACOXk-Ng3Q721.png

以Variants形式存在的初始狀態(tài)

打援:給入狀態(tài)跳轉(zhuǎn)條件信號

按照OriginalState分組封裝的思路,將模型中的跳轉(zhuǎn)條件也進行了Variants的搭建。這里針對信號Variants的劃分會用到在測試過程中常用到的一種方法:等價類劃分

按照測試中常用的等價類劃分方法,對Fan Management單元模型中的輸入信號進行了等價類的劃分:

Bool類型:true、false

有明確功能對應(yīng)關(guān)系的信號:

高低壓狀態(tài)(VPM_st):8、9、(!(8 or 9))取等價類3

風(fēng)扇故障(FanErr)信號:0(無故障)、1(有故障)

有明確功能閾值的信號:

風(fēng)扇工作溫度(FanTemp):≥90(取等價類100)、≤85(取等價類50)

劃分好跳轉(zhuǎn)條件上信號的等價類之后,為了方便復(fù)用,同樣在TPT中搭建了相應(yīng)的Variants。

poYBAGLnPUGAbSThAADPQ5LrxSM384.png

以Variants形式存在的跳轉(zhuǎn)條件

當(dāng)OrigianlState和ObjState上的Variants都搭建好之后,接下來就是選擇需要的Variants,讓他們組合成我們想要的測試用例。為了減少用例運行過程中的資源占用情況,在用例的末尾加了一個300ms的最大跳出時間限制。

poYBAGLnPU6AJakxAADlnvM2was360.png

測試用例

pYYBAGLnPVyAK6ycAAHiR9cQiH4516.png

當(dāng)然,TPT本著“萬物皆Variants”的原則,測試用例中States的跳轉(zhuǎn)條件也可以封裝成Variants,便于我們的復(fù)用。

poYBAGLnPWuADo68AAB7VGbE6h4030.png

跳轉(zhuǎn)條件的Variants

在運行用例的時候,TPT可以調(diào)用Simulink的V&V工具箱對模型的覆蓋度進行統(tǒng)計分析。我們可以方便的查看MCDC覆蓋度是否實現(xiàn)了“中心開花”的效果:以初始狀態(tài)為中心,跳出初始狀態(tài)的條件實現(xiàn)MCDC全覆蓋。這樣可以大大減少我們在為了滿足MCDC覆蓋度去補充測試用例的工作量。

pYYBAGLnPX6AOxt7AACuNS4V_Rw887.png

結(jié)構(gòu)覆蓋度統(tǒng)計結(jié)果

在這個過程中,TPT還可以進行一些測試用例分組管理、測試需求管理、設(shè)置測試用例屬性信息的工作,篇幅所限,這里就不給大家詳述了。

一招從天而降的掌法--測試用例自動生成

在搭建測試工程的過程中,有沒有一種能減輕測試工程師的工作量,自動生成測試用例的方案呢?

為了提升大家的測試效率,TPT也提供了多種自動生成測試用例的方法。當(dāng)我們搭建出OriginalState和ObjState的Variants之后,只需要動動手指,TPT就能自動生成我們想要的測試用例。

pYYBAGLnPZCAHtV_AAF1U2rI_SA224.png

并且,在保證測試用例數(shù)量可控的前提下,自動生成的用例MCDC覆蓋度達(dá)到了100%!

poYBAGLnPaGALzBQAABJDZg0mrI641.png

在我們的測試過程中,巧妙的利用TPT提供的自動生成測試用例的方法,能夠大大較少測試工程師的重復(fù)性勞動,實現(xiàn)真正意義的自動化測試。

關(guān)于評估

用例搭建完成之后,我們還需要搭建測試評估,這里就可以利用TPT強大的腳本評估去實現(xiàn)。TPT的腳本評估使我們徹底擺脫了傳統(tǒng)時間域上的評估,轉(zhuǎn)向了復(fù)用性、自適應(yīng)性更強的邏輯評估方式,同時也便于我們對模型和測試工程的debug。

對于Stateflow的評估,我們同樣采用了“圍點打援”的思路,先用正則表達(dá)式regexp定位至Normal狀態(tài),然后篩選出高壓故障區(qū)間進行評估。

poYBAGLnPbSAXBUeAADx3_iOhjA070.png

Normal跳轉(zhuǎn)至Off_Err評估腳本

篇幅所限,這里只給大家介紹了一個簡單Stateflow模型的測試方法,對于多層嵌套、含調(diào)度模塊、復(fù)雜跳轉(zhuǎn)條件、延遲邏輯等復(fù)雜模型,都可以在此基礎(chǔ)上進行擴展。如果大家測試過程中存在疑問,歡迎留言評論哦。

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • TPT
    TPT
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    6949
收藏 人收藏

    評論

    相關(guān)推薦

    動態(tài)追溯方法:徹底革新軟件測試

    動態(tài)追溯方法為解決軟件開發(fā)中追溯的挑戰(zhàn)提供了創(chuàng)新的解決方案。通過自動和動態(tài)地鏈接需求和測試用例,使測試過程顯著提高效率和精確度。該方法減少了手工操作,改善了故障分析,并確保了持續(xù)的追溯
    的頭像 發(fā)表于 07-05 17:40 ?267次閱讀
    <b class='flag-5'>動態(tài)</b>追溯方法:徹底革新軟件<b class='flag-5'>測試</b>

    TPT 20自動化全面升級,讓測試擁有更多選擇

    作者|昱佳小編|不吃豬頭肉前言隨著汽車電子技術(shù)的不斷發(fā)展和普及,汽車電子系統(tǒng)的復(fù)雜度不斷增加,對汽車電子系統(tǒng)的測試要求也越來越高,傳統(tǒng)的測試方法已經(jīng)無法滿足對系統(tǒng)功能和性能的全面測試需求。TP
    的頭像 發(fā)表于 06-20 08:25 ?161次閱讀
    <b class='flag-5'>TPT</b> 20自動化全面升級,讓<b class='flag-5'>測試</b>擁有更多選擇

    中控流程工業(yè)首款A(yù)I時序大模型TPT發(fā)布

    點燃AI引擎,打造工業(yè)應(yīng)用新范式? 杭州2024年6月7日?/美通社/ --?6月5日,由中控技術(shù)傾力打造的流程工業(yè)首款A(yù)I時序大模型TPT(Time-series Pre-trained
    的頭像 發(fā)表于 06-07 14:23 ?350次閱讀
    中控流程工業(yè)首款A(yù)I時序大模型<b class='flag-5'>TPT</b>發(fā)布

    TPT中通過不同的變量組合自動生成測試用例,極大提高測試效率#Simulink

    軟件TPT
    北匯信息POLELINK
    發(fā)布于 :2024年03月09日 09:44:15

    TPT測試用例自動生成工具箱TASMO,自動生成Simulink模型測試用例#simulink

    軟件TPT
    北匯信息POLELINK
    發(fā)布于 :2024年03月09日 09:40:12

    TPT中按照條件來篩選區(qū)間進行Simulink模型測試評估的方法#Siumlink模型測試 #TPT

    模型TPT
    北匯信息POLELINK
    發(fā)布于 :2024年03月01日 19:10:05

    常用的變頻器檢測方法靜態(tài)測試動態(tài)測試

    常用的變頻器檢測方法靜態(tài)測試動態(tài)測試? 變頻器是一種電力調(diào)節(jié)裝置,可以實現(xiàn)對電動機的調(diào)速和節(jié)能。在使用變頻器時,經(jīng)常需要對其進行檢測,以確保其正常工作。常用的變頻器檢測方法主要包括靜態(tài)測試
    的頭像 發(fā)表于 02-01 15:47 ?3530次閱讀

    思瑞浦汽車級LIN收發(fā)器全家族產(chǎn)品TPT1021Q、TPT1022Q、TPT1024Q

    聚焦高性能模擬芯片和嵌入式處理器的半導(dǎo)體公司--思瑞浦,發(fā)布汽車級LIN收發(fā)器——TPT102xQ系列產(chǎn)品(TPT1021Q、TPT1022Q、TPT1024Q)。
    的頭像 發(fā)表于 01-03 15:04 ?606次閱讀
    思瑞浦汽車級LIN收發(fā)器全家族產(chǎn)品<b class='flag-5'>TPT</b>1021Q、<b class='flag-5'>TPT</b>1022Q、<b class='flag-5'>TPT</b>1024Q

    電源負(fù)載動態(tài)響應(yīng)測試方法

    電源負(fù)載動態(tài)響應(yīng)測試方法? 電源負(fù)載動態(tài)響應(yīng)測試是電源測試中的一個重要環(huán)節(jié),它可以評估電源在工作狀態(tài)下對負(fù)載變化的響應(yīng)能力。本文將詳細(xì)介紹電
    的頭像 發(fā)表于 12-19 13:47 ?1906次閱讀

    IGBT動態(tài)測試參數(shù)有哪些?

    IGBT動態(tài)測試參數(shù)有哪些? IGBT(Insulated Gate Bipolar Transistor)是一種重要的功率半導(dǎo)體器件,廣泛應(yīng)用于各種高能效的電力電子設(shè)備中。為了保證IGBT的可靠性
    的頭像 發(fā)表于 11-10 15:33 ?1552次閱讀

    TPT自動生成測試用例

    測試數(shù)據(jù)中分離激勵是完全自動化測試數(shù)據(jù)生成的推動者。通過對期望的全面描述,您可以創(chuàng)建任何場景(通過測試數(shù)據(jù))并及時檢測問題。 TPT插件TASMO是迄今為止最受
    的頭像 發(fā)表于 11-06 17:30 ?732次閱讀
    <b class='flag-5'>TPT</b>自動生成<b class='flag-5'>測試</b>用例

    使用TPT進行云測試TPT與AGSOTEC合作的案例導(dǎo)讀

    汽車行業(yè)正在經(jīng)歷一場快速的變革,這是由汽車軟件的進步所推動的。隨著汽車軟件的不斷發(fā)展,廣泛的測試對于確保車輛的安全和質(zhì)量至關(guān)重要。然而,執(zhí)行測試可能需要大量的計算且耗費時間。為了應(yīng)對這一挑戰(zhàn),我們與AGSOTEC合作實施了基于云的測試
    的頭像 發(fā)表于 11-06 17:27 ?644次閱讀
    使用<b class='flag-5'>TPT</b>進行云<b class='flag-5'>測試</b>:<b class='flag-5'>TPT</b>與AGSOTEC合作的案例導(dǎo)讀

    如何實施符合功能安全及ASPICE要求的模型動態(tài)測試——TPT Workshop邀請函

    2023年11月14日,我們將在北匯信息上海總部再次舉辦題為“如何實施符合功能安全及ASPICE要求的模型動態(tài)測試”的TPT Workshop活動,誠邀各位新老客戶朋友參加,前來共同交流探討!
    的頭像 發(fā)表于 11-03 14:36 ?279次閱讀
    如何實施符合功能安全及ASPICE要求的模型<b class='flag-5'>動態(tài)</b><b class='flag-5'>測試</b>——<b class='flag-5'>TPT</b> Workshop邀請函

    IGBT模塊測試:重要動態(tài)測試參數(shù)介紹

    IGBT是如今被廣泛應(yīng)用的一款新型復(fù)合電子器件,而IGBT測試也變的尤為重要,其中動態(tài)測試參數(shù)是IGBT模塊測試一項重要內(nèi)容,IGBT動態(tài)
    的頭像 發(fā)表于 10-09 15:14 ?1321次閱讀
    IGBT模塊<b class='flag-5'>測試</b>:重要<b class='flag-5'>動態(tài)</b><b class='flag-5'>測試</b>參數(shù)介紹