CN113609024B - 一种基于反射技术的嵌入式软件闭环测试方法 - Google Patents

一种基于反射技术的嵌入式软件闭环测试方法 Download PDF

Info

Publication number
CN113609024B
CN113609024B CN202110941241.6A CN202110941241A CN113609024B CN 113609024 B CN113609024 B CN 113609024B CN 202110941241 A CN202110941241 A CN 202110941241A CN 113609024 B CN113609024 B CN 113609024B
Authority
CN
China
Prior art keywords
protocol
communication
response
rule
communication protocol
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
Application number
CN202110941241.6A
Other languages
English (en)
Other versions
CN113609024A (zh
Inventor
陶金龙
冯大成
陈鹏
刘阳
朱盛录
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202110941241.6A priority Critical patent/CN113609024B/zh
Publication of CN113609024A publication Critical patent/CN113609024A/zh
Application granted granted Critical
Publication of CN113609024B publication Critical patent/CN113609024B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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 (8)

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)每次规约的结果只能唯一,而且不能是原来的规约规则,也即不存在递归规约方式。
2.如权利要求1所述的方法,其特征在于,通信协议规约采用配置文件的形式保存通信协议规约。
3.如权利要求2所述的方法,其特征在于,通信协议规约采用XML文件的形式保存通信协议规约。
4.如权利要求1所述的方法,其特征在于,第二步中,通信命令解析规约是依据第一步设计的通信协议规约,对接收到的通信数据进行解析,将解析得到的数据作为后续通信协议规约的条件,并最终规约出接收到的是何种通信命令。
5.如权利要求4所述的方法,其特征在于,第二步具体为:
(1)加载规约规则Pi
(2)读取规约规则Pi的字段集合Ii,按照字段集合Ii中的字段依次进行字段解析;
(3)如果当前解析字段为规约字段,则按照规约条件Ci进行规约,得到下一步规约规则,跳转到步骤(1);否则跳转到步骤(2)继续进行字段解析;
(4)规约结束:当规约规则Pi的字段集合Ii全部解析完毕时,当前加载的规约规则即为最终的规约结果,根据规约结果识别出接收到的是何种通信命令。
6.如权利要求5所述的方法,其特征在于,第三步中,通过反射技术获取通信数据反馈或响应调用接口,然后调用反馈或响应接口,完成通信交互过程闭环。
7.如权利要求5所述的方法,其特征在于,步骤(1)中起始时默认加载主规约规则P0
8.如权利要求6所述的方法,其特征在于,第三步具体为:
(1)基于第二步中通信命令解析规约的结果,通过接收到的通信命令名称,从响应配置中,查询数据反馈或响应接口;
(2)将查询到的数据反馈或响应接口载入内存;
(3)通过反射技术调用数据反馈或响应接口,并通过传入解析后的接收数据或当前设备状态,完成通信响应接口调用,从而保证通信数据反馈或响应是按照当前接收数据或状态进行的。
CN202110941241.6A 2021-08-17 2021-08-17 一种基于反射技术的嵌入式软件闭环测试方法 Active CN113609024B (zh)

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 CN113609024A (zh) 2021-11-05
CN113609024B true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103730959A (zh) * 2013-12-19 2014-04-16 广东电网公司电力科学研究院 配电网设备的通信规约测试方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932115B (zh) * 2011-08-11 2016-01-13 华为技术有限公司 预编码控制指示反馈信道配置方法和装置
CN108400395A (zh) * 2018-02-12 2018-08-14 国家电网公司 智能蓄电池及其远程管理系统
CN111314166B (zh) * 2019-12-30 2021-04-30 中国人民解放军军事科学院国防科技创新研究院 一种多节点综合仿真系统及方法
CN111970166B (zh) * 2020-07-31 2021-11-12 南京南瑞继保电气有限公司 一种测试方法、装置、设备、系统及计算机可读存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103730959A (zh) * 2013-12-19 2014-04-16 广东电网公司电力科学研究院 配电网设备的通信规约测试方法

Also Published As

Publication number Publication date
CN113609024A (zh) 2021-11-05

Similar Documents

Publication Publication Date Title
CN111625452B (zh) 流量回放方法和系统
CN107273286B (zh) 针对任务应用的场景自动化测试平台及方法
US7406626B2 (en) Test agent architecture
US20100005410A1 (en) Mobile device application framework
CN107025037B (zh) 一种智能设备的控制方法及装置
CN104683386B (zh) 可定制响应的桩服务实现方法及装置
CN110362490B (zh) 融合iOS与Android移动应用的自动化测试方法及系统
WO2020186680A1 (zh) 一种建模平台接口测试方法
CN102866944A (zh) 一种压力测试系统及方法
CN112579446A (zh) 一种接口测试方法、装置、电子设备和存储介质
CN110532182A (zh) 一种虚拟化平台的自动化测试方法及装置
CN112306861A (zh) 一种基于Unittest和Jenkins工具的接口自动化测试体系及方法
US20220300262A1 (en) Method for constructing, running and implementing cross-platform application, terminal, server and system
CN101859246A (zh) 依据不同浏览器转换相应脚本的系统及其方法
CN113609024B (zh) 一种基于反射技术的嵌入式软件闭环测试方法
CN112068879B (zh) 基于配置化的客户端应用程序开发框架构建方法及装置
US7865880B2 (en) System and/or method for implementing efficient techniques for testing common information model providers
CN116360735A (zh) 一种表单生成方法、装置、设备和介质
WO2011035659A1 (zh) 功能手机的二次开发方法及装置
CN115268298A (zh) 仿真测试方法、装置、电子设备及存储介质
CN115562989A (zh) 一种自动化测试序列转化方法、系统、设备和介质
CN114925516A (zh) 一种自动建模并仿真的方法和装置
CN103744757A (zh) 一种基于arinc661的df文件验证方法
CN103220186A (zh) 一种通信设备测试方法和系统
CN112860584A (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