0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TPT中脚本评估的使用(下) 测试管理与软件交互

北汇信息POLELINK 2022-07-27 15:29 次阅读

在上篇中,我们讲述了TPT脚本的一些基础操作,例如时间区间筛选、测试评估等等。但是仅仅掌握这些基础的操作是无法满足我们在复杂测试项目中的需求的,在本文中您将了解到TPT脚本的一些高级特性,例如测试管理、脚本封装、与其它软件交互等等。相信在阅读本文之后,您将在TPT脚本使用方面更上一层楼。

文章阅读导图:

poYBAGLg46-Ab4ijAAEMxBg_E3g067.png

使用脚本对需求和报告进行管理

使用脚本进行测试需求管理

在软件测试项目中,测试需求是我们工作的轴心。测试需求不仅是我们编写测试用例与评估的重要依据,同时也是测试工作完成程度的一项重要指标,那么开展测试需求管理工作就是十分重要的了。TPT在脚本中提供了许多强大的函数接口帮助我们进行测试需求的管理,下图就列举了测试需求管理函数库中的一个常用模块——REQUIREMENTS模块的功能。

pYYBAGLg49WAXtnnAACKTodn0MY231.png

我们可以通过checked()对测试需求是否满足进行检查,检查的结果会反映到测试结果之中。

pYYBAGLg4-WAFI8lAABhKHHHDuo515.pngpYYBAGLg4-6ASGJ8AAEIml_p7JQ772.png

之后,我们也可以使用report ()函数将我们的需求满足结果反馈到我们的报告之中。

poYBAGLg4_uAfflxAAEhqmZHwws898.png

使用脚本进行测试报告管理

测试报告基本是我们测试工作的最后的一个环节,也是极为重要的一个环节。一份合理美观的测试报告可以充分的体现测试流程和测试结果,可以将关键的测试数据保存下来。

TPT脚本中提供了充分的接口,让我们按自己的需求将报告定制化。例如我们可以在报告的指定位置添加图像、文章段落、各类信号图像、信号表格等模块,下图脚本就展示了其中一些函数的用法以及执行结果。

poYBAGLg5BuAFRlGAADtg6BffDk507.png

pYYBAGLg5CyAScS7AAA4ePA7XsQ366.png

同时在TPT16中,我们还可以为整个报告添加一些测试总述信息。注意这样的脚本需要在测试执行界面的Global Assessment处编写。如下图所示,我们通过脚本的编写,在测试报告的Over View处添加了图像与段落。

pYYBAGLg5DqAS__mAACPY0dkkPw652.png

pYYBAGLg5ESAcml9AABN31QbdZE015.png

使用TPT脚本与外界程序进行交互

TPT脚本中提供了较为丰富的与外界程序进行交互的接口,我们可以利用这些接口对TPT的功能进行扩展,去实现我们在实际项目中想要达到的效果。

在TPT脚本中调用Python标准库

我们在TPT脚本中可以使用import;from…import…;from…import *等语句导入Python中的标准函数库。由于TPT的Python版本是2.7,所以我们只能使用Python2.7中的标准库,而其它一些扩展库需要通过下文(与扩张库进行交互部分)中介绍的方法导入。

在TPT脚本中调用外部Python脚本

我们可以通过TPT脚本去调用外部的Python脚本,这样可以对我们原有的Python脚本进行复用,实现编写一个脚本在多个评估中使用的效果。

pYYBAGLg5IOAa4tFAABXx_u62vc009.png

如图所示,我们使用include ()这个函数调用了外部的一个脚本,这个脚本在控制台上打印输出一段文字。这个函数类似于C和C++#include这个语法特性,都起到了加载外部文件的作用。

值得注意的是,我们在编写外部脚本的时候要注意其语法特性要满足TPT内部的语法特性,不能使用TPT中不包含的语法特性。

通过TPT脚本与MATLAB进行交互

TPT提供了与MATLAB进行交互的接口,我们可以通过runMScript()函数在MATLAB工作区写入或者读取变量,也可以去执行M语言程序,在MATLAB中对信号进行计算与处理,或者针对不同的测试用例对模型本身进行改变。

poYBAGLg5JuAXVzXAABsN6U3OjU396.png

下图是这个函数的使用示例。首先我们在MATLAB工作区创建了INOUT两个变量,IN是TPT写入MATLAB的变量,OUT是TPT从MATLAB读取的变量。同时TPT把这个函数的第一个参数的内容作为M脚本在MATLAB中执行。这个M脚本的执行结果是赋予OUT信号以IN信号的时域与值域的数值,之后将模型中的AUTO_MODE参数的值置为3。

pYYBAGLg5KeAXCPeAABMz1NeCXM200.png

除此之外,我们还可以用TPT脚本中的setMatlabSettings()函数对MATLAB平台进行设置,让测试环境达到我们的要求。

通过TPT脚本与其它应用程序或Python扩展库进行交互

我们之前在脚本中调用了Python2.7的标准库,那如何在TPT脚本中使用例如numpy、pandas、matplotlib这些较为常用的扩展库呢?TPT的execute()这个函数为我们提供了实现的可能。

我们调用execute()这个函数,TPT就会自动创建一个我们指定的进程,同时TPT解释器会在execute()函数调用语句处暂停,等待外部进程的结束。那么我们就可以通过共享内存的方法,为TPT和外部进程创建一个共同的数据缓存区,通过这个缓存区实现TPT和外部进程的数据交互。外部进程结束后,我们的TPT脚本可以根据其返回的结果来进行下一步的操作,原理如下图所示。

poYBAGLg5L2AFqi-AACAMElSwSs074.png

整个脚本的执行流程是TPT内部进程和外部进程交叉进行的,由于交互的速度很快,所以可以近似于是TPT内部库的调用,整个过程类似于“并发”这种调度方式。

TPT脚本的封装与管理

TPT提供了对脚本进行封装和管理的功能。在一个项目中,有时候我们会有一些重复的计算步骤或者程序流程,这时候我们可以把这些计算步骤封装成函数,需要时我们可以对函数进行调用,简洁了代码提高了效率。

同样的,我们在项目中可能会有一些功能相似或者相互补充的函数,这时候我们可以把这些函数进一步封装,把同类型的函数封装成外部函数库,我们在TPT中可以把这些函数库加载进来,方便我们的调用,加速整个项目流程。

举个简单的例子,如下图所示,我们把绘图和绘表这些固定的脚本步骤封装成了两个函数。通过这两个函数的调用,我们可以轻而易举的添加多个信号的图像或者表格。

pYYBAGLg5NWACSElAADHfglvgPU278.png

同样的,我们假如定义了多个与图形绘制有关的函数,我们可以进一步的把图形绘制的函数归类成一个函数库,步骤如下图所示。这时候我们就可以在多个项目中去使用这个函数库,或者分享给团队成员,提高了代码的复用性。

poYBAGLg5OCADpt3AADxMiMkXn8610.png

我们建立自己的外部函数库也方便我们对工程的管理。把一些固定的步骤标准化,无疑提高了整个团队代码的规范性。同时,我们还可以通过Git或SVN对团队的脚本库进行管理与共享,提高了团队协作性。

毫无疑问,我们需要对TPT脚本进行一定的管理,这在大型测试项目中尤为重要,有管理的脚本比没有管理的脚本要优越很多。

关于PikeTec和北汇信息

PikeTec公司是全球知名的基于模型的嵌入式系统测试工具TPT的软件供应商,总部位于德国柏林,其创始人均在戴姆勒公司拥有十多年的软件测试经验。TPT产品曾被评为2005年戴姆勒最佳创新软件,并在戴姆勒、大众、奥迪、保时捷、通用等汽车整车厂及多家零部件企业(博世、大陆、海拉等)中得到广泛应用,如戴姆勒的多个车型的混合动力汽车的动力总成、电池管理控制器的测试,博世的汽油机和柴油机控制系统测试等。


北汇信息作为PikeTec在中国的独家合作伙伴,致力于帮助中国客户提升嵌入式控制系统的开发效率。目前,TPT已被众多国内知名主机厂和零部件企业认可,在新能源(VCU/BMS/MCU)以及ADAS等领域中被广泛应用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • TPT
    TPT
    +关注

    关注

    0

    文章

    22

    浏览量

    6908
收藏 人收藏

    评论

    相关推荐

    TPT通过不同的变量组合自动生成测试用例,极大提高测试效率#Simulink

    软件TPT
    北汇信息POLELINK
    发布于 :2024年03月09日 09:44:15

    TPT按照条件来筛选区间进行Simulink模型测试评估的方法#Siumlink模型测试 #TPT

    模型TPT
    北汇信息POLELINK
    发布于 :2024年03月01日 19:10:05

    如何在DevOps环境中实施测试用例管理

    由于DevOps 工作流程使用CI/CD 方法进行软件开发,因此您的测试管理工具还应该能够与GitLab 和Jenkins 等CI/CD 工具集成。
    的头像 发表于 01-29 09:30 928次阅读
    如何在DevOps环境中实施<b class='flag-5'>测试</b>用例<b class='flag-5'>管理</b>

    思瑞浦汽车级LIN收发器全家族产品TPT1021Q、TPT1022Q、TPT1024Q

    聚焦高性能模拟芯片和嵌入式处理器的半导体公司--思瑞浦,发布汽车级LIN收发器——TPT102xQ系列产品(TPT1021Q、TPT1022Q、TPT1024Q)。
    的头像 发表于 01-03 15:04 343次阅读
    思瑞浦汽车级LIN收发器全家族产品<b class='flag-5'>TPT</b>1021Q、<b class='flag-5'>TPT</b>1022Q、<b class='flag-5'>TPT</b>1024Q

    CANoe编写CAPL测试脚本的几点思考

    测试脚本的开发人员,需要考虑到测试执行者测试不同控制器时的参数配置。比如不同的网络唤醒条件、不同的网络管理消息、不同的时间参数等等。
    的头像 发表于 01-02 10:42 702次阅读
    CANoe编写CAPL<b class='flag-5'>测试</b><b class='flag-5'>脚本</b>的几点思考

    TestStand基础使用方法知识分享

    TestStand作为一款标准商用测试管理软件,拥有基于图形化的操作界面,具备测试管理软件所要求的测试管理和执行功能,也是NI在自动化测试领域重要的
    的头像 发表于 12-08 13:39 3290次阅读
    TestStand基础使用方法知识分享

    TPT自动生成测试用例

    测试数据中分离激励是完全自动化测试数据生成的推动者。通过对期望的全面描述,您可以创建任何场景(通过测试数据)并及时检测问题。 TPT插件TASMO是迄今为止最受
    的头像 发表于 11-06 17:30 541次阅读
    <b class='flag-5'>TPT</b>自动生成<b class='flag-5'>测试</b>用例

    医院电器设备的安全测试SEAWARD Apollo 600测试

    德国GMC-I集团SEAWARD Apollo 600测试仪,由专业的PATGuard 3测试管理软件提供支持。
    的头像 发表于 08-22 16:49 205次阅读

    蜂鸟e203处理器开源代码恶的Makefile编译脚本测试脚本怎么修改?

    求助蜂鸟e203处理器开源代码恶的Makefile编译脚本测试脚本怎么修改?有没有大佬指点一,万分感谢
    发表于 08-12 06:52

    TPT看汽车测试术语(下)

    作者|冰糖葡萄皮小编|吃不饱上篇我们介绍了被测对象、动态测试测试用例的概念,还提出了如何省时省力评估自动生成的测试用例的话题。事实上TPT
    的头像 发表于 07-31 23:31 646次阅读
    从<b class='flag-5'>TPT</b>看汽车<b class='flag-5'>测试</b>术语(下)

    利用等价类在TPT中进行测试

    在这篇文章中,我们将探讨等价类在用TPT测试过程中的使用,以及它们如何优化测试过程。等价类将值分类为不同的子集,通过从每个类中选择一个具有代表性的值来简化测试过程。
    的头像 发表于 07-06 14:52 355次阅读
    利用等价类在<b class='flag-5'>TPT</b>中进行<b class='flag-5'>测试</b>

    恩智浦NXP i.MX 6ULL评估测试手册(

    、VMware虚拟机等相关软件。本文主要提供评估板的硬件资源测试方法。无特殊说明情况,默认使用USB TO UART1作为调试串口,使用Linux系统启动卡(SD启动模式)启动系统,
    发表于 06-14 14:41

    TPT看汽车测试术语(上)

    ,本文将从一款专业的汽车软件测试工具TPT出发,带大家从实际应用的角度掌握汽车测试术语。01什么是测试对象或被测系统?(SUT,System
    的头像 发表于 06-13 10:45 520次阅读
    从<b class='flag-5'>TPT</b>看汽车<b class='flag-5'>测试</b>术语(上)

    6月14日直播|嵌入式软件测试工具TPT 19新版本来啦!

    TPT是控制软件所有开发阶段的完美测试工具,无论您是单元测试、集成测试还是系统测试
    的头像 发表于 06-12 16:44 503次阅读
    6月14日直播|嵌入式<b class='flag-5'>软件</b><b class='flag-5'>测试</b>工具<b class='flag-5'>TPT</b> 19新版本来啦!