掌桥专利:专业的专利平台
掌桥专利
首页

一种串口设备测试系统和方法

文献发布时间:2024-04-18 20:00:50


一种串口设备测试系统和方法

技术领域

本申请涉及串口测试的技术领域,尤其是涉及一种串口设备测试系统和方法。

背景技术

目前,串口设备的测试过程中,每次测试都需要手工查看计算机的串口资源,确定目标设备的串口号,并且对测试功能的改动依赖专业开发人员的专业知识,需要开发人员对每个串口的协议编程进行解析,效率低下,测试功能改动门槛高,对此情况有待进一步改善。

发明内容

为了解决现有的串口设备测试效率低下,测试功能改动门槛高的问题,本申请提供一种串口设备测试系统和方法,采用如下的技术方案:

第一方面,本申请提供一种串口设备测试系统,包括如下步骤:

自动扫描模块,用于扫描和检测电脑的当前串口状态,并对与电脑连接的串口设备的串口数据进行收发;

数据比对模块,用于将串口设备返回的串口数据与预设的映射表进行比对,并根据所述比对结果确定串口设备的设备状态;

坐标标记模块,用于处理用户在图像或界面上标记的坐标数据并保存,得到坐标数据文件,所述坐标数据文件用于后续对串口设备进行测试;

配置文件,用于配置所述自动扫描模块、所述数据比对模块和所述坐标标记模块的参数。

通过采用上述技术方案,本申请通过自动扫描模块实现了对串口状态的主动扫描,不需要人工检查,减少了人力成本;通过数据比对模块实现了测试结果的自动判定,无需人工判断设备状态,提高了判定效率,通过坐标标记模块实现了坐标数据的重复使用,减少了重复标记的人工操作时间;配置文件实现了参数修改的灵活性,减少了维护成本、使得非专业人员也能够对参数进行修改,降低了测试功能改动的门槛。

可选的,系统还包括:

映射表自动建立模块,用于自动建立映射表,所述映射表自动建立模块包括:

识别模型获取子模块,用于获取预先建立的串口设备的识别模型;

识别子模块,用于通过摄像头获取串口设备的图像,利用所述识别模型对所述图像进行识别,得到设备型号;

通信协议文档获取子模块,用于根据所述设备型号在产品数据库中获取串口设备对应的通信协议文档;

映射表建立子模块,用于根据所述通信协议文档建立映射表。

通过采用上述技术方案,本申请通过预先建立串口设备的识别模型,通过摄像头获取串口设备的图像,然后输入识别模型中进行识别,得到设备型号,然后根据设备型号获取串口设备的通信协议文档,根据通信协议文档建立映射表,从而实现对映射表的自动建立。

可选的,系统还包括:

串口设备稳定性测试模块,所述串口设备稳定性测试模块用于基于所述自动扫描模块的扫描频率和所述数据比对模块预设的映射表,确定所连接的串口设备的通信稳定性,所述串口设备稳定性测试模块包括:

扫描频率和复杂度获取子模块,用于获取所述自动扫描模块的串口扫描频率和所述数据比对模块的映射表复杂度;

理论中断次数预测子模块,用于将所述串口扫描频率和所述映射表复杂度输入预设的回归模型,预测预设时长内的理论中断次数;

通信稳定性确定子模块,用于获取预设时长内的实测中断次数,若所述实测中断次数高于所述理论中断次数,则确定所述通信稳定性差。

通过采用上述技术方案,本申请通过预先建立串口扫描频率和映射表复杂度对应的回归模型,设置串口设备稳定性测试模块自动通过回归模型预测预设时长内的理论中断次数,与实测中断次数进行对比,确定串口设备的通信稳定性,无需人工进行复杂的压力测试操作,缩短了稳定性测试周期,降低了测试成本。

可选的,所述自动扫描模块包括事件通知子模块,所述事件通知子模块用于在检测电脑串口状态变化时生成生成对应的事件通知。

通过采用上述技术方案,本申请通过事件通知子模块实现了对串口实时状态变化的捕获,及时发现设备连接断开等问题,降低了测试盲区,提高了测试覆盖率。

可选的,所述坐标标记模块包括坐标数据导出子模块,所述坐标数据导出子模块用于导出保存的坐标数据文件。

