CN114816980A - 一种嵌入式通信系统用自动测试装置及方法 - Google Patents
一种嵌入式通信系统用自动测试装置及方法 Download PDFInfo
- Publication number
- CN114816980A CN114816980A CN202210108864.XA CN202210108864A CN114816980A CN 114816980 A CN114816980 A CN 114816980A CN 202210108864 A CN202210108864 A CN 202210108864A CN 114816980 A CN114816980 A CN 114816980A
- Authority
- CN
- China
- Prior art keywords
- test
- data
- interface
- protocol
- tested
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公布了一种嵌入式通信系统用自动测试装置,包括上位机和下位机,下位机与上位机通过以太网连接,下位机与被测的嵌入式通信系统通过数据总线直接连接;本发明还公布了一种嵌入式通信系统用自动测试方法。通过捕获被测嵌入式系统接口数据,自动构建数据交互流程、生成测试用例序列、自动执行并记录测试结果,最终生成测试报告,解决了嵌入式系统测试领域人工构建数据交互流程存在的问题,实现了嵌入式系统的自动化测试,增强测试过程稳定性和可靠性,从而提高了测试效率和覆盖率。
Description
技术领域
本发明涉及自动化测试技术领域,具体涉及一种嵌入式通信系统用自动测试装置及方法。
背景技术
目前,航空、航天、汽车、通信等综合电子系统大多由嵌入式系统组成,其功能控制、数据交联大多采用总线通信模式。
上述领域对嵌入式系统测试大多利用半实物仿真系统对总线数据进行构建、模拟被测系统外围设备与被测系统通信,对被测嵌入式系统注入控制数据,同时监测和观察被测系统输出数据。但上述半实物仿真测试系统往往缺乏对总线数据交互流程的模拟能力,且不具备对测试结果进行分析的能力,实际应用中,通常通过人工方式完成数据交互流程开发、异常测试数据构建、和测试结果分析,该方式存在以下显著问题:
1、当前系统越来越复杂,通过人工构建数据交互流程很难覆盖所有的使用场景,导致低概率缺陷很容易被遗漏;
2、测试内容在每一轮测试中具有一定的机械性和重复性,人工测试工作量往往较大;
3、如果需要在较短时间内完成大量测试数据,手工测试几乎不可能做到;
4、对于被测系统在既定数据要求之外出现的冗余数据,难以被有效捕捉。
鉴于上述情况,有必要设计一种自动构建数据交互流程,基于交互流程自动设计并执行测试用例、判定测试结果的嵌入式系统测试方法和装置。
发明内容
本发明针对上述人工构建数据交互流程、设计测试数据存在的问题,提出一种嵌入式通信系统自动测试装置及方法,在被测嵌入式系统实际使用场景下,捕获被测嵌入式系统接口数据,自动构建数据收发流程、生成测试用例序列、自动执行并记录测试结果,从而解决上述嵌入式系统测试存在的问题,实现嵌入式系统测试自动化,增强测试过程稳定性和可靠性的目的。
为了达到上述目的,本发明采用以下技术方案予以解决。
(一)一种嵌入式通信系统用自动测试装置,包括:上位机、下位机,所述下位机与上位机通过以太网连接,所述下位机与被测的嵌入式通信系统通过数据总线直接连接。
所述上位机,用于建立测试任务,所述测试任务包括任务参数和测试参数;所述任务参数用于测试报告生成,所述测试参数用于测试用例生成。
所述上位机接口协议按照“被测的嵌入式系统外部交联接口、配制接口协议、规定的封装形式配制协议数据”三层架构进行配置。
所述下位机,用于测试参数的数据捕获和添加时间戳,并将测试参数的数据发送至上位机进行运行。
所述上位机,用于根据所述被测的嵌入式通信系统运行完所述测试参数的数据后,形成接口数据交互列表,同时生成接口数据交互流程图;用于测试参数的接口数据交互过程核验通过后,依据对当前所述测试任务的覆盖率要求,按照配置的接口协议,自动生成测试用例和执行序列,并保存至数据库。
所述下位机,用于在被测的嵌入式通信系统测试用例运行过程中,实时捕获被测嵌入式系统的接口输入数据和接口输出数据,分别添加时间戳,发送至上位机。
所述上位机,用于解析测试结果;用于生成测试报告。
进一步的,所述上位机包含:数据层、业务层、显示层、接口层。
所述数据层,包括项目配制数据库,接口协议数据库,测试用例数据库,测试结果数据库。
所述项目配制数据库,用于建立测试任务,包括配制任务参数和配置测试参数;所述任务参数包括任务标识、任务名称;所述测试参数,包括测试场景名称、测试覆盖率要求。
所述接口协议数据库用于配置被测的嵌入式系统外部交联接口,配置接口协议,并按照规定封装形式配置协议数据;所述上位机配置被测的嵌入式系统外部交联接口,包括接口标识、接口名称、接口方向、接口类型;所述配置接口协议,包括协议标识、协议名称;所述规定封装形式配置协议数据,包括数据序号、数据属性、数据长度、数据语义、数据类型、数据范围和数据精度。
所述测试用例数据库用于存储测试用例数据。
所述测试结果数据库用于存储测试结果数据。
所述业务层包含,接口数据交互流程解析模块,测试用例生成模块,测试装置管理模块,接口数据解析模块,测试结果分析模块,测试报告生成模块。
所述接口数据交互流程解析模块用于所述测试参数在被测的嵌入式通信系统运行结束后,上位机提取从下位机传递的包含时间戳信息的接收数据,按照时间先后顺序对数据进行排序,并计算协议间时间间隔,排序完成后依据配置的接口协议封装,对每条协议内容进行解析,解析完成后形成接口数据交互列表,同时生成接口数据交互流程图,然后进行核验。
所述测试用例生成模块用于测试参数接口数据交互过程核验通过后,依据对当前任务测试的覆盖率要求,上位机按照配置的协议数据,自动生成测试用例和执行序列,并保存至数据库;测试用例包括以下字段:用例标识、用例名称、用例说明、测试约束、测试输入、预期输出、实际输出、测试结论。序列中数据存储形式为<执行序号,数据源,数据目标,数据内容,偏移时间>。
所述测试装置管理模块用于管理测试数据的输入和输出。
所述接口数据解析模块用于提取测试用例运行完成后包含时间戳信息的数据,按照时间先后顺序对数据进行排序,并计算协议间时间间隔,排序完成后依据所配置的接口协议封装,对每条协议内容进行解析,将原始数据填入测试用例实际输出字段,与预期输出进行比对,实际输出与预期输出一致时,测试结论字段为Pass,否则为Fail。
所述测试结果分析模块用于解析测试结果。
所述测试报告生成模块用于生成测试报告。
所述显示层包含项目显示模块,接口协议显示模块,接口数据交互流程显示模块,接口数据显示模块,测试状态显示模块,测试结果显示模块。
所述项目显示模块,用于显示测试任务项目的详细信息。
所述接口协议显示模块,用于显示测试任务的接口协议。
所述接口数据交互流程显示模块,用于形成接口数据交互列表,同时生成接口数据交互流程图。
所述接口数据显示模块,用于显示所述下位机从所述上位机捕获的接口数据以及所述上位机从所述下位机提取经所述被测的嵌入式系统运行后的接口数据。
所述测试状态显示模块,用于显示测试任务运行的工作状态。
所述测试结果显示模块,用于显示测试任务的测试结果。
进一步的,所述下位机包括:业务层、驱动层、接口层。
所述业务层包含包括数据收发模块和添加时间戳模块。
所述数据收发模块,用于实时捕获被测的嵌入式通信系统接口输入数据、输出数据。
所述添加时间戳模块,用于给捕获的输入数据和输出数据分别添加时间戳。
所述驱动层包括接口驱动模块和测试执行驱动模块。
所述接口驱动模块,用于驱动下位机接口层各个接口与被测的嵌入式通信系统连接并运行。
所述测试执行驱动模块,用于将测试用例和执行序列加载至下位机测试执行驱动模块运行。
所述接口层包含CAN接口、RS485卡接口、RS422卡接口、1553B总线卡接口、ARINC429卡接口、USB接口、以太网接口。
(二)一种嵌入式通信系统用自动测试方法,包括以下步骤:
步骤1.建立测试
在上位机上建立测试任务,配置任务参数,包括任务标识、任务名称;上位机配置测试参数,包括测试场景名称、测试覆盖率要求;上位机配置接口协议,上位机配置被测嵌入式系统外部交联接口,包括接口标识、接口名称、接口方向、接口类型;配置接口协议,包括协议标识、协议名称;按照规定封装形式配置协议数据,包括数据序号、数据属性、数据长度、数据语义、数据类型、数据范围和数据精度;
步骤2.运行测试场景
设置下位机与被测嵌入式系统接口方向为输入,按测试场景名称的测试场景运行被测嵌入式系统,下位机实时捕获被测嵌入式系统接口输入数据和接口输出数据,分别添加时间戳,发送至上位机;
步骤3.核验被测场景接口数据交互过程
测试场景运行结束后,上位机从下位机提取被测的嵌入式系统运行后的包含时间戳信息的测试场景数据,按照时间先后顺序对数据进行排序,并计算协议间时间间隔,排序完成后依据所述步骤1配置的接口协议封装,对每条协议内容进行解析,解析完成后形成接口数据交互列表,同时生成示接口数据交互流程图,辅助接口设计人员人工核验其正确性和完整性;
步骤4.生成数据库
被测场景接口数据交互过程核验通过后,依据步骤1中对当前任务测试覆盖率要求,上位机按照步骤1的配置协议数据,自动生成测试用例和执行序列,并保存至数据库;测试用例包括以下字段:用例标识、用例名称、用例说明、测试约束、测试输入、预期输出、实际输出、测试结论;
步骤5.进行测试
从上位机将数据库中的测试用例和执行序列加载至下位机测试执行驱动模块运行;测试用例运行过程中,下位机实时捕获被测嵌入式系统接口输入输出数据,添加时间戳,发送至上位机;
步骤6.上位机从下位机提取被测的嵌入式系统运行后的包含时间戳信息的测试用例数据,按照时间先后顺序对数据进行排序,并计算协议间时间间隔,排序完成后依据步骤1配置的接口协议封装,对每条协议内容进行解析,将原始数据填入测试用例实际输出字段,与预期输出进行比对,实际输出与预期输出一致时,测试结论通过字段为Pass,否则不通过字段为Fail;测试结束后,上位机按规定格式自动生成测试报告。
和现有技术相比,本发明本方法基于使用场景捕获数据,自动分析生成被测嵌入式系统接口数据交互流程图,验证是否正确实现接口设计,无数据冗余或遗漏。解决了人工验证方式不直观、不充分的问题,提高了接口验证的正确性和完整性;解决了人工构建数据交互流程工作量大、易遗漏的问题,提高了应用场景覆盖完整性和工作效率;提高了测试覆盖率和设计效率;提升测试效率;被测嵌入式系统发生版本迭代的情况下,只要接口未发生变更,本方法和装置生成的测试用例可直接用于回归测试并自动化运行,避免了重复测试设计和执行的工作量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为嵌入式系统自动测试方法流程图;
图2为整体架构示意图;
图3为上位机架构示意图;
图4为下位机架构示意图
图5为一种实施例中任务建立配置示意图
图6为一种实施例中接口协议架构示意图
图7为一种实施例中接口协议示例表
图8为一种实施例中接口数据交互列表
图9为一种实施例中接口数据交互流程图
具体实施方式
为了使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施方式的限制。
(一)一种嵌入式通信系统用自动测试装置,其特征在于,所述自动测试装置包括:上位机、下位机,所述下位机与上位机通过以太网连接,所述下位机与被测的嵌入式通信系统通过数据总线直接连接。
所述上位机,用于建立测试任务,所述测试任务包括任务参数和测试参数;所述任务参数用于测试报告生成,所述测试参数用于测试用例生成。
所述上位机接口协议按照“被测的嵌入式系统外部交联接口、配制接口协议、规定的封装形式配制协议数据”三层架构进行配置。
所述下位机,用于测试参数的数据捕获和添加时间戳,并将测试参数的数据发送至上位机进行运行。
所述上位机,用于根据所述被测的嵌入式通信系统运行完所述测试参数的数据后,形成接口数据交互列表,同时生成接口数据交互流程图;用于测试参数的接口数据交互过程核验通过后,依据对当前所述测试任务的覆盖率要求,按照配置的接口协议,自动生成测试用例和执行序列,并保存至数据库。
所述下位机,用于在被测的嵌入式通信系统测试用例运行过程中,实时捕获被测嵌入式系统的接口输入数据和接口输出数据,分别添加时间戳,发送至上位机。
所述上位机,用于解析测试结果;用于生成测试报告。
进一步的,所述上位机包含:数据层、业务层、显示层、接口层。
所述数据层,包括项目配制数据库,接口协议数据库,测试用例数据库,测试结果数据库。
所述项目配制数据库,用于建立测试任务,包括配制任务参数和配置测试参数;所述任务参数包括任务标识、任务名称;所述测试参数,包括测试场景名称、测试覆盖率要求。
所述接口协议数据库用于配置被测的嵌入式系统外部交联接口,配置接口协议,并按照规定封装形式配置协议数据;所述上位机配置被测的嵌入式系统外部交联接口,包括接口标识、接口名称、接口方向、接口类型;所述配置接口协议,包括协议标识、协议名称;所述规定封装形式配置协议数据,包括数据序号、数据属性、数据长度、数据语义、数据类型、数据范围和数据精度。
所述测试用例数据库用于存储测试用例数据。
所述测试结果数据库用于存储测试结果数据。
所述业务层包含,接口数据交互流程解析模块,测试用例生成模块,测试装置管理模块,接口数据解析模块,测试结果分析模块,测试报告生成模块。
所述接口数据交互流程解析模块用于所述测试参数在被测的嵌入式通信系统运行结束后,上位机提取从下位机传递的包含时间戳信息的接收数据,按照时间先后顺序对数据进行排序,并计算协议间时间间隔,排序完成后依据配置的接口协议封装,对每条协议内容进行解析,解析完成后形成接口数据交互列表,同时生成接口数据交互流程图,然后进行核验。
所述测试用例生成模块用于测试参数接口数据交互过程核验通过后,依据对当前任务测试的覆盖率要求,上位机按照配置的协议数据,自动生成测试用例和执行序列,并保存至数据库;测试用例包括以下字段:用例标识、用例名称、用例说明、测试约束、测试输入、预期输出、实际输出、测试结论。序列中数据存储形式为<执行序号,数据源,数据目标,数据内容,偏移时间>。
所述测试装置管理模块用于管理测试数据的输入和输出。
所述接口数据解析模块用于提取测试用例运行完成后包含时间戳信息的数据,按照时间先后顺序对数据进行排序,并计算协议间时间间隔,排序完成后依据所配置的接口协议封装,对每条协议内容进行解析,将原始数据填入测试用例实际输出字段,与预期输出进行比对,实际输出与预期输出一致时,测试结论字段为Pass,否则为Fail。
所述测试结果分析模块用于解析测试结果。
所述测试报告生成模块用于生成测试报告。
所述显示层包含项目显示模块,接口协议显示模块,接口数据交互流程显示模块,接口数据显示模块,测试状态显示模块,测试结果显示模块。
所述项目显示模块,用于显示测试任务项目的详细信息。
所述接口协议显示模块,用于显示测试任务的接口协议。
所述接口数据交互流程显示模块,用于形成接口数据交互列表,同时生成接口数据交互流程图。
所述接口数据显示模块,用于显示所述下位机从所述上位机捕获的接口数据以及所述上位机从所述下位机提取经所述被测的嵌入式系统运行后的接口数据。
所述测试状态显示模块,用于显示测试任务运行的工作状态。
所述测试结果显示模块,用于显示测试任务的测试结果。
进一步的,所述下位机包括:业务层、驱动层、接口层。
所述业务层包含包括数据收发模块和添加时间戳模块。
所述数据收发模块,用于实时捕获被测的嵌入式通信系统接口输入数据、输出数据。
所述添加时间戳模块,用于给捕获的输入数据和输出数据分别添加时间戳;
所述驱动层包括接口驱动模块和测试执行驱动模块。
所述接口驱动模块,用于驱动下位机接口层各个接口与被测的嵌入式通信系统连接并运行。
所述测试执行驱动模块,用于将测试用例和执行序列加载至下位机测试执行驱动模块运行。
所述接口层包含CAN接口、RS485卡接口、RS422卡接口、1553B总线卡接口、ARINC429卡接口、USB接口、以太网接口。
(二)一种嵌入式通信系统用自动测试方法,包括以下步骤:
步骤1.建立测试,在上位机上建立测试任务,配置任务参数,包括任务标识、任务名称;上位机配置测试参数,包括测试场景名称、测试覆盖率要求;上位机配置接口协议,上位机配置被测嵌入式系统外部交联接口,包括接口标识、接口名称、接口方向、接口类型;配置接口协议,包括协议标识、协议名称;按照规定封装形式配置协议数据,包括数据序号、数据属性、数据长度、数据语义、数据类型、数据范围和数据精度;
步骤2.运行测试场景,设置下位机与被测嵌入式系统接口方向为输入,按测试场景名称的测试场景运行被测嵌入式系统,下位机实时捕获被测嵌入式系统接口输入数据和接口输出数据,分别添加时间戳,发送至上位机;
步骤3.核验被测场景接口数据交互过程,测试场景运行结束后,上位机从下位机提取被测的嵌入式系统运行后的包含时间戳信息的测试场景数据,按照时间先后顺序对数据进行排序,并计算协议间时间间隔,排序完成后依据所述步骤1配置的接口协议封装,对每条协议内容进行解析,解析完成后形成接口数据交互列表,同时生成示接口数据交互流程图,辅助接口设计人员人工核验其正确性和完整性;
步骤4.生成数据库,被测场景接口数据交互过程核验通过后,依据步骤1 中对当前任务测试覆盖率要求,上位机按照步骤1的配置协议数据,自动生成测试用例和执行序列,并保存至数据库;测试用例包括以下字段:用例标识、用例名称、用例说明、测试约束、测试输入、预期输出、实际输出、测试结论;
步骤5.进行测试,从上位机将数据库中的测试用例和执行序列加载至下位机测试执行驱动模块运行;测试用例运行过程中,下位机实时捕获被测嵌入式系统接口输入输出数据,添加时间戳,发送至上位机;
步骤6.上位机从下位机提取被测的嵌入式系统运行后的包含时间戳信息的测试用例数据,按照时间先后顺序对数据进行排序,并计算协议间时间间隔,排序完成后依据步骤1配置的接口协议封装,对每条协议内容进行解析,将原始数据填入测试用例实际输出字段,与预期输出进行比对,实际输出与预期输出一致时,测试结论通过字段为Pass,否则不通过字段为Fail;测试结束后,上位机按规定格式自动生成测试报告。
以下结合实例对本方法的原理和特征进行进一步详细描述,所举实例只用于解释和说明本方法,并非用于限定本方法的适用范围。
以上实施例中,一种嵌入式通信系统用自动测试装置的使用步骤如下:
步骤1:建立测试任务。上位机配置任务参数,包括任务标识、任务名称等基本信息;配置测试参数,包括测试场景名称、测试覆盖率要求等;任务参数用于后续测试报告生成,测试参数用于测试用例生成,本实例中测试覆盖率要求包括:100%场景覆盖、100%接口协议覆盖、100%数据覆盖。本实例中其含义如下:
100%场景覆盖:自动生成测试用例时,需完全覆盖运行场景下捕获的数据交互流程,针对各场景流程分别生成正常、异常、边界、边界外测试用例。
100%接口协议覆盖:自动生成测试用例时,需完全覆盖捕获的数据交互流程涉及的每条接口协议,针对每条接口协议分别生成正常、异常、边界、边界外测试用例。
100%数据覆盖:自动生成测试用例时,需完全覆盖捕获的数据交互流程涉及的每条接口协议中每一数据,针对每条接口协议中每一数据分别生成正常、异常、边界、边界外测试用例。
上述三种测试覆盖率要求逐级增强,测试用例数逐级增加,实际应用中结合任务需求进行选择。
接口协议按照“接口——协议——数据”三层架构进行配置,上位机配置被测嵌入式系统外部交联接口,包括接口标识、接口名称、接口方向、接口类型;配置接口协议,包括协议标识、协议名称;按照规定封装形式配置协议数据,包括数据序号、数据属性、数据长度、数据语义、数据类型、数据范围和数据精度等。如图6、图7所示。
步骤2:捕获接口数据。设置下位机与被测嵌入式系统接口方向为输入,按场景运行被测嵌入式系统,下位机实时捕获被测嵌入式系统接口输入输出数据,添加时间戳,发送至上位机;
步骤3:解析数据流程。场景运行结束后,上位机提取接收数据中包含时间戳信息,按照时间先后顺序对数据进行排序,并计算协议间时间间隔,排序完成后依据步骤1配置的接口协议封装,对每条协议内容进行解析,解析完成后形成接口数据交互列表如图7所示,同时生成图8所示接口数据交互流程图,将被测场景接口数据交互实现过程可视化,辅助接口设计人员人工核验其正确性和完整性;
步骤4:生成测试用例。被测场景接口数据交互过程核验通过后,依据步骤 1中对当前任务测试覆盖率要求,上位机按照步骤1配置的协议数据关键字,自动生成测试用例和执行序列,并保存至数据库;测试用例包括以下字段:用例标识、用例名称、用例说明、测试约束、测试输入、预期输出、实际输出、测试结论。
用例标识:按照所需格式自动编号,例如TC01-01(场景1测试用例1);
用例名称:按照所需格式自动命名,例如自检-01(自检场景测试用例1);
用例说明:对该用例的说明,包括步骤1对测试覆盖率要求的满足程度的说明和本用例测试内容的说明。例如自检启动协议等价类、自检启动协议帧头非等价类;
测试约束:协议发送时间,例如00:00:00(第一条协议),00:00:10 (第一条协议发送10秒后发送)
测试输入:当前下位机需发送的协议序列,以<接口ID,数据>形式化方式表示。例如<接口1,0x55 0xDC 0x55>(在上述测试约束规定的时刻,向接口1 发送数据0x55 0xDC0x55)
预期输出:测试输入后,预期被测嵌入式系统向当前下位机输出,以<接口 ID,时间(可选),数据>形式化方式表示。例如<接口1,00:01:16,0xAA 0xDE 0xAB 0x55><接口2,0xAA 0xDC 0x55>(接口1在00:01:16时刻收到数据0xAA 0xDE 0xAB 0x55,接口2收到数据0x55 0xDC 0x55)
实际输出:测试输入后,被测嵌入式系统向当前下位机输出,例如:以<接口ID,时间,数据>形式化方式表示。例如<接口1,00:01:16,0xAA 0xDE 0xAB 0x55><接口2,00:01:16,0xAA 0xDC 0x55>(接口1在00:01:16时刻收到数据0xAA 0xDE 0xAB 0x55,接口2在00:01:16时刻收到数据0x55 0xDC 0x55),该字段在测试用例设计步骤为空;
测试结论:实际输出与预期输出一致时,测试结论为Pass,否则为Fail,该字段在测试用例设计步骤为空;
步骤5:执行测试用例。将步骤4设计的测试用例和执行序列加载至下位机测试执行驱动模块运行;测试用例运行过程中,下位机实时捕获被测嵌入式系统接口输入输出数据,添加时间戳,发送至上位机;
步骤6.上位机从下位机提取被测的嵌入式系统运行后的包含时间戳信息的测试用例数据,按照时间先后顺序对数据进行排序,并计算协议间时间间隔,排序完成后依据步骤1配置的接口协议封装,对每条协议内容进行解析,将原始数据填入测试用例实际输出字段,与预期输出进行比对,实际输出与预期输出一致时,测试结论通过字段为Pass,否则不通过字段为Fail;测试结束后,上位机按规定格式自动生成测试报告。
虽然,本说明书中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员是显而易见的。因此,在不偏离本发明的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (4)
1.一种嵌入式通信系统用自动测试装置,其特征在于,所述自动测试装置包括:上位机、下位机,所述下位机与上位机通过以太网连接,所述下位机与被测的嵌入式通信系统通过数据总线直接连接;
所述上位机,用于建立测试任务,所述测试任务包括任务参数和测试参数;所述任务参数用于测试报告生成,所述测试参数用于测试用例生成;
所述上位机接口协议按照“被测的嵌入式系统外部交联接口、配制接口协议、规定的封装形式配制协议数据”三层架构进行配置;
所述下位机,用于测试参数的数据捕获和添加时间戳,并将测试参数的数据发送至上位机进行运行;
所述上位机,用于根据所述被测的嵌入式通信系统运行完所述测试参数的数据后,形成接口数据交互列表,同时生成接口数据交互流程图;用于测试参数的接口数据交互过程核验通过后,依据对当前所述测试任务的覆盖率要求,按照配置的接口协议,自动生成测试用例和执行序列,并保存至数据库;
所述下位机,用于在被测的嵌入式通信系统测试用例运行过程中,实时捕获被测嵌入式系统的接口输入数据和接口输出数据,分别添加时间戳,发送至上位机;
所述上位机,用于解析测试结果;用于生成测试报告。
2.根据权利要求1所述的通信嵌入式系统用自动测试装置,其特征在于,
所述上位机包含:数据层、业务层、显示层、接口层;
所述数据层,包括项目配制数据库,接口协议数据库,测试用例数据库,测试结果数据库;
所述项目配制数据库,用于建立测试任务,包括配制任务参数和配置测试参数;所述任务参数包括任务标识、任务名称;所述测试参数,包括测试场景名称、测试覆盖率要求;
所述接口协议数据库用于配置被测的嵌入式系统外部交联接口,配置接口协议,并按照规定封装形式配置协议数据;所述上位机配置被测的嵌入式系统外部交联接口,包括接口标识、接口名称、接口方向、接口类型;所述配置接口协议,包括协议标识、协议名称;所述规定封装形式配置协议数据,包括数据序号、数据属性、数据长度、数据语义、数据类型、数据范围和数据精度;
所述测试用例数据库用于存储测试用例数据;
所述测试结果数据库用于存储测试结果数据;
所述业务层包含,接口数据交互流程解析模块,测试用例生成模块,测试装置管理模块,接口数据解析模块,测试结果分析模块,测试报告生成模块;
所述接口数据交互流程解析模块用于所述测试参数在被测的嵌入式通信系统运行结束后,上位机提取从下位机传递的包含时间戳信息的接收数据,按照时间先后顺序对数据进行排序,并计算协议间时间间隔,排序完成后依据配置的接口协议封装,对每条协议内容进行解析,解析完成后形成接口数据交互列表,同时生成接口数据交互流程图,然后进行核验;
所述测试用例生成模块用于测试参数接口数据交互过程核验通过后,依据对当前任务测试的覆盖率要求,上位机按照配置的协议数据,自动生成测试用例和执行序列,并保存至数据库;测试用例包括以下字段:用例标识、用例名称、用例说明、测试约束、测试输入、预期输出、实际输出、测试结论。序列中数据存储形式为<执行序号,数据源,数据目标,数据内容,偏移时间>;
所述测试装置管理模块用于管理测试数据的输入和输出;
所述接口数据解析模块用于提取测试用例运行完成后包含时间戳信息的数据,按照时间先后顺序对数据进行排序,并计算协议间时间间隔,排序完成后依据所配置的接口协议封装,对每条协议内容进行解析,将原始数据填入测试用例实际输出字段,与预期输出进行比对,实际输出与预期输出一致时,测试结论字段为Pass,否则为Fail;
所述测试结果分析模块用于解析测试结果;
所述测试报告生成模块用于生成测试报告;
所述显示层包含项目显示模块,接口协议显示模块,接口数据交互流程显示模块,接口数据显示模块,测试状态显示模块,测试结果显示模块;
所述项目显示模块,用于显示测试任务项目的详细信息;
所述接口协议显示模块,用于显示测试任务的接口协议;
所述接口数据交互流程显示模块,用于形成接口数据交互列表,同时生成接口数据交互流程图;
所述接口数据显示模块,用于显示所述下位机从所述上位机捕获的接口数据以及所述上位机从所述下位机提取经所述被测的嵌入式系统运行后的接口数据;
所述测试状态显示模块,用于显示测试任务运行的工作状态;
所述测试结果显示模块,用于显示测试任务的测试结果。
3.根据权利要求1所述的通信嵌入式系统用自动测试装置,其特征在于,所述下位机包括:业务层、驱动层、接口层;
所述业务层包含包括数据收发模块和添加时间戳模块;
所述数据收发模块,用于实时捕获被测的嵌入式通信系统接口输入数据、输出数据;
所述添加时间戳模块,用于给捕获的输入数据和输出数据分别添加时间戳;
所述驱动层包括接口驱动模块和测试执行驱动模块;
所述接口驱动模块,用于驱动下位机接口层各个接口与被测的嵌入式通信系统连接并运行;
所述测试执行驱动模块,用于将测试用例和执行序列加载至下位机测试执行驱动模块运行;
所述接口层包含CAN接口、RS485卡接口、RS422卡接口、1553B总线卡接口、ARINC429卡接口、USB接口、以太网接口。
4.一种嵌入式通信系统用自动测试方法,其特征在于,包括以下步骤:
步骤1.建立测试
在上位机上建立测试任务,配置任务参数,包括任务标识、任务名称;上位机配置测试参数,包括测试场景名称、测试覆盖率要求;上位机配置接口协议,上位机配置被测嵌入式系统外部交联接口,包括接口标识、接口名称、接口方向、接口类型;配置接口协议,包括协议标识、协议名称;按照规定封装形式配置协议数据,包括数据序号、数据属性、数据长度、数据语义、数据类型、数据范围和数据精度;
步骤2.运行测试场景
设置下位机与被测嵌入式系统接口方向为输入,按测试场景名称的测试场景运行被测嵌入式系统,下位机实时捕获被测嵌入式系统接口输入数据和接口输出数据,分别添加时间戳,发送至上位机;
步骤3.核验被测场景接口数据交互过程
测试场景运行结束后,上位机从下位机提取被测的嵌入式系统运行后的包含时间戳信息的测试场景数据,按照时间先后顺序对数据进行排序,并计算协议间时间间隔,排序完成后依据所述步骤1配置的接口协议封装,对每条协议内容进行解析,解析完成后形成接口数据交互列表,同时生成示接口数据交互流程图,辅助接口设计人员人工核验其正确性和完整性;
步骤4.生成数据库
被测场景接口数据交互过程核验通过后,依据步骤1中对当前任务测试覆盖率要求,上位机按照步骤1的配置协议数据,自动生成测试用例和执行序列,并保存至数据库;测试用例包括以下字段:用例标识、用例名称、用例说明、测试约束、测试输入、预期输出、实际输出、测试结论;
步骤5.进行测试
从上位机将数据库中的测试用例和执行序列加载至下位机测试执行驱动模块运行;测试用例运行过程中,下位机实时捕获被测嵌入式系统接口输入输出数据,添加时间戳,发送至上位机;
步骤6.上位机从下位机提取被测的嵌入式系统运行后的包含时间戳信息的测试用例数据,按照时间先后顺序对数据进行排序,并计算协议间时间间隔,排序完成后依据步骤1配置的接口协议封装,对每条协议内容进行解析,将原始数据填入测试用例实际输出字段,与预期输出进行比对,实际输出与预期输出一致时,测试结论通过字段为Pass,否则不通过字段为Fail;测试结束后,上位机按规定格式自动生成测试报告。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210108864.XA CN114816980A (zh) | 2022-01-28 | 2022-01-28 | 一种嵌入式通信系统用自动测试装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210108864.XA CN114816980A (zh) | 2022-01-28 | 2022-01-28 | 一种嵌入式通信系统用自动测试装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114816980A true CN114816980A (zh) | 2022-07-29 |
Family
ID=82527938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210108864.XA Pending CN114816980A (zh) | 2022-01-28 | 2022-01-28 | 一种嵌入式通信系统用自动测试装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114816980A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116467211A (zh) * | 2023-04-26 | 2023-07-21 | 北京计算机技术及应用研究所 | 一种基于数字化仿真环境的系统级测试验证方法 |
CN117056746A (zh) * | 2023-10-11 | 2023-11-14 | 长春汽车工业高等专科学校 | 一种基于大数据的汽车测试平台及方法 |
CN117724920A (zh) * | 2024-02-07 | 2024-03-19 | 四川赛狄信息技术股份公司 | 一种嵌入式设备的测试方法、装置、上位机及介质 |
-
2022
- 2022-01-28 CN CN202210108864.XA patent/CN114816980A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116467211A (zh) * | 2023-04-26 | 2023-07-21 | 北京计算机技术及应用研究所 | 一种基于数字化仿真环境的系统级测试验证方法 |
CN116467211B (zh) * | 2023-04-26 | 2023-09-26 | 北京计算机技术及应用研究所 | 一种基于数字化仿真环境的系统级测试验证方法 |
CN117056746A (zh) * | 2023-10-11 | 2023-11-14 | 长春汽车工业高等专科学校 | 一种基于大数据的汽车测试平台及方法 |
CN117724920A (zh) * | 2024-02-07 | 2024-03-19 | 四川赛狄信息技术股份公司 | 一种嵌入式设备的测试方法、装置、上位机及介质 |
CN117724920B (zh) * | 2024-02-07 | 2024-04-26 | 四川赛狄信息技术股份公司 | 一种嵌入式设备的测试方法、装置、上位机及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114816980A (zh) | 一种嵌入式通信系统用自动测试装置及方法 | |
CN102141962B (zh) | 一种安全性分布式测试框架系统及其测试方法 | |
CN109302522B (zh) | 测试方法、装置以及计算机系统和介质 | |
WO2017000424A1 (zh) | 协议检测方法及装置 | |
CN107315679A (zh) | 一种嵌入式软件自动化确认测试方法及测试系统 | |
CN112052172B (zh) | 第三方通道的快速测试方法、装置和电子设备 | |
CN106100935A (zh) | 电动汽车充电设备通信规约一致性测试装置与方法 | |
CN106357457A (zh) | 一种告警测试方法、装置以及系统 | |
CN113111000B (zh) | 持续集成自动化测试系统和方法、电子设备、存储介质 | |
CN113778898B (zh) | 用户界面自动化测试方法、装置、电子设备及存储介质 | |
CN109086197A (zh) | 城市轨道交通cbtc系统的验收测试方法及系统 | |
CN110245077A (zh) | 一种程序异常的响应方法及设备 | |
CN115630036A (zh) | 报错信息处理方法、装置、设备、存储介质和程序产品 | |
CN114757135B (zh) | 一种基于需求驱动验证的可编程逻辑器件验证方法及系统 | |
CN102707712B (zh) | 电子装备故障诊断方法和系统 | |
CN107122307B (zh) | 一种物联网执行系统 | |
CN108228454B (zh) | 一种基于环境故障注入的机电产品软件可靠性评价方法 | |
CN102298112B (zh) | 一种可编程逻辑器件的测试方法及系统 | |
US7272750B2 (en) | Expert system for intelligent testing | |
CN109189679A (zh) | 接口测试方法及系统、电子设备、存储介质 | |
CN106526460B (zh) | 一种电路故障定位方法及装置 | |
CN106375154B (zh) | 一种时延测量验证方法、装置及系统 | |
CN205864449U (zh) | 电动汽车充电设备通信规约一致性测试装置 | |
CN113705143A (zh) | 一种自动化仿真系统和自动化仿真方法 | |
CN114896824B (zh) | 联合仿真集成测试验证方法、装置、可读存储介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |