CN116909894B - 一种虚实融合的混合动态测试平台设计方法 - Google Patents
一种虚实融合的混合动态测试平台设计方法 Download PDFInfo
- Publication number
- CN116909894B CN116909894B CN202310849949.8A CN202310849949A CN116909894B CN 116909894 B CN116909894 B CN 116909894B CN 202310849949 A CN202310849949 A CN 202310849949A CN 116909894 B CN116909894 B CN 116909894B
- Authority
- CN
- China
- Prior art keywords
- test
- test platform
- data
- hardware
- virtual
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 456
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013461 design Methods 0.000 title claims abstract description 48
- 230000004927 fusion Effects 0.000 title claims abstract description 36
- 230000005284 excitation Effects 0.000 claims abstract description 35
- 238000004088 simulation Methods 0.000 claims abstract description 32
- 238000004458 analytical method Methods 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims abstract description 20
- 230000002093 peripheral effect Effects 0.000 claims abstract description 14
- 238000007619 statistical method Methods 0.000 claims abstract description 14
- 238000004891 communication Methods 0.000 claims description 25
- 238000002347 injection Methods 0.000 claims description 14
- 239000007924 injection Substances 0.000 claims description 14
- 238000013515 script Methods 0.000 claims description 14
- 238000011161 development Methods 0.000 claims description 12
- 238000012795 verification Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 7
- 230000015654 memory Effects 0.000 claims description 6
- 238000007726 management method Methods 0.000 claims description 5
- 230000000007 visual effect Effects 0.000 claims description 5
- 238000013523 data management Methods 0.000 claims description 4
- 239000000203 mixture Substances 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 2
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 claims description 2
- 230000008521 reorganization Effects 0.000 claims description 2
- 238000002955 isolation Methods 0.000 abstract description 7
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
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/3664—Environments for testing or debugging software
-
- 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/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种虚实融合的混合动态测试平台设计方法,属于虚实融合领域。本发明的硬件测试平台实现了测试流程编排、激励数据模拟、数据结果解析等目标机外围功能,提供了丰富的测试用例;数字化测试平台实现了虚拟目标机、虚拟化调试、覆盖率统计分析等功能,替代了物理目标机,提供了目标码测试手段。数字化测试平台通过1553B总线板卡和1553B总线耦合器与硬件测试平台下位机通信,通过高速网络访问硬件测试平台上位机,打通了硬件测试平台与数字化测试平台的数据隔离,形成了闭环测试环境,大幅度提高了测试效率和充分性。
Description
技术领域
本发明属于虚实融合领域,具体涉及一种虚实融合的混合动态测试平台设计方法。
背景技术
随着空间站等复杂系统载荷软件系统规模及复杂度的大幅提高,软件之间的关联性日益复杂,对可靠性、安全性提出了更高要求,针对空间站软件的测试验证也更加困难。基于半实物、实物的测试环境普遍存在测试成本高、测试周期长、异常边界难覆盖、目标码信息采集困难等问题,难以充分保障软件的质量和可靠性;基于虚拟化技术构建的全数字测试环境虽然可以减少软件测试对专用硬件环境的依赖、支持嵌入式软件在环运行,实现源代码、目标码级别的覆盖率统计分析,但单一的虚拟化测试环境难以复用已有的外部激励注入等专用检测设备,重新实现激励模拟功能易造成资源浪费、重复工作和测试周期延长等问题。
本发明提出一种虚实融合的混合动态测试平台设计方法,基于硬件测试平台与数字化测试平台实现虚实融合的混合仿真测试平台,数字化测试平台负责完成目标机运行环境仿真,可以有效的实现程序运行状态监控,获取目标码执行信息,开展故障注入,提高边界覆盖情况,进而提高测试充分性;硬件测试平台负责外围激励环境仿真,实现1553B等总线数据收集和解析,设计测试用例,解析接口数据包,解决数字化环境激励模拟困难的问题,充分结合半实物与数字化的优点,以虚代实,以实补虚,共同提高空间站软件测试验证效率和质量。
基于专用硬件构建的半实物、实物测试环境无法解决目标码测试问题,缺少获取软件运行状态和代码覆盖率信息的有效手段,无法支持故障注入,边界、异常条件难覆盖,故障不可逆,软件容错性设计难以充分验证,系统测试充分性不足;基于全数字的测试环境能够支持软件在环运行,但是存在激励数据不足的问题,采用虚拟化技术模拟激励数据成本高、精度低,无法复用软件研制过程中形成的专用检测设备和测试用例,造成资源浪费和重复工作,物理环境与数字化环境间数据隔离,无法贯通,导致测试效率低下。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种虚实融合的混合动态测试平台设计方法,以解决当前嵌入式软件测试面临的测试环境匮乏、激励数据模拟困难、目标码测试手段缺失、虚实环境数据隔离等问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种虚实融合的混合动态测试平台设计方法,该混合动态测试平台包括:专用硬件测试平台上位机、专用硬件测试平台下位机、物理目标机、数字化平台终端机、数字化测试平台和1553B总线板卡;该方法包括如下步骤:
第一步建立硬件测试平台
创建硬件测试平台,集成AD、ON/OFF、DA、1553B硬件模块,部署上位机和下位机软件,上位机软件运行在上位机上,用于测试开发设计和测试结果解析并与下位机进行通信,下位机软件运行在下位机上,用于硬件测试资源管控和数据采集,建立反馈与激励的对应关系,为物理目标机提供各种输入输出信号,实现测试自动化执行;
第二步建立数字化测试平台
创建数字化测试平台,采用虚拟化技术构建与物理目标机功能等效的虚拟目标机,包括:模型和外部激励,模型包括:虚拟SAPRC处理器、虚拟1553B总线模型,外部激励包括:模拟开关量、模拟AD,实现目标机被测软件在环运行;
第三步实现虚实测试环境融合
使用1553B总线和网络进行硬件测试平台和数字化测试平台的通信,将1553B总线板卡接入到数字化测试平台,通过1553B总线将测试数据注入到虚拟目标机中,虚拟目标机反馈数据通过1553B总线板卡反馈到硬件测试平台,数字化测试平台通过网络访问硬件测试平台的结果数据,实现虚实测试环境的数据融合;
第四步基于专用硬件平台测试开展用例设计与测试结果解析
运行硬件测试平台下位机进行测试数据和过程数据存储,硬件测试平台上位机通过测试总线与下位机进行数据通信,上位机以图形化的方式进行测试指令构建、测试用例设计、测试控制设计,通过事件触发测试用例执行,硬件测试平台下位机将测试用例信息发送到数字化测试平台运行并采集反馈的用例执行结果信息,硬件测试平台下位机将执行结果信息发送给上位机解析,硬件测试平台上位机将解析结果以表格、曲线形式进行动态显示;
第五步基于数字化测试平台开展目标码测试验证
在数字化测试平台运行被测软件,开展虚拟化调试,进行寄存器、变量、内存故障注入;数字化测试平台接收硬件测试平台下位机发送的1553B测试命令,进行命令信息处理并反馈遥测数据给硬件测试平台下位机;硬件测试平台上位机对测试结果数据进行解析,指导测试用例迭代设计;数字化测试平台通过记录被测软件的指令运行信息生成覆盖率报告,根据覆盖率报告信息指导硬件测试平台上位机进行测试用例设计。
(三)有益效果
本发明提出一种虚实融合的混合动态测试平台设计方法,本发明的方法实现的虚实融合的混合仿真测试平台充分结合了物理测试平台和虚拟测试平台的优点,其中,硬件测试平台实现了测试流程编排、激励数据模拟、数据结果解析等目标机外围功能,提供了丰富的测试用例;数字化测试平台实现了虚拟目标机、虚拟化调试、覆盖率统计分析等功能,替代了物理目标机,提供了目标码测试手段。数字化测试平台通过1553B总线板卡和1553B总线耦合器与硬件测试平台下位机通信,通过高速网络访问硬件测试平台上位机,打通了硬件测试平台与数字化测试平台的数据隔离,形成了闭环测试环境,大幅度提高了测试效率和充分性。
附图说明
图1为本发明的虚实融合的混合仿真测试平台组成结构示意图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明给出了一种虚实融合的混合动态测试平台设计方法,该混合动态测试平台包括:专用硬件测试平台上位机、专用硬件测试平台下位机、物理目标机、数字化平台终端机、数字化测试平台和1553B总线板卡等部分。
首先,构建硬件测试平台,完成上位机、下位机、物理目标机的连接,上位机与下位机通过高速网络通信,下位机与物理目标机间通过1553B总线耦合器和其他电缆连接;
其次,构建数字化测试平台,完成激励仿真模块、虚拟化调试模块、覆盖率统计分析模块和虚拟目标机的构建,激励仿真模块、虚拟化调试模块、覆盖率统计分析模块通过虚拟总线连接虚拟目标机,支持目标软件在环运行;
然后,在数字化平台终端机上接入1553B总线板卡,实现物理总线与虚拟目标机的适配接入;
最后,采用虚拟目标机代替物理目标机,硬件测试平台通过1553B总线耦合器与1553B总线板卡连接,实现物理平台与虚拟平台的数据通信。
本发明的目的在于提供一种虚实融合的混合动态测试平台设计方法,解决当前嵌入式软件测试面临的测试环境匮乏、激励数据模拟困难、目标码测试手段缺失、虚实环境数据隔离等问题,提高软件质量和可靠性。
第一步建立硬件测试平台
创建硬件测试平台,集成AD、ON/OFF、DA、1553B等硬件模块,部署上位机和下位机软件,上位机软件运行在上位机上,用于测试开发设计和测试结果解析并与下位机进行通信,下位机软件运行在下位机上,用于硬件测试资源管控和数据采集,建立反馈与激励的对应关系,为物理目标机提供各种输入输出信号,实现测试自动化执行。
第二步建立数字化测试平台
创建数字化测试平台,采用虚拟化技术构建与物理目标机功能等效的虚拟目标机,包括:模型和外部激励,模型包括:虚拟SAPRC处理器、虚拟1553B总线等模型,外部激励包括:模拟开关量、模拟AD等外部激励,实现目标机被测软件在环运行。
第三步实现虚实测试环境融合
使用1553B总线和网络进行硬件测试平台和数字化测试平台的通信,将1553B总线板卡接入到数字化测试平台,通过1553B总线将测试数据注入到虚拟目标机中,虚拟目标机反馈数据通过1553B总线板卡反馈到硬件测试平台,数字化测试平台通过网络访问硬件测试平台的结果数据,实现虚实测试环境的数据融合。
第四步基于专用硬件平台测试开展用例设计与测试结果解析
运行硬件测试平台下位机进行测试数据和过程数据存储,硬件测试平台上位机通过测试总线与下位机进行数据通信,上位机以图形化的方式进行测试指令构建、测试用例设计、测试控制设计,通过事件触发测试用例执行,硬件测试平台下位机将测试用例信息发送到数字化测试平台运行并采集反馈的用例执行结果信息,硬件测试平台下位机将执行结果信息发送给上位机解析,硬件测试平台上位机将解析结果以表格、曲线等多种形式进行动态显示。
第五步基于数字化测试平台开展目标码测试验证
在数字化测试平台运行被测软件,开展虚拟化调试,进行寄存器、变量、内存等故障注入。数字化测试平台接收硬件测试平台下位机发送的1553B测试命令,进行命令信息处理并反馈遥测数据给硬件测试平台下位机;硬件测试平台上位机对测试结果数据进行解析,指导测试用例迭代设计;数字化测试平台通过记录被测软件的指令运行信息生成覆盖率报告,根据覆盖率报告信息指导硬件测试平台上位机进行测试用例设计。
实施例1:
一种虚实融合的混合动态测试平台设计方法实施方案包含硬件测试平台上位机、硬件测试平台下位机、物理目标机、数字化平台终端机、数字化测试平台、1553B总线板卡、1553B总线耦合器等软硬件设施,组成关系如图1所示。
首先,构建硬件测试平台,包括上位机和下位机,上位机实现测试用例设计和测试结果解析,下位机实现测试资源管理,实施采集1553B总线通信数据;其次,创建数字化测试平台,实现开关量、AD等激励模拟,实现虚拟化调试和覆盖率统计分析,采用虚拟目标机替代物理目标机并实现1553B总线板卡的集成适配;最终,采用高速网络和1553B总线建立数字化测试平台与硬件测试平台上位机、下位机的联系,形成虚实融合的混合测试环境。
具体实施步骤为:
第一步上位机工作内容
进行可视化的测试用例开发,实现测试配置、测试用例设计、指令发送、结果解析等内容,构建测试流程,具体步骤如下。
S11、测试配置。根据测试任务重组试验资源,进行公共变量、事件定义、公式转换等测试配置,将事件与测试脚本关联,通过测试脚本响应事件。
S12、测试用例设计。采用可视化拖拽的方式生成测试脚本,包括顺序、条件、延时、循环、分支等。
S13、测试指令发送。根据测试任务重组不同的测试资源,按照测试脚本进行资源控制,生成控制指令,通过IO总线发送到下位机IO Server,控制下位机执行。
S14、结果解析。上位机接收下位机IO Server反馈的数据,按照通讯协议进行数据解析,输出解析结果。
第二步下位机工作内容
专用硬件测试平台下位机管理测试资源,部署IO Server,实现硬件接入、指令控制、数据采集等功能,具体步骤如下。
S21、硬件模块配置。对AD设备、1553B设备、ONOFF设备等硬件测试资源进行配置,包括设备名称、设备地址、驱动程序、动态库等配置信息,按照配置信息加载测试资源驱动程序。
S22、硬件资源接入。接入硬件板卡设备,包括AD、DA、ONOFF、1553B等设备。
S23、测试指令接收。接收硬件测试平台上位机通过IO总线下发的测试指令,包括命令和注入数据,将数据发送到数字化测试平台。
S24、数据采集。硬件测试平台下位机采集数字化测试平台反馈到IO Server的数据,通过IO总线将数据发送到上位机软件,上位机软件进行数据结果解析。
第三步硬件测试平台测试数据管理
实现测试数据管理服务,进行测试数据存储和测试数据数据访问,具体步骤如下。
S31、测试数据存储。硬件测试平台下位机使用数据库存储测试数据、测试用例、测试结果等内容,进行测试数据的建模和归档,提供数据访问服务。
S32、测试数据访问。硬件测试平台上位机通过测试数据总线访问下位机测试数据。
第四步数字化测试平台构建
数字化测试平台实现虚拟目标机运行环境包括处理器模拟、外设模拟、开关量激励模拟、AD激励模拟等功能,具体步骤如下。
S41、模拟处理器。采用虚拟化技术,进行处理器指令集仿真包括取指、译码、执行等功能,实现片上设备模拟,对外提供内存读写和外设访问接口,生成虚拟处理器。
S42、模拟外围设备。进行外围设备功能仿真,包括设备寄存器、读写接口、逻辑功能,对外提供处理器访问接口,生成虚拟目标机。
S43、模拟数据激励。模拟开关量、AD等设备激励,通过网络将激励信号注入到对应的虚拟目标机中,虚拟目标机将数据注入到被测软件。
S44、生成配置文件。描述虚拟处理器和虚拟目标机的组成与连接关系,生成JSON格式的数字化测试平台配置文件。
第五步数字化测试平台1553B总线板卡适配
将1553B总线板卡接入到数字化测试平台,具体步骤如下。
S51、将1553B板卡驱动封装为虚拟1553B代理设备。
S52、实现1553B总线协议转换和时间同步。
S53、通过虚拟总线建立1553B代理设备与虚拟1553B设备的通信。
S54、将1553B总线数据通过虚拟1553B设备注入到被测软件中。
第六步开展虚拟化测试验证
加载用户提供的被测软件可执行程序,基于数字化测试平台开展测试验证,具体步骤如下。
S61、加载被测软件可执行程序。加载配置文件,将可执行程序下载到虚拟目标机中,设置PC到程序入口,运行可执行程序指令。
S62、进行虚拟化调试。建立远程调试连接,查看并修改虚拟目标机的寄存器、变量、内存等信息。
S63、注入激励数据。进行模拟开关量、模拟AD激励数据注入。
S64、模拟故障。通过修改寄存器、通信协议、变量等内容模拟故障信息,进行边界和异常条件测试验证。
S65、监控程序运行。实时监控目标程序运行状态,记录代码执行路径信息。
第七步专用硬件平台测试数据注入数字化测试平台
通过1553B总线将测试数据注入到虚拟目标机中,具体步骤如下。
S71、运行测试用例。进行上位机测试用例设计,编写测试流程脚本,执行测试用例。
S72、调度测试资源。下位机通过1553B通信模块将测试数据发送到1553B总线。
S73、转发总线数据。通过1553B总线耦合器将数据转接到数字化测试平台1553B总线板卡。
S74、数据注入虚拟目标机。通过1553B板卡将测试数据注入到数字化平台的虚拟目标机。
第八步数字化测试平台运行数据反馈到硬件测试平台
数字化测试平台接收硬件测试平台下位机发送的1553B测试命令,进行命令信息处理并反馈遥测数据给硬件测试平台下位机,具体步骤如下。
S81、接收测试数据。虚拟目标机被测目标软件接收硬件测试平台测试命令,进入命令处理流程。
S82、反馈结果数据。通过虚拟1553B设备输出反馈信息,并对反馈信息进行协议转换。
S83、数据注入硬件平台。通过1553B总线板卡将转换后的数据反馈到硬件测试平台下位机。
第九步解析用例执行结果数据
硬件测试平台上位机对测试结果数据进行解析,指导测试用例迭代设计。
S91、硬件测试平台下位机将通过1553B总线接收数字化测试平台反馈数据。
S92、硬件测试平台下位机IO Server软件将接收的数据存储到数据管理系统中,通过测试总线转发到硬件测试平台上位机。
S93、硬件测试平台上位机实时监控下位机反馈数据,查询命令执行结果并对测试结果进行统计分析。
S94、硬件测试平台上位机根据分析结果,确认测试用例执行情况,指导新的测试用例设计和测试流程编排。
第十步分析被测程序执行结果
数字化测试平台通过记录被测软件的指令运行信息生成覆盖率报告,根据覆盖率报告信息指导硬件测试平台上位机进行测试用例设计,提高软件质量,具体包括:。
S101、数字化测试平台记录被测软件目标码执行信息,生成中间文件。
S102、解析中间文件,建立源代码与目标码的映射关系。
S103、进行函数、文件、项目不同级别的覆盖信息统计,生成源码、目标码、混合代码覆盖率分析报告,
S104、根据语句、分支等代码覆盖情况,进行测试用例设计和激励数据模拟。
S105、重复执行上述步骤,逐步提高边界情况覆盖,进行未覆盖情况分析,进而提高软件质量。
本发明的关键在于:
1、虚实融合的动态测试环境
空间站复杂嵌入式软件测试验证过程中面临动态测试环境匮乏、构建成本高、灵活性差、摸边探底难等问题。本发明通过将虚拟环境与物理环境相结合,建立双向数据通道,实现虚拟环境与物理环境的数据贯通,构建混合动态测试环境,以满足不同测试场景需求。混合测试环境的核心问题是数据通信和时间同步,硬件测试平台下位机集成串口、1553B等总线设备资源,通过总线与真实的目标机进行通信。为实现虚实融合,数字化测试平台构建高性能的虚拟目标机,替代真实目标机并适配串口、1553B等板卡设备,通过总线耦合器建立与硬件测试平台的通信,同时进行虚拟目标机和物理设备间通信协议的转换实现数据传输和状态反馈。为保证被测软件在数字化测试平台正常运行并且硬件测试平台数据按时注入,须保证虚拟目标机的仿真速度大于真实目标机的运行速度。为保持与硬件测试环境真实目标机运行周期一致,通过虚拟定时器等设备控制虚拟目标机频率来实现虚实测试环境的时序,在数字化测试平台的总线板卡适配部分建立消息缓冲区,进行虚实环境间通信数据的时间误差校对,保障数据的有效性。
2.可视化测试用例开发
测试用例开发是测试验证工作的重要环节,占据了大量的工作时间,测试用例开发效率直接影响软件测试效率。本发明通过一种可视化的测试用例开发方法,对硬件测试平台的测试资源进行配置管理,基于GUI开展测试用例、测试数据、测试脚本开发工作,大幅度提升了用例开发效率。通过界面配置重组不同的试验资源,按照预定的测试序列对试验资源进行控制,通过IO总线发送至下位机软件IO Server控制各个测试资源驱动完成状态控制;定义测试平台事件监控机制,包括变量赋值、指令执行、批量执行三种事件,将操作图形界面操作与执行事件绑定;通过图形拖拽实现顺序、循环、分支等建模,完成测试流程编排,生成脚本测试文件,按照流程将控制指令发送到测试设备执行。
3.目标码覆盖率统计分析
空间站等高安全、高可靠领域对软件覆盖率有100%覆盖的刚性需求,需要设计大量的测试用例和模拟数据来覆盖不同的语句和分支,用例设计和覆盖率统计难度极大。本发明实现的虚实融合的混合动态测试平台,支持复用硬件测试平台测试用例,基于数字化测试平台实现了虚拟化调试、故障注入、覆盖率统计分析等功能。通过虚拟目标机记录目标码的执行信息,对执行信息进行解析并建立与源代码的对应关系,解析目标码调试信息,进行函数级、文件级、项目级不同层级的覆盖率信息统计并生成源代码、目标码、混合代码三个维度的测试报告。
本发明的一种虚实融合的混合动态测试平台设计方法具有如下特点:
1.采用虚拟目标机替代了物理目标机。采用虚拟化技术模拟了处理器、外设、总线等设备的功能,并通过总线设备与硬件测试平台连接,模拟了AD等数据激励,在功能上替代了物理目标机,将被测软件下载到虚拟目标机运行,监控软件运行状态。
2.打破了虚实测试环境间的数据隔离。硬件测试平台和数字化测试平台间采用串口、1553B等总线板卡建立通信连接,对硬件和虚拟目标机进行了协议转换,能够将硬件测试平台的数据通过虚拟目标机注入到被测软件中,打破了数据隔离,大批量复用了硬件测试平台的用例和数据,解决了被测嵌入式软件数据激励注入困难的问题。
3.实现了基于混合动态测试平台的测试验证。基于混合动态测试平台实现了用例开发和测试测试验证,采用虚拟化调试、软件故障注入等手段模拟被测软件的故障边界,提高测试充分性,通过硬件测试平台注入数据,验证被测软件业务流程,记录目标码执行信息,进行覆盖率统计分析,生成源码、目标码的覆盖率报告。
本发明具有以下有益技术效果:
本发明的方法实现的虚实融合的混合仿真测试平台充分结合了物理测试平台和虚拟测试平台的优点,其中,硬件测试平台实现了测试流程编排、激励数据模拟、数据结果解析等目标机外围功能,提供了丰富的测试用例;数字化测试平台实现了虚拟目标机、虚拟化调试、覆盖率统计分析等功能,替代了物理目标机,提供了目标码测试手段。数字化测试平台通过1553B总线板卡和1553B总线耦合器与硬件测试平台下位机通信,通过高速网络访问硬件测试平台上位机,打通了硬件测试平台与数字化测试平台的数据隔离,形成了闭环测试环境,大幅度提高了测试效率和充分性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种虚实融合的混合动态测试平台设计方法,其特征在于,该混合动态测试平台包括:专用硬件测试平台上位机、专用硬件测试平台下位机、物理目标机、数字化平台终端机、数字化测试平台和1553B总线板卡;该方法包括如下步骤:
第一步建立硬件测试平台
创建硬件测试平台,集成AD、ON/OFF、DA、1553B硬件模块,部署上位机和下位机软件,上位机软件运行在上位机上,用于测试开发设计和测试结果解析并与下位机进行通信,下位机软件运行在下位机上,用于硬件测试资源管控和数据采集,建立反馈与激励的对应关系,为物理目标机提供各种输入输出信号,实现测试自动化执行;
第二步建立数字化测试平台
创建数字化测试平台,采用虚拟化技术构建与物理目标机功能等效的虚拟目标机,包括:模型和外部激励,模型包括:虚拟SAPRC处理器、虚拟1553B总线模型,外部激励包括:模拟开关量、模拟AD,实现目标机被测软件在环运行;
第三步实现虚实测试环境融合
使用1553B总线和网络进行硬件测试平台和数字化测试平台的通信,将1553B总线板卡接入到数字化测试平台,通过1553B总线将测试数据注入到虚拟目标机中,虚拟目标机反馈数据通过1553B总线板卡反馈到硬件测试平台,数字化测试平台通过网络访问硬件测试平台的结果数据,实现虚实测试环境的数据融合;
第四步基于专用硬件平台测试开展用例设计与测试结果解析
运行硬件测试平台下位机进行测试数据和过程数据存储,硬件测试平台上位机通过测试总线与下位机进行数据通信,上位机以图形化的方式进行测试指令构建、测试用例设计、测试控制设计,通过事件触发测试用例执行,硬件测试平台下位机将测试用例信息发送到数字化测试平台运行并采集反馈的用例执行结果信息,硬件测试平台下位机将执行结果信息发送给上位机解析,硬件测试平台上位机将解析结果以表格、曲线形式进行动态显示;
第五步基于数字化测试平台开展目标码测试验证
在数字化测试平台运行被测软件,开展虚拟化调试,进行寄存器、变量、内存故障注入;数字化测试平台接收硬件测试平台下位机发送的1553B测试命令,进行命令信息处理并反馈遥测数据给硬件测试平台下位机;硬件测试平台上位机对测试结果数据进行解析,指导测试用例迭代设计;数字化测试平台通过记录被测软件的指令运行信息生成覆盖率报告,根据覆盖率报告信息指导硬件测试平台上位机进行测试用例设计。
2.如权利要求1所述的虚实融合的混合动态测试平台设计方法,其特征在于,该混合动态测试平台的构建过程包括:
首先,构建硬件测试平台,完成上位机、下位机、物理目标机的连接,上位机与下位机通过高速网络通信,下位机与物理目标机间通过1553B总线耦合器和其他电缆连接;
其次,构建数字化测试平台,完成激励仿真模块、虚拟化调试模块、覆盖率统计分析模块和虚拟目标机的构建,激励仿真模块、虚拟化调试模块、覆盖率统计分析模块通过虚拟总线连接虚拟目标机,支持目标软件在环运行;
然后,在数字化平台终端机上接入1553B总线板卡,实现物理总线与虚拟目标机的适配接入;
最后,采用虚拟目标机代替物理目标机,硬件测试平台通过1553B总线耦合器与1553B总线板卡连接,实现物理平台与虚拟平台的数据通信。
3.如权利要求2所述的虚实融合的混合动态测试平台设计方法,其特征在于,所述上位机进行可视化的测试用例开发,实现测试配置、测试用例设计、指令发送、结果解析,构建测试流程,具体工作步骤如下:
S11、测试配置:根据测试任务重组试验资源,进行公共变量、事件定义、公式转换配置,将事件与测试脚本关联,通过测试脚本响应事件;
S12、测试用例设计:采用可视化拖拽的方式生成测试脚本,包括顺序、条件、延时、循环和分支;
S13、测试指令发送:根据测试任务重组不同的测试资源,按照测试脚本进行资源控制,生成控制指令,通过IO总线发送到下位机IO Server,控制下位机执行;
S14、结果解析:上位机接收下位机IO Server反馈的数据,按照通讯协议进行数据解析,输出解析结果。
4.如权利要求2所述的虚实融合的混合动态测试平台设计方法,其特征在于,下位机管理测试资源,部署IO Server,实现硬件接入、指令控制和数据采集,具体工作步骤如下:
S21、硬件模块配置:对硬件测试资源进行配置,包括:设备名称、设备地址、驱动程序、动态库配置信息,按照配置信息加载测试资源驱动程序;其中,硬件测试资源包括:AD设备、1553B设备和ONOFF设备;
S22、硬件资源接入:接入硬件板卡设备,包括AD、DA、ONOFF、1553B设备;
S23、测试指令接收:接收硬件测试平台上位机通过IO总线下发的测试指令,包括命令和注入数据,将数据发送到数字化测试平台;
S24、数据采集:下位机采集数字化测试平台反馈到IO Server的数据,通过IO总线将数据发送到上位机软件,上位机软件进行数据结果解析。
5.如权利要求2所述的虚实融合的混合动态测试平台设计方法,其特征在于,数字化测试平台实现虚拟目标机运行环境,包括:处理器模拟、外设模拟、开关量激励模拟和AD激励模拟,具体步骤如下:
S41、模拟处理器:采用虚拟化技术,进行处理器指令集仿真包括取指、译码和执行,实现片上设备模拟,对外提供内存读写和外设访问接口,生成虚拟处理器;
S42、模拟外围设备:进行外围设备功能仿真,包括设备寄存器、读写接口、逻辑功能,对外提供处理器访问接口,生成虚拟目标机;
S43、模拟数据激励:模拟开关量、AD设备激励,通过网络将激励信号注入到对应的虚拟目标机中,虚拟目标机将数据注入到被测软件;
S44、生成配置文件:描述虚拟处理器和虚拟目标机的组成与连接关系,生成JSON格式的数字化测试平台配置文件。
6.如权利要求2所述的虚实融合的混合动态测试平台设计方法,其特征在于,将1553B总线板卡接入到数字化测试平台具体包括如下步骤:
S51、将1553B板卡驱动封装为虚拟1553B代理设备;
S52、实现1553B总线协议转换和时间同步;
S53、通过虚拟总线建立1553B代理设备与虚拟1553B设备的通信;
S54、将1553B总线数据通过虚拟1553B设备注入到被测软件中。
7.如权利要求2所述的虚实融合的混合动态测试平台设计方法,其特征在于,通过1553B总线将测试数据注入到虚拟目标机中,具体包括如下步骤如下:
S71、运行测试用例:进行上位机测试用例设计,编写测试流程脚本,执行测试用例;
S72、调度测试资源:下位机通过1553B通信模块将测试数据发送到1553B总线;
S73、转发总线数据:通过1553B总线耦合器将数据转接到数字化测试平台1553B总线板卡;
S74、数据注入虚拟目标机:通过1553B板卡将测试数据注入到数字化平台的虚拟目标机。
8.如权利要求2所述的虚实融合的混合动态测试平台设计方法,其特征在于,数字化测试平台接收硬件测试平台下位机发送的1553B测试命令,进行命令信息处理并反馈遥测数据给硬件测试平台下位机,具体包括如下步骤:
S81、接收测试数据:虚拟目标机被测目标软件接收硬件测试平台测试命令,进入命令处理流程;
S82、反馈结果数据:通过虚拟1553B设备输出反馈信息,并对反馈信息进行协议转换;
S83、数据注入硬件平台:通过1553B总线板卡将转换后的数据反馈到硬件测试平台下位机。
9.如权利要求2所述的虚实融合的混合动态测试平台设计方法,其特征在于,硬件测试平台上位机对测试结果数据进行解析,指导测试用例迭代设计,具体包括:
S91、硬件测试平台下位机将通过1553B总线接收数字化测试平台反馈数据;
S92、硬件测试平台下位机IO Server软件将接收的数据存储到数据管理系统中,通过测试总线转发到硬件测试平台上位机;
S93、硬件测试平台上位机实时监控下位机反馈数据,查询命令执行结果并对测试结果进行统计分析;
S94、硬件测试平台上位机根据分析结果,确认测试用例执行情况,指导新的测试用例设计和测试流程编排。
10.如权利要求2所述的虚实融合的混合动态测试平台设计方法,其特征在于,数字化测试平台通过记录被测软件的指令运行信息生成覆盖率报告,根据覆盖率报告信息指导硬件测试平台上位机进行测试用例设计,具体包括:
S101、数字化测试平台记录被测软件目标码执行信息,生成中间文件;
S102、解析中间文件,建立源代码与目标码的映射关系;
S103、进行函数、文件、项目不同级别的覆盖信息统计,生成源码、目标码、混合代码覆盖率分析报告,
S104、根据语句、分支代码覆盖情况,进行测试用例设计和激励数据模拟;
S105、重复执行上述步骤,逐步提高边界情况覆盖,进行未覆盖情况分析,进而提高软件质量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310849949.8A CN116909894B (zh) | 2023-07-12 | 2023-07-12 | 一种虚实融合的混合动态测试平台设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310849949.8A CN116909894B (zh) | 2023-07-12 | 2023-07-12 | 一种虚实融合的混合动态测试平台设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116909894A CN116909894A (zh) | 2023-10-20 |
CN116909894B true CN116909894B (zh) | 2024-04-05 |
Family
ID=88359598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310849949.8A Active CN116909894B (zh) | 2023-07-12 | 2023-07-12 | 一种虚实融合的混合动态测试平台设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116909894B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105824729A (zh) * | 2016-03-11 | 2016-08-03 | 深圳航天科技创新研究院 | 一种具备通用性的虚拟验证平台及实现方法 |
CN110532140A (zh) * | 2019-08-28 | 2019-12-03 | 北京国科环宇科技股份有限公司 | 一种1553b总线的仿真测试系统 |
CN111209154A (zh) * | 2020-01-02 | 2020-05-29 | 上海航天计算机技术研究所 | 虚拟1553b总线设备的实现方法 |
CN112463614A (zh) * | 2020-12-01 | 2021-03-09 | 北京计算机技术及应用研究所 | 一种基于硬件板卡接入的软件虚拟化测试环境构建方法 |
CN114707236A (zh) * | 2022-03-14 | 2022-07-05 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种基于模型的虚实结合仿真试验方法 |
WO2023050184A1 (en) * | 2021-09-29 | 2023-04-06 | Intel Corporation | Apparatuses, devices, methods and computer program for performing unit tests on firmware code |
WO2023082886A1 (zh) * | 2021-11-12 | 2023-05-19 | 中广核核电运营有限公司 | 基于数字化仿真技术的dcs软件自动验证系统和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10649887B2 (en) * | 2018-02-27 | 2020-05-12 | International Business Machines Corporation | Co-verification of hardware and software |
-
2023
- 2023-07-12 CN CN202310849949.8A patent/CN116909894B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105824729A (zh) * | 2016-03-11 | 2016-08-03 | 深圳航天科技创新研究院 | 一种具备通用性的虚拟验证平台及实现方法 |
CN110532140A (zh) * | 2019-08-28 | 2019-12-03 | 北京国科环宇科技股份有限公司 | 一种1553b总线的仿真测试系统 |
CN111209154A (zh) * | 2020-01-02 | 2020-05-29 | 上海航天计算机技术研究所 | 虚拟1553b总线设备的实现方法 |
CN112463614A (zh) * | 2020-12-01 | 2021-03-09 | 北京计算机技术及应用研究所 | 一种基于硬件板卡接入的软件虚拟化测试环境构建方法 |
WO2023050184A1 (en) * | 2021-09-29 | 2023-04-06 | Intel Corporation | Apparatuses, devices, methods and computer program for performing unit tests on firmware code |
WO2023082886A1 (zh) * | 2021-11-12 | 2023-05-19 | 中广核核电运营有限公司 | 基于数字化仿真技术的dcs软件自动验证系统和方法 |
CN114707236A (zh) * | 2022-03-14 | 2022-07-05 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种基于模型的虚实结合仿真试验方法 |
Non-Patent Citations (4)
Title |
---|
Xining Cui ; Yukai Hao ; Xiaodi Dai.Simulation Verification Technology of Virtual-Real-Integration Avionics System.2020 7th International Conference on Dependable Systems and Their Applications (DSA).2020,全文. * |
航空机载软件全数字仿真测试系统的设计与实现;刘涛, 卢希, 冯飞等;电讯技术;20221231;第62卷(第03期);317-322 * |
面向航天控制软件的异构多机虚拟仿真平台;钟睿明, 王同磊, 李晓锋等;微纳电子与智能制造;20201231;第2卷(第01期);85-90 * |
靶场内外场一体化仿真体系结构及时间管理;王鹏;李革;黄柯棣;;系统工程与电子技术;20171231(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116909894A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103235756B (zh) | 一种面向嵌入式系统分区应用程序软件的仿真测试方法 | |
CN105528290B (zh) | 基于脚本的嵌入式软件仿真及测试一体化平台的构建方法 | |
CN101521899B (zh) | 用于移动应用程序的机上测试系统和方法 | |
CN103198009B (zh) | 一种通用测试方法、系统及相应装置 | |
CN103634154B (zh) | 网络状态的模拟系统及其模拟方法 | |
CN109740222B (zh) | 一种针对汽车网联化场景的测试装置和系统 | |
CN106154865B (zh) | 一种车载总线仿真模型自生成方法及系统 | |
CN107562969B (zh) | 航空发动机控制系统软件的集成方法和装置 | |
CN105933173A (zh) | 一种电力系统智能装置自动化测试系统 | |
CN103345446B (zh) | 一种适用于遥控类产品的自动化测试方法 | |
CN103995777A (zh) | 嵌入式软件黑盒自动化测试系统及测试方法 | |
CN110362490B (zh) | 融合iOS与Android移动应用的自动化测试方法及系统 | |
CN113051040A (zh) | 一种异地远程分布式联合仿真方法 | |
CN111813671A (zh) | 一种ima软件仿真测试系统 | |
CN116681013B (zh) | 网络芯片的仿真验证方法、平台、装置、设备及介质 | |
CN109710513B (zh) | 一种用于cbtc系统自动化测试的引擎 | |
CN114707236A (zh) | 一种基于模型的虚实结合仿真试验方法 | |
CN110704315B (zh) | 一种嵌入式软件测试的故障注入装置 | |
CN102111801B (zh) | 第三代移动通信网网络管理接口的测试方法及系统 | |
CN102750143A (zh) | 基于matlab com组件调用的dsp开发方法 | |
CN109932588B (zh) | 一种航电设备验证测试引擎 | |
CN116909894B (zh) | 一种虚实融合的混合动态测试平台设计方法 | |
CN113704095A (zh) | 一种接口自动测试用例自动生成方法及装置 | |
CN108959094A (zh) | 一种基于数据结构的测试程序的定义和应用方法 | |
CN116431103A (zh) | 一种面向嵌入式软件的数字化DevOps平台设计方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |