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

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

3天内不再提示

评估篇 | 单元测试评估也能复用到集成测试?脚本帮你高效评估!

北汇信息POLELINK 2022-12-09 11:16 次阅读


作者:fox

小编:吃不饱


上次我们分享了单元测试用例的复用,单元测试的用例可以复用到集成测试,那单元测试的评估是否也可以复用到集成测试?答案是可以的。


TPT中提供了多种多样的评估方式,其中的脚本评估使我们复用测试评估成为可能。脚本评估,使用的是基于Python的类Python语言,能够实现筛选评估区间,评估输出,报告定制化等功能,是一种非常灵活,使用起来十分方便的评估方式。

通过脚本评估,在某些模型测试中,我们可以将单元测试的评估,也复用到集成测试中。


01

应用场景一:单元测试的测试评估复用到集成测试


针对上次用例篇中的demo模型,我们可以在单元测试时就使用脚本评估来评估整个模型,这里以Cruise Control介绍使用脚本评估来评估计算模块的方法。


一般情况下,对于计算模块我们使用定值来测试评估,为了保证测试的充分性,需要若干组数据,这会导致我们需要多次重复计算过程来得到预期的输出,以完成评估。这是我们在测试计算模块时的痛点,有没有可能通过一些方法来自动化这部分重复的过程?答案是有的!通过脚本评估,我们可以将需求中的计算逻辑复现,以此来实现计算模块的自动化评估。

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

9ef6ef9e-7743-11ed-b116-dac502259ad0.png

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

图1 集成级模型


1.声明评估变量

在脚本评估中声明需要的评估变量,将部分中间计算量赋值给这些评估变量,以方便在后续计算中使用。

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

9f1c5900-7743-11ed-b116-dac502259ad0.png

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

图2 在脚本评估中声明评估变量


2.复现计算逻辑

TPT的脚本评估中内置了很多计算函数,也支持Python基本库中的数学函数,方便我们去复现整个计算逻辑。通过模型中的计算逻辑,使用脚本复现其计算过程。这里以其中一部分逻辑举例介绍,

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

9f4d1bda-7743-11ed-b116-dac502259ad0.png

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

图3 模型计算逻辑及TPT中复现的逻辑


3.评估

使用一个CruiseControl_output的评估变量,将TPT计算出的Cruise Control单元的理论输出值赋值给CruiseControl_output。

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

9f7a8cfa-7743-11ed-b116-dac502259ad0.png

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

图4 模型理论输出值赋值给CruiseControl_output


4.对输出进行验证

在最后使用TPT.assertAlways和TPT.hose两个函数的组合来实现验证模型实际输出是否和理论输出值相等,这样就能检查模型实际输出和需求是否一致,并且能够评估输入的所有组合。两个函数中前者检查表达式的返回值是否为真,后者检查目标信号和参考信号的值是否一致,若一致则返回值为0。所以使用TPT.assertAlways检查TPT.hose的返回值等于0,即可证明模型输出值和理论输出值相等。

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

9fb59430-7743-11ed-b116-dac502259ad0.png

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

图5评估输出


5.将单元测试的评估复用到集成测试

应用上面的方法,将Vehicle这个单元也使用脚本进行评估。这样在进行集成测试时,单元测试阶段的eng_torque将变成Local量。可以将CruiseControl的脚本评估和Vehicle的脚本评估使用这样的语句进行拼接,即可将单元测试的测试评估,复用集成测试。

1)将两个单元的脚本评估复制到集成测试的工程中。

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

9fdd0196-7743-11ed-b116-dac502259ad0.png

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

图6 将单元测试的脚本评估赋值到集成测试的工程


2)将CruiseControl脚本中的评估输出eng_torque的语句注释掉,因为此时该信号变成了Local。

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

a014d300-7743-11ed-b116-dac502259ad0.png

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

图7 注释CruiseControl中的相关语句


