基于NI_TestStand的智能驾驶自动化测试

汽车产业不断发展的今天,智能驾驶已经成为了汽车中必不可少的一部分。虽然目前真正的无人驾驶技术还未广泛应用于我们的日常生活中,但各式各样的驾驶辅助系统,如碰撞预警、自动刹车、自适应巡航等功能已经在为我们的驾驶员保驾护航。

今天小编就带大家一起来探讨一下基于NI_TestStand的智能驾驶自动化测试问题。

老规矩,先来看看NI-TestStand是个什么神器~

NI-TestStand是什么?

NI TestStand是一款可立即执行的测试管理软件,它可以帮助用户更快地开发自动测试和验证系统,用于组织、控制和执行自动化原型设计、验证或制造测试系统。加入在LabVIEW、LabVIEWs/CVI、Visual C/C++、Visual Basic、.NET和C#中编写的测试程序,使用NI TestStand快速创建测试序列。NI TestStand应用的极为广泛,在我们的汽车测试行业中也是家喻户晓的存在。

NI-TestStand的软件使用

NI TestStand软件架构的中心组件是一个执行引擎,它提供一个开放API接口以方便与其他应用的通信。序列编辑器和操作者界面利用API访问NI TestStand引擎。此外,共有三种用于定义开发环境、运行时环境和执行环境的特性的重要文件类型。

▲ 图一:NI TestStand架构示意图

NI TestStand的功能完全由用户定义。为满足特定需求,我们可自行对其进行功能修正和改进,例如定制操作界面、生成自定义报告或修改序列执行要求等。借助NI TestStand,我们可将精力集中于特殊的测试要求,NI TestStand则管理普通的序列、执行和汇报任务。

▲ 图二:NI TestStand软件界面

我们在TestStand中可以调用不同的模块来进行测试用例的编写,这种调用方式可以使我们编写的测试用例更加灵活,从而实现更多完善细致的功能。如下图所示,可以调用的模块类型包括LabVIEW、LabVIEW/CVI、C++、.NET、Acitive/COM、LabVIEWNXG以及Phython等,除此之外我们还可以使用TestStand自带的语句,多样化的模块和语句的结合可以使我们的测试用例更加全面。

▲ 图三:可添加模块示意图

我们知道,在测试用例的编写中,变量参数是极其重要的。下图就是序列浏览和参数变量浏览窗口。在序列浏览窗口中,我们可以看到编写好的主序列或者一些子序列,其中子序列是可以被调用在主序列中的,这样可以使我们的测试用例更加有层次感和逻辑性。

▲ 图四:图为序列窗口和变量窗口

由于任何自动化系统的开发都不是一步到位的,所以当我们编写好一个测试用例后,势必要对其进行调试和改进。因此TestStand中的调试工具对于加速系统开发也是极其重要的。开发人员可以充分利用各窗口所提供的信息,并结合各种调试工具和不同的调试策略,快速诊断问题所在。在下图中我们可以看到在通过语句与模块的共同使用下编写了一个简单的序列文件,此时该窗口就可以作为执行窗口去对序列文件进行一些执行操作,比如:添加断点,单步执行,交互式执行步骤或改变步骤运行模式等。

▲ 图五:添加了LabVIEW模块的测试用例

对于TestStand的自动化测试来说,最重要的还是与其他软件的结合使用。在我们今天的介绍中还有一个尤为重要的内容就是如何将TestStand与一款功能强大的 复杂交通环境视景建模仿真软件VTD联合使用,构成成熟的自动化测试体系。关于VTD的内容在我们往期的公众号中已经有较为详尽的介绍,所以,下面我们就直接介绍一些联合使用的方式。

NI TestStand与VTD的交互使用

在想要通过TestStand调用VTD之前,我们需要先弄清楚如何对VTD进行调用。我们发现可以用SCP命令对VTD发送指令,从而实现远程控制VTD工作。所以在这里我们还要简单介绍一下SCP命令。

▲ 图六:交互逻辑整体示意图

SCP命令

SCP命令全称是Simulation Control Protocol,即仿真控制协议。它是VTD中基于事件的,用于对VTD进行远程交互的特殊命令集,包括控制和动作命令,以及状态信息的查看。我们可以通将SCP与Python相结合,编写一些脚本程序来对VTD进行动作指令。SCP指令中的关键字与一般的XML指令相似。

▲ 图七:SCP部分指令

在根据相关文档进行好脚本的编译之后,我们便可以进行后续的软件交互内容。除了SCP指令之外,我们还需要认识两个新“朋友”,一位是同样属于NI公司的VeriStand,另一位就是同样负责通信的命令RDB。

VeriStand