通过采用上述技术方案,在很多复杂的测试场景中,需要人工标记特定的坐标和区域,然后利用标记的坐标和区域进行测试,例如在图像处理时需要指定一个或多个区域进行处理,在设备可能会检测图像中的特定特征,并返回其位置时需要将实际输出与标记的坐标进行比较,以验证设备的功能;包括一些图形用户界面需要使用标记的坐标点来模拟用户点击;本申请通过坐标数据导出子模块可以导出保存的坐标数据文件,再后续测试时可以直接导入历史坐标数据的结果,而无需人工重新标记坐标,缩短了准备测试用例的时间,加快了迭代测试速度。

可选的,所述配置文件为文本文件,所述配置文件的内容包括串口扫描频率、映射表和坐标标记方式。

可选的,方法还包括提供一用户界面模块,所述用户界面模块用于提供测试操作界面和结果查看界面。

第二方面,本申请提供一种串口设备测试方法,其特征在于,包括如下步骤:

提供一自动扫描模块,所述自动扫描模块用于扫描和检测电脑的当前串口状态,并对与电脑连接的串口设备的串口数据进行收发;

提供一数据比对模块,所述数据比对模块用于将串口设备返回的串口数据与预设的映射表进行比对,并根据所述比对结果确定串口设备的设备状态;

提供一坐标标记模块,所述坐标标记模块用于处理用户在图像或界面上标记的坐标数据并保存,得到坐标数据文件,所述坐标数据文件用于后续测试;

提供一配置文件,所述配置文件用于配置所述自动扫描模块、所述数据比对模块和所述坐标标记模块的参数。

可选的,提供一映射表自动建立子模块,所述映射表自动建立子模块执行如下步骤:

获取预先建立的串口设备的识别模型;

通过摄像头获取串口设备的图像,利用所述识别模型对所述图像进行识别,得到设备型号;

根据所述设备型号在产品数据库中获取串口设备的通信协议文档;

根据所述通信协议文档建立映射表。

可选的,提供一串口设备稳定性测试模块,所述串口设备稳定性测试模块执行如下步骤:

获取所述自动扫描模块的串口扫描频率和所述数据比对模块的映射表复杂度;

将所述串口扫描频率和所述映射表复杂度输入预设的回归模型,预测预设时长内的理论中断次数;

获取预设时长内的实测中断次数,若所述实测中断次数高于所述理论中断次数,则确定所述通信稳定性差。

可选的,所述自动扫描模块包括事件通知子模块,所述事件通知子模块用于在检测电脑串口状态变化时生成生成对应的事件通知。

可选的,所述坐标标记模块包括坐标数据导出子模块,所述坐标数据导出子模块用于导出保存的坐标数据文件。

可选的,所述配置文件为文本文件,所述配置文件的内容包括串口扫描频率、映射表和坐标标记方式。

第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述串口设备测试方法的步骤。

第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述串口设备测试方法的步骤。

综上所述,本申请包括以下至少一种有益技术效果:

1.本申请通过自动扫描模块实现了对串口状态的主动扫描,不需要人工检查,减少了人力成本;通过数据比对模块实现了设备测试结果的自动判定,无需人工判断设备状态,提高了判定效率,通过坐标标记模块实现了坐标数据的重复使用,减少了重复标记的人工操作时间;配置文件实现了参数修改的灵活性,减少了维护成本、使得非专业人员也能够对参数进行修改,降低了测试功能改动的门槛;

2.本申请通过坐标数据导出子模块可以导出保存的坐标数据文件,再后续测试时可以直接导入历史坐标数据的结果,而无需人工重新标记坐标,缩短了准备测试用例的时间,加快了迭代测试速度;

3.本申请通过预先建立串口扫描频率和映射表复杂度对应的回归模型,设置串口设备稳定性测试模块自动通过回归模型预测预设时长内的理论中断次数,与实测中断次数进行对比,确定串口设备的通信稳定性,无需人工进行复杂的压力测试操作,缩短了稳定性测试周期,降低了测试成本。

附图说明

图1是本申请实施例一种串口设备测试方法的一个示例性流程图;

