Labview项目01:标准可配置序列测试框架

项目目标:

1)使用Labview基础开发环境开发一个标准可配置测试框架;

2)可以根据自己的需求编写测试序列;

3)单步测试功能可自主添加编写;

4)界面可以实现基本配置,修改测试序列功能;

5)有权限管理功能;

根据上面的需求,编写了下面的测试框架,测试序列较为简单,有延时、预定值输出、生成随机值输出等功能,并能对最终的结果有整体判断和结果输出,执行结果如下:

运行环境:

Labview 2020(32位)

1.1 界面设计

界面设计的思维导图如下:

1.1.1 主界面

1个表格控件------显示每个测试序列结果;

1个布尔控件------显示OK和NG;

1个字符串显示控件------显示运行状态;

1个数据簇------用于计数;

1个清除按钮------用于清除计数;

1.1.2 调试界面

2个多列列表框------1个显示加载的序列、1个显示调试的序列;

10个按钮------用于加载序列、选择单个序列、选择全部序列、添加序列、删除选定序列等功能;

1.1.3 设置界面

1个路径控件------加载测试序列路径;

1.1.4 登录界面

1个下拉列表------显示账户信息;

1个字符串输入框------用于输入密码;

2个按钮------登录和登出;

1个字符串显示控制------显示登录状态;

1.2 程序设计

程序设计流程图:

1.2.1 整体程序

如下图所示,这是Main程序的程序框图,右边是将所有的控件引用集合到一个簇中,用于程序的控件的操作。右上是事件结构,用于控件的触发事件。右下是用于PLC或者其他IO模块输入触发信号用。中间的子VI用于整个测试程序的功能实现方法。

1.2.2 初始化程序

1)QueueInit.vi

创建队列,以及控件初始化

2)MainEvent.vi

MainEvent中有两个队列:Main和Steps,Main队列主要用于处理控件的事件触发。Steps队列用于处理测试执行流程。

3)MenuButtonChange.vi

改vi用于处理主界面切换功能,初始化的时候切换到首页。

4)Read ini.vi

该子vi用于读取密码和测试序列文件路径。

5)MainInit.vi

该子vi用于控件的初始化。

6)InitSteps.vi

用于测试结果控件初始化。

1.2.3 调试测试序列程序

1)LoadSteps

从序列文件中读取到ListSteps控件中。

2)Select

将ListSteps中的选中行添加到DebugSeps列表框中。

3)SelectAll

将ListSteps列表框中所有行添加到DebugSeps列表框中。

4)AddLine

添加一行测试序列。

5)RemoveLine

移除掉选定的那一行。

6)UpSteps

引用DebugStepsUp.vi

DebugStepsUp.vi内容,功能是向上移动一行。

7)DownSteps

引用DebugStepsDown.vi

DebugStepsDown.vi内容,功能是向下移动一行。

8)Delete

删除一行。

9)Empty

清空DebugSteps列表框中数据。

10)Debug

DebugStart.vi中内容,触发自动测试功能。具体自动测试流程可以参考后续的1.2.4节

1.2.4 自动测试程序

自动测试流程图如下:

1)ReadInput

在下面GetSts分支中添加读外部IO的程序,如果有一个上上升沿就会触发Start事件。

2)Start分支

在Steps队列中的Start分支调用StepsStart.vi

StepsStart.vi中如果停止的话,恢复状态。

StepsStart.vi中读取测试序列,如果是非0行,赋测试状态,执行Auto分支。

3)Auto分支

在Steps队列中的Auto分支调用AutoSteps.vi

AutoSteps.vi判断是否是最后一步,如果不是调用CallVI.vi

CallVI.vi用于解析指令,如果指令是A_**.vi就执行A分支中的程序。

如果指令是N_**.vi就执行N分支中的程序。

1.3 使用流程

使用流程图如下,分为四步:

1.3.1 编写测试vi

在项目文件中的StepVI文件夹下新建测试vi,格式为A_**.vi和N_**.vi。

其中,A_**.vi是没有输出和判断的序列,N_**.vi有测试结果和判断的序列。

1)范例A_Delay.vi

根据输入第一个参数分解出延时时间,进行延时。

2)范例N_Random.vi

根据输入第一参数,产生0~参数的随机数,然后根据上下限进行判断。

1.3.2 编写测试序列

1)在界面上设置测试序列文件路径

2)打开CSV文件

添加测试序列,其中

StepName:根据自己需求编写,对程序执行没有影响;

CallVI:这个是调用的子vi,需要和自己编写的子vi名称相同;

NotShowOnUI:是否在主界面上显示结果,1为不显示;

LowerLimit:N_**.vi的判断下限;

UpperLimit:N_**.vi的判断上限;

UNITS:单位;

Param1~10:输入参数,在测试子vi中使用,预设最多10个参数;

设置完成后,保存。

1.3.3 调试测试序列

在Debug界面可以调试测试序列,添加、删除、修改等功能。修改完成后可以使用Debug按钮测试修改结果。

双击想要修改的序列,即可弹出修改框,然后进行修改。

1.4 运行

调试完成后,点击Start按钮,即可在主界面看到按照测试序列一步一向下执行,最终会出现测试结果。

该项目是一个用于测试的通用项目,可以作为参考学习项目也可以作为正真的实用项目。

相关推荐
芦苇电子5 小时前
【LABVIEW软件】NI-VISA模块安装教程
labview
测试老哥2 天前
如何编写好测试用例?
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
川石课堂软件测试2 天前
什么是BUG,你对BUG的了解有多少?
android·linux·服务器·python·功能测试·bug·安全性测试
程序员小远3 天前
银行测试:第三方支付平台业务流,功能/性能/安全测试方法
自动化测试·软件测试·python·功能测试·测试工具·性能测试·安全性测试
xuyuan19983 天前
修复1个Bug,引爆3个新Bug?回归测试的智慧
功能测试·测试用例·bug
LabVIEW开发3 天前
LabVIEW的XY Graph掩码创建
labview·labview功能
qq_340474023 天前
6.0 Labview中的类面向对象编程-类的使用(OOP)
labview·class的使用·labview的oop编程
程序员小远4 天前
常用的测试用例
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
LabVIEW开发4 天前
LabVIEW运行时快捷菜单创建
labview·labview知识·labview功能·labview程序