T P T作为一款功能强大的嵌入式软件测试工具,覆盖MiL、SiL、PiL、HiL、ViL等全阶段的测试过程,将测试执行到测试报告生成的所有步骤实现自动化,大大提高我们做软件测试的效率。TPT之所以在嵌入式测试中如此高效,少不了其脚本评估这个特色功能的支撑,今天就带领大家来了解一下TPT中脚本这个特性。
TPT中脚本评估的使用(上):强大的内置函数库
您将在本文及后续文章了解到的
〄通过TPT脚本对任意时间的信号行为进行检查的方法
〄TPT脚本中对信号进行处理以及读写的方法
〄通过TPT脚本对测试需求、测试报告等内容进行管理的方法
〄TPT脚本与Python标准库、扩展库、MATLAB、以及其它外部软件的交互方案
〄TPT脚本的封装、集成以及团队管理方案
01
TPT脚本评估的语法构成
TPT中的脚本由三方面组成,分别是Python基本语法、TPT内置函数以及MATLAB等其它程序的接口。
这种用简单几行脚本就完成一个复杂测试步骤的能力,是其它大部分测试软件所没有的。
除了这些特点之外,TPT脚本还提供了与MATLAB等其它工具的交互接口,比如,我们可以使用M语言进行数据处理,这无疑大大提升了工具的使用范畴。
02
使用TPT脚本进行信号评估
使用TPT脚本进行信号行为检查的完整流程如下图所示,通过这个流程我们就可以实现对几乎所有测试场景的评估。
㋛
声明评估变量
就和大部分的编程语言一样,编写程序的第一步就是变量的声明,TPT提供了如下表所示的多种变量的声明:
这些评估变量和标准的Python变量有着本质的区别,Python变量都是和时间无关的标量,而这些TPT变量是建立在时间域上的,它们的值随时间变化而变化。
㋛
目标信号获取
我们在声明了TPT评估变量之后,就可以去获取评估中需要用到的信号,比如说待检查信号、参考信号、辅助信号等等。这些信号的获取方式也是十分丰富的,可以从TPT工程以及MATLAB模型中获取,可以从各类文件中加载,也可以从信号运算结果中获取。从TPT工程中直接获取就不用说了,直接输入信号名称就可以了,今天我们来看看后两种方式。
㋛
筛选时间区间
我们在检查信号行为之前,首先要确定要检查的时间点,这点是很多测试工具的痛点。它们一般让测试工程师直接指定要检查的时间点,但是有时候我们想要检查的时间点是无法直接用数值来给定的,我们很多情况下是要检查某种状况下的信号行为。
表达式元素
*定义一个表达式满足匹配0-n次
+定义一个表达式满足匹配1-n次
?定义一个表达式满足匹配0-1次
^匹配一个时间段的开始位置
$匹配一个时间段的结束位置
{n,m}至少、至多持续的时间
{n}至少持续的时间
除了regexp()这个函数外,TPT还内置了其它许多时间匹配的函数,帮助您快速地匹配时间区间。比如说trigger()函数通过信号上升沿和下降沿去匹配时间区间,Interval()通过指定时间点去匹配时间区间等等,这些特性您可以在TPT脚本中去感受探索。
㋛
信号行为检查
我们在匹配到了待检测的时间段之后,接着就是对这个时间段的信号行为进行检查,去评判信号的变化是否符合我们的预期,这也决定了被测系统对应部分的功能是否满足我们的需求。
还有一个值得一提的是hose()函数,如下图所示,这个函数可以根据参考信号生成一个误差带,之后检查目标信号是否在误差带范围之类。这个函数的应用场景也是很多的,比如我们在做back-to-back测试的时候,需要将两次的信号进行对比,这时候我们就可以用到这个函数。
03
下期预告
PikeTec公司是全球知名的基于模型的嵌入式系统测试工具TPT的软件供应商,总部位于德国柏林,其创始人均在戴姆勒公司拥有十多年的软件测试经验。TPT产品曾被评为2005年戴姆勒最佳创新软件,并在戴姆勒、大众、奥迪、保时捷、通用等汽车整车厂及多家零部件企业(博世、大陆、海拉等)中得到广泛应用,如戴姆勒的多个车型的混合动力汽车的动力总成、电池管理控制器的测试,博世的汽油机和柴油机控制系统测试等。
﹀
﹀
﹀
如何符合E-NCAP测试规范?TPT让AEB场景测试更简单
TPT Autotester|高效快捷的车辆在环ViL测试工具
震惊!虚拟场景仿真测试还能这么玩
微信ID:Polelink_Info