图2是本申请实施例串口设备稳定性测试方法的一个示例性流程图;

图3是本申请实施例串口设备测试系统的模块示意图;

图4是本申请实施例电子设备的内部结构图。

具体实施方式

本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指包含一个或多个所列出项目的任何或所有可能组合。

以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。

现有的串口设备的测试软件开发,需要专业的编程人员,后续对串口设备的测试也需要专业人员对协议编程进行解析,效率低下,测试功能改动的门槛高。

本申请提供一种串口设备测试方法、装置、设备和介质,通过自动扫描模块实现了对串口状态的主动扫描,不需要人工检查,减少了人力成本;通过数据比对模块实现了测试结果的自动判定,无需人工判断设备状态,提高了判定效率,通过坐标标记模块实现了坐标数据的重复使用,减少了重复标记的人工操作时间;配置文件提高了参数修改的灵活性,减少了维护成本、使得非专业人员也能够对参数进行修改,降低了测试功能改动的门槛。

具体的,方法基于Qt的跨平台功能和丰富的库函数提供串口接口,并采用C++语言对业务逻辑进行实现,通过封装自动扫描模块、数据比对模块、坐标标记模块和设置配置文件,实现对串口设备的自动化测试。框架采用静态布局+配置文件方式实现自动扫描模块、数据比对模块、坐标标记模块和配置文件的功能,易于编辑,用户只需编写静态文本文件,就可以实现对封装模块的配置。

下面结合说明书附图对本申请实施例做进一步详细描述。

第一方面,本申请实施例提供一种方法,由电子设备执行,该电子设备可以为服务器也可以为终端设备,其中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。本实施例中,终端设备是电子设备,但并不局限于此,也可以是智能平板、电脑等,该终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制。

参照图1,图1是本申请实施例一种串口设备测试方法的一个示例性流程图。

一种串口设备测试方法,包括如下步骤:

S110、提供一自动扫描模块,用于扫描和检测电脑的当前串口状态,并对与电脑连接的串口设备的串口数据进行收发。

其中,通过调用操作系统的API或第三方库对串口类进行二次封装得到自动扫描模块,实现串口的扫描和检测,以及串口数据的收发。具体的,本申请利用Qt的QSerialPortInfo类进行二次封装,QSerialPortInfo类提供了一种方便的方式来获取系统中可用的串口,同时能够查询串口的各种属性(如设备名称、厂商ID、产品ID等),并检测串口的状态变化。

可选的,自动扫描模块包括事件通知子模块,用于在检测电脑串口状态变化时生成生成对应的事件通知,从而及时发现设备连接断开的问题。

S120、提供一数据比对模块,用于将串口设备返回的串口数据与预设的映射表进行比对,并根据比对结果确定串口设备的设备状态。

其中,预设的映射表包括ID以及ID特征数据的映射关系,用户只需要在txt文本中写好ID以及ID特征数据的映射关系,然后将txt文本名称修改为IDMap.txt,并放入指定的文件夹下即可,软件程序即可自动加载并进行解析。

具体的,对映射关系的定义需要根据设备的通信协议,通信协议定义了设备发送和接收数据的格式和意义,可以从设备制造商获取通信协议的文档,或者在用户手册中进行查找。

映射关系一般包括ID(用于标识数据类型或命令)和与ID关联的特征数据(表示具体的状态或值)。例如,如果通信协议定义了ID"01"表示设备状态,特征数据"ABC"表示正常工作,那么你可以在映射文件中定义"01"对应于"设备状态","ABC"对应于"正常工作"。这样,当程序接收到"01ABC",就可以解析出"设备状态:正常工作"。

通过预设映射表,程序就可以读取并解析这个映射表,然后根据映射关系来解析设备返回的数据。需要注意的是,不同的设备可能有不同的通信协议,因此可能需要不同的映射关系。

在一个可选的实施例中,本申请提供一映射表自动建立模块,用于自动建立映射表。具体的,自动建立方法包括:预先建立串口设备的识别模型;通过摄像头获取串口设备的图像,根据串口设备的图像对设备进行识别,得到设备型号;根据设备型号在产品数据库中获取设备的通信协议文档;根据设备的通信协议文档自动建立映射表。