VeriStand应用软件用于为NI实时硬件配置I/O通道、数据记录、激励生成和主机通信。 除此之外,我们还可以导入仿真模型和控制算法、配置警报来响应事件。 用户界面在运行时是可编辑的,以便我们监测和控制应用程序数据、警报状态和系统执行指标。虽然使用VeriStand不需要掌握编程知识,但我们也可以使用各种编程软件环境(如LabVIEW、ANSI C/C ++、Python和ASAM XIL)来为VeriStand添加自定义功能。

▲ 图八:VeriStand的软件界面

RDB

RDB全称是Runtime Data Bus,即数据运行总线,它是通过周期性的I/O数据帧,也就是仿真信息,去反馈当前VTD的信息,包括目标信息、环境信息、传感器信息、图像数据等。

▲ 图九:VTD中RDB的使用示例

综上所述,我们可以很清楚的了解VTD与TestStand的交互模型。当我们了解完了基本软件的内容之后我们便可以对其进行连通。首先我们要通过Python编写期望的SCP指令,在编写好脚本文件并确保我们的文件可以指示VTD产生动作后,接下来我们就可以从TestStand里面对Python脚本进行调用。

▲ 图十:调用Python模块示意图

这样我们便初步实现了TestStand对VTD的动作指示。但正如我们所知,如果只是像这样简单的联通是并不能完成我们所期望的自动化测试需求的,所以除了要对VTD发送命令,我们势必还要接收VTD一端返回的命令,从而在TestStand里面对参数变量以及条件进行编写,才能获得一条完整的测试用例。那么如何才能接收到VTD的反馈呢?这就需要用到我们刚才介绍的VeriStand与RDB命令了。

TestStand对VTD的控制

在RDB数据到达VeriStand后,我们可以通过VeriStand对数据进行解析,从而再将解析后的数据传达给我们的TestStand,这样便实现了由VTD到TestStand的交互。

当我们成功实现了由VeriStand接收VTD返回的指令之后我们接下来就要实现VeriStand与TestStand的互联。关于TestStand的灵活性我们已经深有体会了,所以想要实现TestStand与自己的“兄弟”软件——VeriStand的交互对于我们来说也是易如反掌。

我们只需要在TestStand中右键点击Template列表中的任何地方,然后选择“Import”,定位到VeriStand的Template路径,最后点击OK。(注:默认路径一般在C:\Documents and Settings\All Users\Documents\National Instruments\VeriStand\TestStand\NIVeriStand TestStand 4.2 Steps Template.ini)

▲ 图十一:添加了NI VeriStand的模板窗口

这样我们便成功实现了VeriStand的工程的添加,也就基本实现了TestStand与VTD的连通。之后,我们再根据自己的期望去编写不同的测试用例,再通过不断地调试、测验去改善测试用例,保证测试用例的完整性,我们便完成了基本的自动化测试流程。

以上便是如何将TestStand与我们的自动驾驶相关软件进行自动化测试串联的过程,该交互理念与逻辑也适用于其他的软件

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: TestStand是一款由美国National Instruments开发的工业自动化测试管理软件。它可以与各种测试设备和控制系统集成,提供了一个可扩展的框架,便于测试工程师编写、执行和维护测试程序。同时,TestStand还具有丰富的数据管理和报告功能,可帮助用户实时监测测试进度和结果。TestStand被广泛应用于电子、通信、汽车、医疗等多个行业,是测试领域中一款非常重要的软件。此PDF文档介绍了TestStand的使用方法、测试程序的编写与执行、数据管理与报告等内容,是TestStand初学者和进阶者的必备参考资料。通过学习本文档,用户能够更快、更高效地掌握TestStand的使用技巧,为企业产品质量控制和测试流程的改进提供有力的支持。 ### 回答2: TestStand是一款National Instruments(NI)开发的产业自动化测试管理软件,主要用于半导体、电子仪器、机器人、通讯等行业中的测试和测量。该软件提供了高效的测试项目管理和可靠性验证的工具,可建立和管理复杂的测试程序,并精确地获取测试数据。此外,TestStand还支持自定义和配置化,为不同设备和测试环境设置测试程序,可以实现快速开发新的测试应用程序,有效地提高测试质量和生产效率。 TestStand具有一系列功能,如多种语言支持、测试排程和监控、数据管理等,可以帮助用户规划、记录和管理测试过程中的所有操作,实现高效的测试流程和数据收集。除了提供自动化测试的基本功能外,TestStand还可以与其他NI软件和硬件集成,如LabVIEW、DIAdem、NI USRP等,完整的测试和测量解决方案。此外,TestStand还具有丰富的开发工具包,支持用户自定义模块和工具的开发和集成,灵活实用。 总之,TestStand是一款出色的工业自动化测试管理软件,在工程师和测试人员中应用广泛。其自定义功能和丰富的插件使其能够适应不同的测试环境和设备,具有高度的可靠性和稳定性。对于需要自动化测试的企业和工业制造商,TestStand无疑是最佳的选择之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值