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

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

3天内不再提示

通过TestStand三种主要运行方式探究TestStand开放式架构

华穗科技 来源:华穗科技 2024-01-19 17:34 次阅读

一、三种运行方式的区别

c00824dc-b6a3-11ee-8b88-92fbcf53809c.png

在这张图中,我们可以看到三种主要运行方式分别是”Test UUTs”、”Single Pass”、”Run MainSequence”。大家不妨先尝试一下看看同一个序列文件用三种运行方式运行有什么可以直接看出的区别。

最显著的区别,使用Test UUTs时连续测试不同的UUT并且在测试结束时会弹出测试结果弹窗如下图所示。

c01ac2e0-b6a3-11ee-8b88-92fbcf53809c.png

c02c7486-b6a3-11ee-8b88-92fbcf53809c.png

这不同于Single Pass,Single Pass没有序列号弹窗和测试结果弹窗,它只会将整个序列文件完整执行一遍并生成测试报告。两者都会将序列文件完整的执行一遍并生成测试报表来显示测试结果,而与两者不同的是Run MainSequence,这种运行方式只会运行序列文件中的主序列并且不会生成报表。 需要知道内在的区别并探究TestStand开放式架构我们需要引入三个概念:过程模型、执行入口点以及回调序列。

二、过程模型

作为标准自动化测试系统的最上层,测试管理软件需要提供模块化的测试框架,而在TestStand中,这个测试框架被称为过程模型,而采用过程模型的序列文件被称为客户端序列文件。回顾一下我们在上一篇讲到的自动化测试组成,测试软件分为测试程序和测试框架。在过程模型中会有很多的通用操作,我们可以理解为过程模型将框架定义好,并预留位置给客户端序列,对于开发人员而言只需要写这一部分即可。

c03c487a-b6a3-11ee-8b88-92fbcf53809c.png

在使用过程模型之后,在启动测试后,TestStand就能够按照过程模型定义好的顺序来执行序列文件TestStand将很多通用操作直接提供给开发人员,如序列号追踪、流程控制、报表生成、数据存储等等。也就是说TestStand已经帮助我们将这些通用操作已经准备好了,不需要我们去自己再去做这些功能的步骤。我们只需要完成测试系统需要的额外的步骤比如需要的各种测试项,可以使用在第一章中讲到的一些测试步骤完成。这些我们自定义的步骤组成了客户端序列MainSequence。过程模型其实很简单,它的根本还是一个序列文件,它将各种通用操作和自定义操作以可自定义的顺序组合在一起。TestStand提供了三种过程模型:顺序过程模型、并行过程模型、批量过程模型。其中后两种具有并行测试的作用,并行测试在后续的章节中我们会讲到.

如果想要对过程模型进行自定义,可以打开TestStand后在菜单栏中选择Edit->Sequence File Properties打开序列文件属性窗口,在”Advance”中设置类型为Model就创建了新的过程模型如下图所示。

c04f60ae-b6a3-11ee-8b88-92fbcf53809c.png

提示:如果序列文件使用的是顺序过程模型,在TestStand的最下方状态栏中会显示Model:SequentialModel.seq,双击即可打开顺序过程模型文件,其他两种过程模型也是类似的。

c066a930-b6a3-11ee-8b88-92fbcf53809c.png

三、执行入口点

执行入口点为用户提供了一种方式,可运用过程模型执行其测试代码。默认的TestStand过程模型提供两个执行入口点,即Test UUTs和Single Pass。每个入口点都在过程模型序列文件的序列中实现。在序列编辑器中,当活动窗口包含使用过程模型的序列文件时,“执行”(Execute)菜单将列出执行入口点。过程模型定义了测试框架和常用操作。

在实际应用中,不同的项目中包含的通用操作以及通用操作之间的执行顺序都有不同的要求,因此每次都要修改过程模型,或者创建新的流程模型,随着时间的推移,过程模型会越来越多。为了避免这个问题,TestStand引入了执行入口点的概念。

c0786166-b6a3-11ee-8b88-92fbcf53809c.png

观察上图,我们发现执行入口点A和执行入口点B两者的区别就是通用操作2和客户端序列MainSequence执行的顺序不同。而执行入口A和执行入口C两者区别在于执行入口C将通用操作1和客户端序列MainSequence自定义形成了一个循环。因此选择不同的执行入口点并不会改变操作,而只将它们按不同应用程序的需求的顺序重新排列。

现在回想Single Pass和Test UUTs就明白了它们其实就是同一个过程模型的两种不同执行入口点,Test UUTs其实将需要的通用操作和特定操作形成了一个循环,所以会连续测试不同的UUT,而Single Pass只按顺序完整运行一遍,就是这个道理。

四、回调序列

执行入口点允许我们定义自己的序列执行风格,但是执行入口点中包含的一般操作是预定义的,可能需要我们更改默认功能。以Test UUT为例,我们需要先输入测试序列号,但在实际生产线上可能会被条码枪直接扫描,不需要人工输入,这就需要修改或重写序列号输入这个通用操作。我们能想到的最直接的方法是直接在入口点修改通用操作,但如果产品升级或完全更新,这些通用操作需要不断更改以适应新产品,越改越多,系统维护就变得特别困难。为了避免这种情况,TestStand引入了回调序列。

TestStand将经常被修改的通用操作改为回调序列。每个回调序列都有一个定义的默认函数,但可以被客户端序列文件覆盖。如下图所示,在执行入口点中定义了三个回调序列,在客户端序列MainSequence中回调序列1和3在序列文件中被覆盖。

当TestStand执行过程模型框架中的每个回调序列时,它检查回调序列是否已被客户端序列文件覆盖。如果是,则执行客户端序列文件中的定义,否则执行默认操作。这允许自定义常见操作,并且大部分工作也放在客户端序列文件中,从而减少了修改流程模型和执行入口点的需要。

c08dd258-b6a3-11ee-8b88-92fbcf53809c.png

五、内容总结

从一开始的三种主要运行方式到过程模型、执行入口点以及回调序列,通过这三个不同层次的接口,TestStand就这样将其开放式架构一步步展现出来。

在这一章节,我们从三种主要运行方式出发,以较为理论的视角通过过程模型、执行入口点以及回调序列逐步了解了TestStand的系统与架构。简单总结一下,过程模型同样由TestStand引擎支撑,序列文件也由TestStand引擎支撑,但是如果不使用过程模型,那么只会执行该序列文件包含的步骤,如果使用了过程模型,则会按照过程模型设定的方式进行序列文件的执行,并包含一系列通用操作,如生成报告、结果分析等,方便我们更好地使用TestStand。







审核编辑:刘清

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

    关注

    5

    文章

    896

    浏览量

    50586
  • UUT
    UUT
    +关注

    关注

    0

    文章

    7

    浏览量

    19024
  • TestStand
    +关注

    关注

    4

    文章

    5

    浏览量

    11039

原文标题:知识分享 | 通过TestStand三种主要运行方式探究TestStand开放式架构

文章出处:【微信号:华穗科技,微信公众号:华穗科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    谁有TestStand的教程啊!初学TestStand求助啊!!!

    谁有TestStand的教程啊!初学TestStand求助啊!!!
    发表于 03-11 21:21

    teststand 中的一个例子

    对于Teststand I 中的一个例子 Exercise 4-4 中 ,如果是CPU 的型号是三种,或是三种以上.改如何修改下列语句?Locals.CPUtype= ((Step.Result.ButtonHit==2)? "
    发表于 07-13 22:01

    teststand&labview /CVI使用初步教程

    teststand&labview /CVI使用初步教程主要包括两个教程Using LabVIEW with TestStandUsing LabWindows/CVI with TestStand
    发表于 09-03 10:37

    安装多个teststand版本,如何切换?

    我先装了Labview2012和Teststand2014,发现无法打开Teststand的自带的例程,显示labview版本低了,然后我又装了Teststand2012来和Labview匹配,可是
    发表于 12-26 13:10

    请教一个关于Teststand调用LABVIEW程序的问题

    目前我在用TESTSTAND软件进行测试程序编写,其中有一步是要调用LABVIEW VI程序的值,是要用teststand API吗?另外在运行TESTSTAND时候,能否就直接打开L
    发表于 08-13 15:27

    分享一个关于在TestStand中,无法直接编辑和创建新的VI的解决办法

    TestStand在默认情况下,每一个Step中的VI是无法直接在TestStand中直接编辑的,主要是因为labview适配器,没有在开发模式环境下运行,附件以实例的
    发表于 08-23 23:20

    Teststand问题

    \National Instruments\TestStand 2016 (64-bit)\Examples\Common\LabVIEW Dev Load Test.vi' in the LabVIEW
    发表于 01-16 16:59

    打开Teststand2016后关闭再打开Teststand2010报错×

    电脑上安装了Teststand2016后打开Teststand2010后就报错,求大神指导怎么切换Teststand的版本。谢谢!
    发表于 03-20 23:23

    基于NI TestStand和LabVIEW的模块化测试软件架构

    前期投资成本及维护成本来降低测试系统成本,同时增加设备和代码的重用率通过硬件抽象层降低硬件折旧的风险设计高效的模块化测试系统需要的架构是能够分离出测试系统(图1)的不同组成部分--主要是将测试代码
    发表于 04-08 09:42

    TestStand和LabVIEW软件架构

    编辑器和操作者界面利用API访问NI TestStand引擎。此外,共有三种用于定义开发环境、运行时环境和执行环境的特性的重要文件类型。TestStand完成哪些工作:NI
    发表于 04-15 09:40

    NI TestStand介绍

    的中心组件是一个执行引擎,它提供一个开放API接口以方便与其他应用的通信。序列编辑器和操作者界面利用API访问NI TestStand引擎。此外,共有三种用于定义开发环境、运行时环境和
    发表于 05-06 09:26

    关于TestStand自带用户界面无法正常运行的问题解决经验分享!

    了生成.exe快捷方式,然后TestStand自带用户界面无法正常运行,报错,报表也没有了,只能运行主序列的情况下,如图2中 1号位缺少控件,2号位程无效状态,处理方法:1.确认下多线
    发表于 04-08 18:56

    teststand 怎么打包程序?打包好的程序,安装后在哪运行

    teststand 怎么打包程序?打包好的程序,安装后在哪运行
    发表于 02-14 16:20

    TestStand基础1(NI官方培训教材)

    TestStand官方培训教材保密资料,非常好
    发表于 06-16 17:24 0次下载

    使用TestStand仿真LabView教程资料分享

    在使用TestStand进行自动化测试中,需要用到仿真测试,这里用LabView举例。如果LabView中没有用到TestStand的话还好,仿真用LabView就可以了。但是涉及到Teststand的话,那就只能使用
    发表于 04-23 11:47 263次下载
    使用<b class='flag-5'>TestStand</b>仿真LabView教程资料分享