CN113609024A - 一种基于反射技术的嵌入式软件闭环测试方法 - Google Patents
一种基于反射技术的嵌入式软件闭环测试方法 Download PDFInfo
- Publication number
- CN113609024A CN113609024A CN202110941241.6A CN202110941241A CN113609024A CN 113609024 A CN113609024 A CN 113609024A CN 202110941241 A CN202110941241 A CN 202110941241A CN 113609024 A CN113609024 A CN 113609024A
- Authority
- CN
- China
- Prior art keywords
- protocol
- communication
- rule
- communication protocol
- response
- 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.)
- Granted
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/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/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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种基于反射技术的嵌入式软件闭环测试方法,涉及嵌入式软件闭环测试技术领域。该测试方法通过定义通信协议规约表达方式,进行通信协议规约配置,提出通信命令解析规约方法和通信数据响应模块动态加载调用方法,完成了测试过程中通信数据闭环响应。该测试方法可作为嵌入式软件仿真测试的基础支撑技术,能够提高嵌入式软件仿真测试的有效性、全面性、真实性。
Description
技术领域
本发明涉及嵌入式软件闭环测试技术领域,具体涉及一种基于反射技术的嵌入式软件闭环测试方法。
背景技术
嵌入式软件测试通常都需要对外围分系统或设备进行仿真,以进行系统或设备在环的仿真测试。嵌入式软件测试包括开环测试和闭环测试两种。目前,嵌入式软件的仿真测试方式主要还是通过系统仿真,将仿真数据存储下来,然后将数据注入被测嵌入式软件进行开环回放测试。闭环测试和开环测试最大的区别在于开环测试的测试数据都是事先准备好的,而闭环测试则是根据测试进程实时生成测试数据,因此闭环测试相较于开环测试更加真实,更加有效,而且能够全面、完整、真实地仿真被测软件系统的稳态、暂态和动态过程。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何解决被测嵌入式软件外围分系统或设备在仿真测试过程中的数据反馈响应问题。
(二)技术方案
为了解决上述技术问题,本发明提供了一种基于反射技术的嵌入式软件闭环测试方法,包括以下步骤:
第一步、通信协议规约配置;
第二步、基于第一步进行通信命令解析规约;
第三步、基于第二步实现通信数据反射响应。
本发明还提供了一种所述的方法在嵌入式软件闭环测试技术领域中的应用。
(三)有益效果
本发明的测试方法通过定义通信协议规约表达方式,进行通信协议规约配置,提出通信命令解析规约方法和通信数据响应模块动态加载调用方法,完成了测试过程中通信数据闭环响应。该测试方法可作为嵌入式软件仿真测试的基础支撑技术,能够提高嵌入式软件仿真测试的有效性、全面性、真实性。
附图说明
图1是本发明的方法原理图;
图2是本发明中的通信命令解析规约流程图;
图3是本发明中的通信数据反射响应流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明提供一种基于反射技术的嵌入式软件闭环测试方法,旨在为嵌入式软件仿真测试提供闭环响应支撑,解决被测嵌入式软件外围分系统或设备在仿真测试过程中的数据反馈响应问题,构建嵌入式软件闭环测试环境,以支持嵌入式系统闭环测试,满足功能复杂、有大量通信命令和数据处理的仿真测试需求。
针对嵌入式软件闭环测试问题,本发明采用如下方法和步骤实现了基于反射技术的嵌入式软件闭环测试方法:第一步,定义了一套通信协议规约表达方式,为通信协议规约配置提供支撑;第二步,基于通信协议规约配置,提出了一种通信命令解析规约方法;第三步,提出了一种基于反射技术的通信数据响应模块动态加载和调用方法,解决了通信数据反射响应问题。以下参考图1详细说明。
第一步 通信协议规约配置
通信协议是嵌入式系统各分系统或设备间相互通信的基础和依据,同时也是每一个系统或设备输入输出格式严格的约定。虽然两个系统或设备将需要实现统一的通信协议,但是根据通信协议往往会衍生出大量的通信命令。通信协议规约配置主要是为通信命令分析规约提供依据。
为了进行通信协议规约配置需要定义通信协议规约表达方式,将通信协议规约方法表示为:
P→P0|P1|…|Pn
P表示通信协议,Pi(i=1,2,…,n)表示规约规则,Pi=<Ii,Ci>,Ii表示规约规则Pi包含的字段集合,Ci表示规约规则Pi包含的规约条件,因此,P→P0|P1|…|Pn表示通信协议P可以通过规约规则Pi进行描述;通信协议的具体规约过程为:
Pi×Ci→Pj,(i≠j)
上述规约过程包含如下含义:
(1)通信协议规约过程必须基于一个规约规则开始;通信协议都有一个主规约规则,作为通信协议规约的基础,这里将这个主规约规则设定为P0;
(2)通信协议规约过程实际上是通信协议具体化和细化的过程;在通信协议规约过程中,只要条件Ci满足,规约将继续,否则将得到通信协议的最终规约结果;
(3)每次规约的结果只能唯一,而且不能是原来的规约规则,也即不存在递归规约方式;
通信协议规约通常采用配置文件的形式保存通信协议规约,比如XML文件。
第二步 基于第一步进行通信命令解析规约
不同的通信命令往往代表着不同的含义,需要进行不同的操作或响应。通信命令解析规约是依据第一步设计的通信协议规约,对接收到的通信数据进行解析,将解析得到的数据作为后续通信协议规约的条件,并最终规约出接收到的是何种通信命令。
通信命令解析规约流程如图2所示,具体过程描述如下:
(1)加载规约:加载规约规则Pi(流程起始默认加载主规约规则P0);
(2)解析字段:读取规约规则Pi的字段集合Ii,按照字段集合Ii中的字段依次进行字段解析;
(3)规约计算:如果当前解析字段为规约字段,则按照规约条件Ci进行规约,得到下一步规约规则,跳转到步骤(1);否则跳转到步骤(2)继续进行字段解析;
(4)规约结束:当规约规则Pi的字段集合Ii全部解析完毕时,当前加载的规约规则即为最终的规约结果,根据规约结果识别出接收到的是何种通信命令。
第三步基于第二步实现通信数据反射响应
通信数据反射响应是在识别了接收通信命令的基础上,通过反射技术获取通信数据反馈或响应调用接口(响应处理函数),然后调用反馈或响应接口,完成通信交互过程闭环。在调用数据反馈或响应接口时,需要传入解析后的接收数据或当前设备状态,以保证数据反馈或响应依据接收数据或当前状态进行。
通信数据反射响应流程如图3所示,具体过程描述如下:
(1)响应查询:基于第二步中通信命令解析规约的结果,通过接收到的通信命令名称,从响应配置中,查询数据反馈或响应接口;
(2)响应加载:将查询到的数据反馈或响应接口载入内存;
(3)响应调用:通过反射技术调用数据反馈或响应接口,并通过传入解析后的接收数据或当前设备状态,完成通信响应接口调用,从而保证通信数据反馈或响应是按照当前接收数据或状态进行的。
可以看出,本发明的基于反射技术的嵌入式软件闭环测试方法具有如下特点:
(1)能够全面、完整地仿真嵌入式软件和外围分系统或设别的交互过程;
(2)具备良好的测试可扩展性,支持测试反馈和响应方式扩展;
(3)具备良好的测试灵活性,支持数据响应过程中的灵活控制。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种基于反射技术的嵌入式软件闭环测试方法,其特征在于,包括以下步骤:
第一步、通信协议规约配置;
第二步、基于第一步进行通信命令解析规约;
第三步、基于第二步实现通信数据反射响应。
2.如权利要求1所述的方法,其特征在于,将通信协议规约方法表示为:
P→P0|P1|…|Pn
P表示通信协议,Pi(i=1,2,…,n)表示规约规则,Pi=<Ii,Ci>,Ii表示规约规则Pi包含的字段集合,Ci表示规约规则Pi包含的规约条件,因此,P→P0|P1|…|Pn表示通信协议P可以通过规约规则Pi进行描述;通信协议的具体规约过程为:
Pi×Ci→Pj,i≠j
所述规约过程包含如下含义:
(1)通信协议规约过程必须基于一个规约规则开始;通信协议都有一个主规约规则,作为通信协议规约的基础,这里将这个主规约规则设定为P0;
(2)通信协议规约过程是通信协议具体化和细化的过程;在通信协议规约过程中,只要条件Ci满足,规约将继续,否则将得到通信协议的最终规约结果;
(3)每次规约的结果只能唯一,而且不能是原来的规约规则,也即不存在递归规约方式。
3.如权利要求2所述的方法,其特征在于,通信协议规约采用配置文件的形式保存通信协议规约。
4.如权利要求3所述的方法,其特征在于,通信协议规约采用XML文件的形式保存通信协议规约。
5.如权利要求2所述的方法,其特征在于,第二步中,通信命令解析规约是依据第一步设计的通信协议规约,对接收到的通信数据进行解析,将解析得到的数据作为后续通信协议规约的条件,并最终规约出接收到的是何种通信命令。
6.如权利要求5所述的方法,其特征在于,第二步具体为:
(1)加载规约规则Pi;
(2)读取规约规则Pi的字段集合Ii,按照字段集合Ii中的字段依次进行字段解析;
(3)如果当前解析字段为规约字段,则按照规约条件Ci进行规约,得到下一步规约规则,跳转到步骤(1);否则跳转到步骤(2)继续进行字段解析;
(4)规约结束:当规约规则Pi的字段集合Ii全部解析完毕时,当前加载的规约规则即为最终的规约结果,根据规约结果识别出接收到的是何种通信命令。
7.如权利要求6所述的方法,其特征在于,第三步中,通过反射技术获取通信数据反馈或响应调用接口,然后调用反馈或响应接口,完成通信交互过程闭环。
8.如权利要求6所述的方法,其特征在于,步骤(1)中起始时默认加载主规约规则P0。
9.如权利要求7所述的方法,其特征在于,第三步具体为:
(1)基于第二步中通信命令解析规约的结果,通过接收到的通信命令名称,从响应配置中,查询数据反馈或响应接口;
(2)将查询到的数据反馈或响应接口载入内存;
(3)通过反射技术调用数据反馈或响应接口,并通过传入解析后的接收数据或当前设备状态,完成通信响应接口调用,从而保证通信数据反馈或响应是按照当前接收数据或状态进行的。
10.一种如权利要求1至9中任一项所述的方法在嵌入式软件闭环测试技术领域中的应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110941241.6A CN113609024B (zh) | 2021-08-17 | 2021-08-17 | 一种基于反射技术的嵌入式软件闭环测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110941241.6A CN113609024B (zh) | 2021-08-17 | 2021-08-17 | 一种基于反射技术的嵌入式软件闭环测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113609024A true CN113609024A (zh) | 2021-11-05 |
CN113609024B CN113609024B (zh) | 2023-07-14 |
Family
ID=78308791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110941241.6A Active CN113609024B (zh) | 2021-08-17 | 2021-08-17 | 一种基于反射技术的嵌入式软件闭环测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113609024B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013020447A1 (zh) * | 2011-08-11 | 2013-02-14 | 华为技术有限公司 | 预编码控制指示反馈信道配置方法和装置 |
CN103730959A (zh) * | 2013-12-19 | 2014-04-16 | 广东电网公司电力科学研究院 | 配电网设备的通信规约测试方法 |
CN108400395A (zh) * | 2018-02-12 | 2018-08-14 | 国家电网公司 | 智能蓄电池及其远程管理系统 |
CN111314166A (zh) * | 2019-12-30 | 2020-06-19 | 中国人民解放军军事科学院国防科技创新研究院 | 一种多节点综合仿真系统及方法 |
CN111970166A (zh) * | 2020-07-31 | 2020-11-20 | 南京南瑞继保电气有限公司 | 一种测试方法、装置、设备、系统及计算机可读存储介质 |
-
2021
- 2021-08-17 CN CN202110941241.6A patent/CN113609024B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013020447A1 (zh) * | 2011-08-11 | 2013-02-14 | 华为技术有限公司 | 预编码控制指示反馈信道配置方法和装置 |
CN103730959A (zh) * | 2013-12-19 | 2014-04-16 | 广东电网公司电力科学研究院 | 配电网设备的通信规约测试方法 |
CN108400395A (zh) * | 2018-02-12 | 2018-08-14 | 国家电网公司 | 智能蓄电池及其远程管理系统 |
CN111314166A (zh) * | 2019-12-30 | 2020-06-19 | 中国人民解放军军事科学院国防科技创新研究院 | 一种多节点综合仿真系统及方法 |
CN111970166A (zh) * | 2020-07-31 | 2020-11-20 | 南京南瑞继保电气有限公司 | 一种测试方法、装置、设备、系统及计算机可读存储介质 |
Non-Patent Citations (6)
Title |
---|
MAX-ARNO MEYER等: "Closed-loop platoon simulation with cooperative intelligent transportation systems based on vehicle-to-X communication", SIMULATION MODELLING PRACTICE AND THEORY, vol. 106, pages 1 - 10 * |
ULO NURGES等: "Stability domain of fixed order controllers via reflection segments of polynomials", 2011 9TH IEEE INTERNATIONAL CONFERENCE ON CONTROL AND AUTOMATION (ICCA), pages 112 - 117 * |
刘晓军 等: "基于嵌入式控制器的小型RTU的设计", 北京化工大学学报(自然科学版), no. 03, pages 108 - 111 * |
苏宇 等: "基于ARM&FPGA的1394仿真测试前端系统设计", 计算机测量与控制, vol. 24, no. 03, pages 35 - 39 * |
赵维兴 等: "广域电力系统稳定器闭环控制通信实现技术", 电力系统及其自动化学报, vol. 28, no. 06, pages 97 - 102 * |
陈阳春: "基于VxWorks的雷达实时模拟器主控软件的设计与开发", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 03, pages 136 - 811 * |
Also Published As
Publication number | Publication date |
---|---|
CN113609024B (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273286B (zh) | 针对任务应用的场景自动化测试平台及方法 | |
KR101507629B1 (ko) | 기존 애플리케이션들의 커스터마이징 및 분산을 위한 브라우저-기반 프록시 서버 | |
US20130298110A1 (en) | Software Visualization Using Code Coverage Information | |
CN110013672B (zh) | 用于机器运行的游戏的自动化测试的方法、设备、装置以及计算机可读存储介质 | |
CN104123187B (zh) | 创建硬件组件的软件的方法以及硬件组件 | |
US9785415B2 (en) | Remote interface to logical instruments | |
KR102002971B1 (ko) | 디스플레이- 및 작동 유닛 그리고 디스플레이- 및 작동 유닛을 이용하여 필드 기기를 작동시키기 위한 방법 | |
WO2012026881A1 (en) | A method of compliance testing | |
CN110209569A (zh) | 接口测试方法、接口测试装置及存储介质 | |
CN110532182A (zh) | 一种虚拟化平台的自动化测试方法及装置 | |
US8904346B1 (en) | Method and system for automated load testing of web applications | |
KR101585066B1 (ko) | 대화형 원자력 중대사고 시뮬레이션 시스템 | |
CN108153533B (zh) | 制作安装程序的方法和装置、程序的安装方法和装置 | |
CN112241373A (zh) | 自动化测试方法、测试装置、处理器和测试系统 | |
CN113609024A (zh) | 一种基于反射技术的嵌入式软件闭环测试方法 | |
US8745587B2 (en) | System and method for testing computer programs | |
CN114925516A (zh) | 一种自动建模并仿真的方法和装置 | |
Vuli et al. | Maximizing test asset re-use across MIL, SIL, and HIL development platforms | |
CN109240667A (zh) | 一种应用软件的开发方法、装置、存储介质及终端 | |
CN115268298A (zh) | 仿真测试方法、装置、电子设备及存储介质 | |
Luyten et al. | A generic approach for multi-device user interface rendering with uiml | |
US10545729B2 (en) | Computer program interface | |
US20160091876A1 (en) | Embedded Shared Logical Instrument | |
JP2000132425A (ja) | ソフトウェアテスト方法 | |
CN113973060A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |