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

    文章

    23

    浏览量

    6983
收藏 人收藏

    评论

    相关推荐

    智慧实验室管理平台

    传统的测试管理方式通常依赖于手工记录和分散的系统,测试过程中庞大且复杂的数据容易导致数据不统一、信息不透明、效率低下等问题,从而影响测试结果的准确性和可靠性。此外,测试资源的调度也常常
    的头像 发表于 12-16 16:15 418次阅读
    智慧实验室<b class='flag-5'>管理</b>平台

    多通道负载测试和性能评估

    多通道负载测试和性能评估软件质量保证的重要组成部分,它们可以帮助我们发现和解决系统的性能瓶颈,提高系统的可用性和稳定性。 多通道负载测试是一种模拟多个用户同时访问系统的方法,以检查系
    发表于 11-11 16:44

    AI大模型在智能座舱软件测试的应用与思考

    随着汽车智能化程度的不断提高,传统的车辆功能已经逐渐向复杂的软件系统转型。尤其在智能座舱领域,从多屏交互到增强现实(AR)的广泛应用,各类新技术层出不穷,这也使得软件测试面临着前所未有
    的头像 发表于 10-28 16:49 280次阅读
    AI大模型在智能座舱<b class='flag-5'>软件</b><b class='flag-5'>测试</b><b class='flag-5'>中</b>的应用与思考

    ECU电控软件开发及测试介绍

    本文重点介绍符合AutoSar架构的应用软件开发、MBD开发模式软件质量评估与优化方案、复杂场景的ECU性能压力
    的头像 发表于 09-26 14:25 3348次阅读
    ECU电控<b class='flag-5'>软件</b>开发及<b class='flag-5'>测试</b>介绍

    TPT 20自动化全面升级,让测试拥有更多选择

    作者|昱佳小编|不吃猪头肉前言随着汽车电子技术的不断发展和普及,汽车电子系统的复杂度不断增加,对汽车电子系统的测试要求也越来越高,传统的测试方法已经无法满足对系统功能和性能的全面测试需求。TP
    的头像 发表于 06-20 08:25 255次阅读
    <b class='flag-5'>TPT</b> 20自动化全面升级,让<b class='flag-5'>测试</b>拥有更多选择

    控流程工业首款AI时序大模型TPT发布

    点燃AI引擎,打造工业应用新范式  杭州2024年6月7日 /美通社/ -- 6月5日,由中控技术倾力打造的流程工业首款AI时序大模型TPT(Time-series Pre-trained
    的头像 发表于 06-07 14:23 512次阅读
    <b class='flag-5'>中</b>控流程工业首款AI时序大模型<b class='flag-5'>TPT</b>发布

    接口测试的概念和重点是什么?

    一、接口测试的概念 接口测试是一种软件测试方法,主要用于验证软件系统之间的交互是否符合预期。在现
    的头像 发表于 05-30 15:08 715次阅读

    性能测试的实现方法是什么

    性能测试是一种评估软件系统在不同负载性能表现的测试方法。它可以帮助开发团队发现性能瓶颈,优化系统性能,确保
    的头像 发表于 05-29 15:44 622次阅读

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

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

    TPT测试用例自动生成工具箱TASMO,自动生成Simulink模型测试用例#simulink

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

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

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

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

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

    IZYTRONIQ测试软件介绍——管理测试设备数据库

    一款完整的用于管理和记录测试过程的数据库软件IZYTRONIQ
    的头像 发表于 01-11 11:11 412次阅读
    IZYTRONIQ<b class='flag-5'>测试</b><b class='flag-5'>软件</b>介绍——<b class='flag-5'>管理</b><b class='flag-5'>测试</b>设备数据库

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

    聚焦高性能模拟芯片和嵌入式处理器的半导体公司--思瑞浦,发布汽车级LIN收发器——TPT102xQ系列产品(TPT1021Q、TPT1022Q、TPT1024Q)。
    的头像 发表于 01-03 15:04 807次阅读
    思瑞浦汽车级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 2083次阅读
    CANoe编写CAPL<b class='flag-5'>测试</b><b class='flag-5'>脚本</b>的几点思考