S130、提供一坐标标记模块,用于处理用户在图像或界面上标记的坐标数据并保存,得到坐标数据文件,坐标文件用于后续对串口设备进行测试。

在很多复杂的测试场景中,需要人工标记特定的坐标和区域,然后利用标记的坐标和区域进行测试,例如在图像处理时需要指定一个或多个区域进行处理,在设备可能会检测图像中的特定特征,并返回其位置时需要将实际输出与标记的坐标进行比较,以验证设备的功能;包括一些图形用户界面需要使用标记的坐标点来模拟用户点击。标记数据的采集需要客户提供测试图片,用户点击指定位置,软件自动计算坐标数据,并进行保存。

具体的,Qt的QGraphicsScene类和QGraphicsView类创建一个坐标系统,QGraphicsItem类可以在坐标系统中添加标记,通过对QGraphicsScene类、QGraphicsView类和QGraphicsItem类的封装得到坐标标记模块。也可以使用其他处理图形和坐标系统的类和函数,进行封装成坐标标记模块。

可选的,坐标标记模块包括坐标数据导出子模块,用于导出保存的坐标数据文件,采取特定的命名并放入指定的文件夹,在后续测试时软件程序自动该命名文件加载并进行解析,从而实现了坐标数据的重复使用,减少了重复标记的人工操作时间。

可选的,本申请还提供一用户界面模块,用于提供测试操作界面和结果查看界面,以使用户在测试操作界面进行坐标标记或查看测试结果。

S140、提供一配置文件,用于配置自动扫描模块、数据比对模块和坐标标记模块的参数。

其中,配置文件为txt文本文件,内容包括串口扫描频率、映射表和坐标标记方式等,便于编辑,降低用户的学习成本。

在一个实施例中,本申请提供一串口设备稳定性测试模块,用于基于自动扫描模块的扫描频率和数据比对模块预设的映射表,确定所连接的串口设备的通信稳定性。

其中,参照图2,图2是本申请实施例串口设备稳定性测试方法的一个示例性流程图。

串口设备稳定性的测试方法包括:

S210、获取自动扫描模块的串口扫描频率和数据比对模块的映射表复杂度。

其中,映射表复杂度根据映射表条目数量、设备状态分辨细密程度、状态组合情况、数据格式种类、数据处理逻辑和可维护性等方面进行综合判断,根据预设的定义标准对映射表复杂度进行定义。

具体的,映射表条目数量是指映射表包含的设备状态条目数量越多,复杂度越高,可以直接以条目数量来表示;状态分辨细密程度是指同一类型状态的细分级别越多,复杂度越高,可以计算单位状态包含的状态量化程度;状态组合情况是指状态之间的组合情况越复杂,难度越大,可以计算状态组合数量级;数据格式种类是指映射表需要处理的数据格式种类越多,复杂度越高,可以统计格式种类数量;数据处理逻辑是指提取状态需要的转换、计算、判断逻辑越复杂,复杂度越高,可以用逻辑门数量等进行表示。可维护性是指映射表配置和扩展越困难,复杂度越高,可以计算界面操作步骤等进行描述。

S220、将串口扫描频率和映射表复杂度输入预设的回归模型,预测预设时长内的理论中断次数。

例如,将归一化后的扫描频率记为x,将归一化后的映射表复杂度记为y;建立中断次数与扫描频率和映射表复杂度的回归模型:中断次数=k1*x+k2*y+z。其中,k1为扫描频率系数,k2为映射表复杂度系数,z为常数项。

具体的,通过在不同速度的扫描频率和不同映射表复杂程度下进行测试,计算参数k1、k2和z,得到回归模型。然后通过将当前扫描频率和当前映射表的复杂程度代入到回归模型中,预设理论中断次数。

S230、获取预设时长内的实测中断次数,若实测中断次数高于理论中断次数,则确定通信稳定性差。

本申请实施例一种串口设备测试方法的实施原理为:通过提供自动扫描模块实现了对串口状态的主动扫描,不需要人工检查,减少了人力成本;通过提供数据比对模块实现了设备测试结果的自动判定,无需人工判断设备状态,提高了判定效率,通过提供坐标标记模块实现了坐标数据的重复使用,减少了重复标记的人工操作时间;提供配置文件实现了参数修改的灵活性,减少了维护成本、使得非专业人员也能够对参数进行修改,降低了测试功能改动的门槛。

