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

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

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

使用TPT完成Stateflow動(dòng)態(tài)測(cè)試

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

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

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

被測(cè)模型

poYBAGLnO_-ANwuWAABv65y4BEE758.png

Fan Management單元模塊

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

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

圍點(diǎn)打援 中心開花

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

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

② Normal跳轉(zhuǎn)至 On_OverTemp

pYYBAGLnPEmAHsBEAAD_vLwIuok328.png

圍點(diǎn)與打援

測(cè)試用例編寫方法

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

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

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

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

pYYBAGLnPIWASVE0AAAvlDVLIBM801.png

進(jìn)入Normal狀態(tài)

pYYBAGLnPJKAdM6bAACkJDeOtUs326.png

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

poYBAGLnPKSAb2DdAADcNpFoHMc343.png

初始狀態(tài)

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

poYBAGLnPLWAFhRRAACOXk-Ng3Q721.png

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

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

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

按照測(cè)試中常用的等價(jià)類劃分方法,對(duì)Fan Management單元模型中的輸入信號(hào)進(jìn)行了等價(jià)類的劃分:

Bool類型:true、false

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

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

風(fēng)扇故障(FanErr)信號(hào):0(無(wú)故障)、1(有故障)

有明確功能閾值的信號(hào):

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

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

poYBAGLnPUGAbSThAADPQ5LrxSM384.png

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

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

poYBAGLnPU6AJakxAADlnvM2was360.png

測(cè)試用例

pYYBAGLnPVyAK6ycAAHiR9cQiH4516.png

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

poYBAGLnPWuADo68AAB7VGbE6h4030.png

跳轉(zhuǎn)條件的Variants

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

pYYBAGLnPX6AOxt7AACuNS4V_Rw887.png

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

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

一招從天而降的掌法--測(cè)試用例自動(dòng)生成

在搭建測(cè)試工程的過(guò)程中,有沒(méi)有一種能減輕測(cè)試工程師的工作量,自動(dòng)生成測(cè)試用例的方案呢?

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

pYYBAGLnPZCAHtV_AAF1U2rI_SA224.png

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

poYBAGLnPaGALzBQAABJDZg0mrI641.png

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

關(guān)于評(píng)估

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

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

poYBAGLnPbSAXBUeAADx3_iOhjA070.png

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

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

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

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

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

    關(guān)注

    0

    文章

    23

    瀏覽量

    6991
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Matlab/Simulink/Stateflow建模開發(fā)及仿真測(cè)試

    matlab 模擬仿真 熟悉Matlab/Simulink/Stateflow建模開發(fā)及仿真測(cè)試,熟悉V模型開發(fā)流程。 熟悉自動(dòng)代碼生成,能夠編寫或者配置自動(dòng)代碼生成腳本。
    發(fā)表于 10-24 17:23

    VS5700動(dòng)態(tài)信號(hào)測(cè)試分析系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《VS5700動(dòng)態(tài)信號(hào)測(cè)試分析系統(tǒng).docx》資料免費(fèi)下載
    發(fā)表于 10-17 13:53 ?0次下載

    使用API Post測(cè)試阿里云物聯(lián)網(wǎng)平臺(tái)動(dòng)態(tài)注冊(cè)

    使用API Post測(cè)試阿里云物聯(lián)網(wǎng)平臺(tái)動(dòng)態(tài)注冊(cè)
    的頭像 發(fā)表于 10-05 19:08 ?303次閱讀
    使用API Post<b class='flag-5'>測(cè)試</b>阿里云物聯(lián)網(wǎng)平臺(tái)<b class='flag-5'>動(dòng)態(tài)</b>注冊(cè)

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

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

    TPT 20自動(dòng)化全面升級(jí),讓測(cè)試擁有更多選擇

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

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

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

    常用的變頻器檢測(cè)方法靜態(tài)測(cè)試動(dòng)態(tài)測(cè)試

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

    SAN的功率動(dòng)態(tài)范圍技術(shù)要求和測(cè)試方法

    今天我們繼續(xù)學(xué)習(xí)SAN的功率動(dòng)態(tài)范圍技術(shù)要求和測(cè)試方法。看上去是功率的測(cè)試,實(shí)則與功率測(cè)量方法并不相同。
    的頭像 發(fā)表于 01-22 09:30 ?1315次閱讀
    SAN的功率<b class='flag-5'>動(dòng)態(tài)</b>范圍技術(shù)要求和<b class='flag-5'>測(cè)試</b>方法

    電源模塊測(cè)試方法分享:如何檢測(cè)電源的動(dòng)態(tài)響應(yīng)能力?

    綜上所述,電源動(dòng)態(tài)響應(yīng)測(cè)試是電源測(cè)試的重要項(xiàng)目之一,用來(lái)評(píng)估電源的響應(yīng)速度、穩(wěn)定性和可靠性,檢測(cè)電源性能和質(zhì)量。動(dòng)態(tài)響應(yīng)測(cè)試需要
    的頭像 發(fā)表于 01-15 16:36 ?1189次閱讀

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

    聚焦高性能模擬芯片和嵌入式處理器的半導(dǎo)體公司--思瑞浦,發(fā)布汽車級(jí)LIN收發(fā)器——TPT102xQ系列產(chǎn)品(TPT1021Q、TPT1022Q、TPT1024Q)。
    的頭像 發(fā)表于 01-03 15:04 ?810次閱讀
    思瑞浦汽車級(jí)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