3)对于Vehicle单元,输入信号eng_trq变成Local量,是由Cruise Control单元计算得到的。所以在Vehicle的脚本中,将CruiseControl脚本中计算出的eng_torque的值赋值给eng_trq,即可将两部分脚本评估拼接,完成评估的复用。

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

a0426e64-7743-11ed-b116-dac502259ad0.png

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

图8传递参数


4)运行测试用例得到测试结果。从下图中可以看到用例时间为10s,评估区间也是10s且测试通过。

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

a0689670-7743-11ed-b116-dac502259ad0.png

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

图9 集成测试用例的测试结果



02

应用场景二 自定义脚本库


TPT的脚本评估不仅提供了非常多方便我们评估的内置函数,还支持自定义函数库,方便我们自已定义一些个性化的评估函数。这里以饱和模块为例,简述TPT是如何自定义函数库的。


1.编写自定义函数

首先在一个新建的脚本评估中编写我们要定义的函数(主要是方便控制缩进),TPT脚本评估的语法和Python大体类似。

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

a0950b4c-7743-11ed-b116-dac502259ad0.png

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

图10 编写好自定义函数


2.保存文件并修改文件格式

新建txt文本,将编写好的自定义函数复制到该文件中保存,将文件后缀名修改为.tptpy。

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

a0cea672-7743-11ed-b116-dac502259ad0.png

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

图11 保存自定义函数文件


3.在TPT中加载函数库

1)在Preference/General/Assessment Library中添加自定义函数文件的路径。

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

a0fbd958-7743-11ed-b116-dac502259ad0.png

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

图12在Preference/General/Assessment Library添加自定义函数路径


2)在工程的Assessment Library中激活函数库。这样就可以在工程中使用我们刚刚编辑好的函数库中的函数了。

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

a12e4564-7743-11ed-b116-dac502259ad0.png

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

图13 在工程Assessment Library中激活函数库


3)在脚本评估中使用“自定义函数的文件名+.+函数名称”的语法即可调用刚刚自定义好的函数。

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

a1660436-7743-11ed-b116-dac502259ad0.png

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

图14 在脚本评估中是自定义函数


4)使用示例。

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

a18e3bd6-7743-11ed-b116-dac502259ad0.png

9ee95f8c-7743-11ed-b116-dac502259ad0.gif

图15 使用示例及结果

03

总结


本文主要介绍了测试评估从单元测试复用到集成测试和自定义脚本库,这两者同样能帮助我们提升测试时的效率。通过用例复用和评估复用不难发现,TPT在做模型测试时具备巨大的优势,可以通过多种方式提高测试的速度和效率,减少重复的工作。并且TPT支持测试的多个阶段——MiL,SiL,PiL等,能够将同一工程复用到不同的测试阶段,这同样也能提高我们测试的效率!感兴趣的小伙伴快动起来吧!

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

    关注

    0

    文章

    24

    浏览量

    8227
