版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、TPT中脚本评估正确打开方式(上):强大的内置函数库前言TPT作为一款功能强大的嵌入式软件测试工具,覆盖MiL、SiL、PiL、HiL、ViL等全阶段的测试过程,将测试执行到测试报告生成的所有步骤实现自动化,大大提高我们做软件测试的效率。TPT之所以在嵌入式测试中如此高效,少不了其脚本评估这个特色功能的支撑,今天我就带领大家来了解一下TPT中脚本这个特性。您将在本文及后续文章了解到的:通过TPT脚本对任意时间的信号行为进行检查的方法TPT脚本中对信号进行处理以及读写的方法通过TPT脚本对测试需求、测试报告等内容进行管理的方法TPT脚本与Python标准库、扩展库、MATLAB、以及其它外部软件
2、的交互方案TPT脚本的封装、集成以及团队管理方案TPT脚本评估的语法构成TPT内TPT内置函数PT脚本评估TPT中的脚本由三个方面组成,分别是Python基本语法、TPT内置函数以及MATLAB等其它程序的接口。首先TPT脚本的语法框架是基于Python2.7的,所以我们可以在TPT中使用Python2.7中的绝大部分语法特性,比如说Python中的选择语句、循环语句等流程控制语法,列表、元组、字典等数据结构,甚至我们还可以使用Python中的函数、类等语法结构。如下图所示,我们使用上述语法,对信号状态进行判断,同时建立了一个对信号图像进行设置的函数。18101113131415iiIT-Ia
3、”HTi曲j0兀Mint,qnhWlae18101113131415iiIT-Ia”HTi曲j0兀Mint,qnhWlae:piint-etheraod-e-rttinm班jiphiu水H)apliic)除了基础的Python语法框架,TPT针对嵌入式软件测试的特点,提供了一套强大的函数库,覆盖到测试的方方面面。从评估区间查找到信号行为检查,从测试需求管理到测试报告设置,我们都可以通过调用一两个函数去完成。这种用简单几行脚本就完成一个复杂测试步骤的能力,是其它大部分测试软件所没有的。除了这些特点之外,TPT脚本还提供了与MATLAB等其它工具的交互接口,比如,我们可以使用M语言进行数据处理,这
4、无疑大大提升了工具的使用范畴。使用TPT脚本进行信号评估使用TPT使用TPT脚本进行信号行为检查的完整流程如下图所示,通过这个流程我们就可以实现对几乎所有测试场景的评估。声明评估变量就和大部分的编程语言一样,编写程序的第一步就是变量的声明,TPT提供了如下表所示的多种变量的声明:TPT.Intl6()TPTJntl6X()TPT.Double()TPT.DoubleX()TPT.Boolean。PT.BooleanX()TPT.Floatf)TPT.FloatX()这些评估变量和标准的Python变量有着本质的区别,Python变量都是和时间无关的标量,而这些TPT变量是建立在时间域上的,它们
5、的值随时间变化而变化。TPT在脚本中之所以做出这样的区别,是为了能让变量更好的表示信号的实际情况。如下图所示,我们首先声明了一个TPT评估变量,之后把一个开关信号赋值给这个评估变量,之后方便我们对信号进行进一步的操作。light_switch_O=TPT.DoubleX()light_swiich_011):二二gh请itch同其它的编程语言一样,我们可以把多个值组成列表、矩阵等数据结构,TPT提供了列表、矩阵类型的评估变量的声明,如下图所示:arr=.?T.DoubleArra/X(2)arr10(t):-_ight_switcharrll(t):=_igt_intensity此图中我们就声
6、明了一个列表形式的评估变量,并给列表中的两个元素赋了开关和光强两个不同类型的信号。通过这样的列表形式的评估变量的使用,方便了我们对多个评估变量的声明。假如我们的项目工程中有多个作用类似的信号,我们不妨考虑使用列表形式的评估变量来处理它们,这样可以使评估整洁又便利。目标信号获取我们在声明了丁丁评估变量之后,就可以去获取评估中需要用到的信号,比如说待检查信号、参考信号、辅助信号等等。这些信号的获取方式也是十分丰富的,可以从tpt工程以及MATLAB模型中获取,可以从各类文件中加载,也可以从信号运算结果中获取。从TPT工程中直接获取就不用说了,直接输入信号名称就可以了,今天我们来看看后两种方式TPT
7、支持用.tptbin、.mdf、.mat、.csv等多种格式对信号进行读写,如下图所示:F工口要科塔的支件三出行号rtenTiRrrtir4()rec,4业IUl曲工_帮dtxh)ec-.iJdtlLehT_ui*ftsny)IOr:r-ec.r11eRNftrdrC;广电的s/in1他自41州加一位也ipiblJ)lit.*r11eRt-ioid(Cr/Useis/sunll/Ileskliip/re-corinst)rc.wi-nePe-ccird(Cr/Users/sun】i/Ddkt砥,ieer&sdf”it-ee.vriieRrtordCC:/Use:w/tunli加一蚣TBfrHw
8、dLcsfJ电西岭hprunujailiisunknoea1st:prun-tiT-e日国H/full:广。日娴文件中的信号Kitdi=TFT.IntlfiOtry:rea.dLrcPT.raijeiQard(C:/Uscrs/sijnEi/De-sktop/rMqrdtpthtn)-VKtpt:就齿,fallto-Tpenthefilenlse.-Jleadsii-full/sritchZ=rffia.d_r#c.ect(liEht_sitch)我们可以用excel或MATLAB中去定义信号,然后再用TPT去读取这些信号,这无疑方便了TPT和各种工具之间的数据交互。有时候我们想要的信号是原信
9、号数学处理之后的结果,针对这种情况,TPT也内置了多种信号处理的函数,比如说积分、微分、滤波、两信号时域求差等等。通过这些信号处理函数,我们可以轻松的得到各种我们想要的信号。如下图所示,我们通过deviation。这个函数的调用,得到了一条新的信号,这条信号的值是两个输入信号在时域上的差值。viation计算两个信号之间的差值dev_test=TPKDouble:;()dev_rest(T;=TFT.d?.iaTiuntsint)tcosft1,0,01)筛选时间区间我们在检查信号行为之前,首先要确定要检查的时间点,这点是很多测试工具的痛点。它们一般让测试工程师直接指定要检查的时间点,但是有时
10、候我们想要检查的时间点是无法直接用数值来给定的,我们很多情况下是要检查某种状况下的信号行为。TPT在时间区间的筛选上是比较强大的,内置多个时间筛选函数,帮助我们快速的确定一个或多个时间点或时间段。这些函数中最有亮点的就是regexp()这个时间匹配函数。这个函数是RegularExpression这个词组的缩写,看到这里大家应该就明白了,这个函数使用的正是大名鼎鼎的正则表达式。正则表达式的历史可以追溯到二十世纪五十年代,它被多种系统以及编程语言广泛使用,是上个世纪计算机领域的一项重要成就。我们经常用正则表达式去搜索匹配一些字符串,TPT创新地将这种方法运用在时间匹配上面,大大提高了我们时间筛选
11、的效率。TPT.regexp(c(t)=3c(t)=5?c(t)=4)如上图所示,这个正则表达式就匹配了首先信号的值等于3,接着值选择性的等于5,最后等于4这样一段信号。例如34或354这样的时间区间。可以想到,假如我们想要直接去找这样一段信号是极为困难的,但正则表达式帮助我们轻松的匹配到了,这就是正则表达式的优势所在。假如您是正则表达式的高手,那么在复杂的时间区间中去找待评估的时间段对您来说是轻而易举,因为TPT中的正则表达式的特性和标准正则表达式的特性几乎相同,下图就是TPT中的正则表达式的元素。+定义一个表达式满足匹配?定义一个表达式满足匹配04友一n至少持续的时间n,m至少.至多持续的
12、时间丸匹配一个时间段的开始位置$匹$匹除了regexp()这个函数外,TPT还内置了其它许多时间匹配的函数,帮助您快速地匹配时间区间。比如说trigger()函数通过信号上升沿和下降沿去匹配时间区间,Interval。通过指定时间点去匹配时间区间等等,这些特性您可以在TPT脚本中去感受探索。信号行为检查我们在匹配到了待检测的时间段之后,接着就是对这个时间段的信号行为进行检查,去评判信号的变化是否符合我们的预期,这也决定了被测系统对应部分的功能是否满足我们的需求。这个环节无疑是测试中很重要的一部分,所以TPT提供了丰富的信号检查函数,帮助我们轻松的评判信号的行为。这些检查函数可以去评判一个表达式
13、的正确性,也可以去检查一个信号是否处于某个区间,甚至可以帮助我们检查两个信号的相似程度。下面我们就来看几个较为典型的例子。我们在测试中最简单、最常用的是checkAlways()和assertAlways()这两个函数,如下图所示。这两个函数会直接检查待检查表达式的正确性,并根据检查结果决定与之链接的测试用例的通过与否。还有一个值得一提的是oe函数,如下图所示,这个函数可以根据参考信号生成一个误差带,之后检查目标信号是否在误差带范围之类。这个函数的应用场景也是很多的,比如我们在做back-to-back如我们在做back-to-back测试的时候,需要将两次的信号进行对比,这时候我们就可以用到
14、这个函数。originalsignalreferencesignalhosereturnvaluesofthehosefunction下期预告在本篇文章中,我们介绍了TPT脚本的语法构成以及使用它进行测试评估的方法。在下篇文章中,我们将介绍其它的扩展部分,其中包括有:使用TPT脚本进行测试需求管理、测试报告管理;TPT脚本与其它库与软件的交互与集成;TPT脚本的封装与管理等等。相信通过下篇的阅读,您能通过TPT轻松地解决测试中的一些相关难点。PikeTec公司是全球知名的基于模型的嵌入式系统测试工具TPT的软件供应商,总部位于德国柏林,其创始人均在戴姆勒公司拥有十多年的软件测试经验。TPT产品曾被评为200
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年怀化市教育局直属学校公开招聘教育部直属师范大学公费师范毕业生备考题库及答案详解参考
- 2026届黑龙江省孙吴县第一中学语文高三上期末质量检测模拟试题含解析
- 2025年区块链技术在金融领域的应用项目可行性研究报告
- 2025年高效节能照明系统改造可行性研究报告
- 2025年农业无人机市场前景与可行性研究报告
- 改造翻修合同范本
- 挂具买卖合同范本
- 国际旅游合同范本
- 商场物流合同范本
- 垃圾清理合同范本
- 2025年云南省人民检察院聘用制书记员招聘(22人)备考笔试题库及答案解析
- 2026届四川凉山州高三高考一模数学试卷试题(含答案详解)
- 银行党支部书记2025年抓基层党建工作述职报告
- 肿瘤标志物的分类
- 2025山西忻州市原平市招聘社区专职工作人员50人考试历年真题汇编附答案解析
- 中药煎煮知识与服用方法
- 2026东莞银行秋季校园招聘备考题库及答案详解(基础+提升)
- 消防水泵房管理制度及操作规程
- 野战军生存课件
- 《民航概论》期末考试复习题库(附答案)
- 2025年学校工会工作总结范文(5篇)
评论
0/150
提交评论