第二方面,本申请提供了一种串口设备测试系统,下面结合上述串口设备测试方法,对本申请的串口设备测试系统进行描述。请参阅图3,图3是本申请实施例串口设备测试系统的模块示意图。

一种串口设备测试系统,包括:

自动扫描模块110,用于扫描和检测电脑的当前串口状态,并对与电脑连接的串口设备的串口数据进行收发。

可选的,自动扫描模块110包括事件通知子模块111,用于在检测电脑串口状态变化时生成生成对应的事件通知,从而及时发现设备连接断开的问题。

数据比对模块120,用于将串口设备返回的串口数据与预设的映射表进行比对,并根据比对结果确定串口设备的设备状态。

在一个可选的实施例中,系统还包括映射表自动建立模块210,映射表自动建立模块具体包括:

识别模型获取子模块211、识别子模块212、通信协议文档获取子模块213和映射表建立子模块214,通过预先建立串口设备的识别模型,识别模型获取子模块211获取识别模型,识别子模块212通过摄像头获取串口设备的图像,根据串口设备的图像对设备进行识别,得到设备型号,通信协议文档获取子模块213根据设备型号在产品数据库中获取设备的通信协议文档,映射表建立子模块214根据设备的通信协议文档自动建立映射表。

坐标标记模块130,用于处理用户在图像或界面上标记的坐标数据并保存,得到坐标数据文件,坐标文件用于后续对串口设备进行测试。

可选的,坐标标记模块130包括坐标数据导出子模块131,用于导出保存的坐标数据文件,采取特定的命名并放入指定的文件夹,在后续测试时软件程序自动该命名文件加载并进行解析,从而实现了坐标数据的重复使用,减少了重复标记的人工操作时间。

配置文件140,用于配置自动扫描模块、数据比对模块和坐标标记模块的参数。

可选的,系统还包括用户界面模块150,用于提供测试操作界面和结果查看界面,以使用户在测试操作界面进行坐标标记或查看测试结果。

在一个实施例中,系统还包括串口设备稳定性测试模块310,用于基于自动扫描模块的扫描频率和数据比对模块预设的映射表,确定所连接的串口设备的通信稳定性。

串口设备稳定性测试模块310包括:

扫描频率和复杂度获取子模块311,用于获取所述自动扫描模块的串口扫描频率和所述数据比对模块的映射表复杂度。

其中,映射表复杂度根据映射表条目数量、设备状态分辨细密程度、状态组合情况、数据格式种类、数据处理逻辑和可维护性等方面进行综合判断,根据预设的定义标准对映射表复杂度进行定义。

具体的,映射表条目数量是指映射表包含的设备状态条目数量越多,复杂度越高,可以直接以条目数量来表示;状态分辨细密程度是指同一类型状态的细分级别越多,复杂度越高,可以计算单位状态包含的状态量化程度;状态组合情况是指状态之间的组合情况越复杂,难度越大,可以计算状态组合数量级;数据格式种类是指映射表需要处理的数据格式种类越多,复杂度越高,可以统计格式种类数量;数据处理逻辑是指提取状态需要的转换、计算、判断逻辑越复杂,复杂度越高,可以用逻辑门数量等进行表示。可维护性是指映射表配置和扩展越困难,复杂度越高,可以计算界面操作步骤等进行描述。

理论中断次数预测子模块312,用于将所述串口扫描频率和所述映射表复杂度输入预设的回归模型,预测预设时长内的理论中断次数。

通信稳定性确定子模块313,用于获取预设时长内的实测中断次数,若所述实测中断次数高于所述理论中断次数,则确定所述通信稳定性差。

在一个实施例中,本申请提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图4所示。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储数据。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种串口设备测试方法。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,故:凡依本申请的结构、形状、原理所做的等效变化,均应涵盖于本申请的保护范围之内。

相关技术
  • 具有并行加载-存储的共享便笺式存储器
  • 使用共享便笺式存储器的向量简化
技术分类

06120116542683