收藏 人收藏

    评论

    相关推荐

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

    性能评估则可以帮助我们了解系统的性能状况,以及系统在何种条件下可以达到最优的性能。通过多通道负载测试和性能评估,我们可以有效地提高系统的性能,提高用户的满意度。 然而,多通道负载测试
    发表于 11-11 16:44

    如何评估智能系统的性能

    评估智能系统的性能是一个复杂而多维的任务,它涉及多个方面和指标。以下是一些关键的评估方法和策略: 一、功能测试 功能测试评估智能系统是否按
    的头像 发表于 10-29 09:49 191次阅读

    3568F-评估测试手册(ARM端)

    Cortex-A55处理器 + 紫光同创Logos-2 PG2L50H/PG2L100H FPGA设计的异构多核国产工业评估板,由核心板和评估底板组成,ARM Cortex-A55处理单元主频高达1.8GHz
    发表于 07-17 11:27

    3562-评估测试手册

    100%,评估底板大部分元器件亦采用国产工业级方案。核心板经过专业的PCBLayout和高低温测试验证,支持选配屏蔽罩,质量稳定可靠,可满足各种工业应用环境要求。 评估板接口资源丰富,引出4路
    发表于 07-17 10:59

    单元测试集成测试自动化工具

    CoverageMaster winAMS : 适用于嵌入式目标机代码的单元测试/集成测试工具 全面支持嵌入式微机!验证嵌入式C/C++软件 实施以模块为单位的自动化单元测试工具 不需
    的头像 发表于 06-26 13:41 387次阅读
    <b class='flag-5'>单元测试</b>、<b class='flag-5'>集成</b><b class='flag-5'>测试</b>自动化工具

    嵌入软件单元测试工具的作用

    嵌入软件单元测试工具是现代软件开发过程中不可或缺的一环。它的作用在于帮助开发人员对软件中的各个单元进行测试,以确保其功能的正确性和稳定性。单元测试是软件开发过程中的一种
    的头像 发表于 04-23 15:31 404次阅读
    嵌入软件<b class='flag-5'>单元测试</b>工具的作用

    如何进行RF PA Ruggedness的测试评估呢?

    关于PA ruggedness设计测试问题,先介绍一下原理,如何进行ruggedness的测试评估
    的头像 发表于 03-27 10:19 2099次阅读
    如何进行RF PA Ruggedness的<b class='flag-5'>测试</b>和<b class='flag-5'>评估</b>呢?

    DC电源模块的安全性能评估测试方法

    BOSHIDA DC电源模块的安全性能评估测试方法 DC电源模块的安全性能评估测试方法应包括以下几个方面:  DC电源模块的安全性能评估
    的头像 发表于 03-08 11:15 639次阅读
    DC电源模块的安全性能<b class='flag-5'>评估</b>与<b class='flag-5'>测试</b>方法

    单元/集成测试服务

    单元/集成测试旨在证明被测软件实现其单元/架构设计规范、证明被测软件不包含非预期功能。经纬恒润测试团队拥有丰富的研发经验、严格的流程管控,依
    的头像 发表于 02-29 13:27 358次阅读
    <b class='flag-5'>单元</b>/<b class='flag-5'>集成</b><b class='flag-5'>测试</b>服务

    TLT507-EVM-评估测试手册

    TLT507-EVM-评估测试手册
    的头像 发表于 01-26 09:27 678次阅读
    TLT507-EVM-<b class='flag-5'>评估</b>板<b class='flag-5'>测试</b>手册

    TL3588-EVM评估测试手册

    TL3588-EVM评估测试手册
    的头像 发表于 01-24 10:27 767次阅读
    TL3588-EVM<b class='flag-5'>评估</b>板<b class='flag-5'>测试</b>手册

    Tessy—嵌入式软件单元测试/集成测试工具

    搭建测试环境、执行测试评估测试结果并生成测试报告。目前Tessy被广泛应用在汽车电子客户中,在V模型开发中,Tessy主要应用在单元测试
    的头像 发表于 01-15 14:39 769次阅读
    Tessy—嵌入式软件<b class='flag-5'>单元测试</b>/<b class='flag-5'>集成</b><b class='flag-5'>测试</b>工具

    五轴按键测试机:精准评估按键性能的利器

    五轴按键测试机:精准评估按键性能的利器
    的头像 发表于 12-26 09:15 520次阅读
    五轴按键<b class='flag-5'>测试</b>机:精准<b class='flag-5'>评估</b>按键性能的利器

    高速ADC的特征测试和生产测试方法评估笔记

    电子发烧友网站提供《高速ADC的特征测试和生产测试方法评估笔记.pdf》资料免费下载
    发表于 11-27 10:28 7次下载
    高速ADC的特征<b class='flag-5'>测试</b>和生产<b class='flag-5'>测试</b>方法<b class='flag-5'>评估</b>笔记

    了解高速DAC测试评估

    电子发烧友网站提供《了解高速DAC测试评估.pdf》资料免费下载
    发表于 11-22 15:07 2次下载
    了解高速DAC<b class='flag-5'>测试</b>和<b class='flag-5'>评估</b>