本发明专利技术公开了一种嵌入式软件故障注入方法及装置,涉及嵌入式软件测试领域,该方法包括构建嵌入式软件数字化运行平台,以及构建数据接口套件;在数据接口套件中创建接口的通信协议与物理量间的对应关系,将通信协议中的数据分解至对应的物理量上;创建数据DLL和控制DLL,所述数据DLL用于存储嵌入式软件正常的外部激励,且输出关联至数据接口套件中的物理量上,以及对于闭环解算类型的嵌入式软件;控制DLL从数据接口套件获取正常外部激励或标准解算数据,并基于测试需要对其叠加误差数据或替换成错误数据,实现测试故障注入。本发明专利技术能够对嵌入式软件测试工作的有效性进行保障。对嵌入式软件测试工作的有效性进行保障。对嵌入式软件测试工作的有效性进行保障。
【技术实现步骤摘要】
一种嵌入式软件故障注入方法及装置
[0001]本专利技术涉及嵌入式软件测试领域,具体涉及一种嵌入式软件故障注入方法及装置。
技术介绍
[0002]有效的软件测试是提高软件质量的重要手段,故障注入技术作为能加速系统失效的方法,可以较精确地得出系统测试覆盖率、错误潜伏率等参数,已经被广泛地应用于软件测试工作中。通过对注入故障后加速系统发生故障和失效的过程进行监测及分析,可极大缩短对被测软件可靠性和容错特性测试结果的获得周期。因此故障注入技术在提高软件质量、减少软件危害、改进软件开发过程等方面起着重要作用。
[0003]嵌入式软件由于在实现设计功能时与硬件结合较为紧密,开展测试工作时,测试人员受硬件接口限制,往往无法充分依据设计的失效模式进行故障数据注入,特别是对于一些闭环解算类型的嵌入式软件,构造相关的故障数据难度更大。因此,亟需一种嵌入式软件故障注入方法,能够灵活开展嵌入式软件测试工作。
技术实现思路
[0004]针对现有技术中存在的缺陷,本专利技术的目的在于提供一种嵌入式软件故障注入方法及装置,能够对嵌入式软件测试工作的有效性进行保障。
[0005]为达到以上目的,本专利技术提供的一种嵌入式软件故障注入方法,具体包括以下步骤:
[0006]构建嵌入式软件数字化运行平台以用于运行待测嵌入式软件,以及构建数据接口套件以用于与待测嵌入式软件进行数据交互;
[0007]在数据接口套件中创建接口的通信协议与物理量间的对应关系,将通信协议中的数据分解至对应的物理量上,或者将物理量组包成通信协议发送给待测嵌入式软件;
[0008]创建数据DLL和控制DLL,所述数据DLL用于存储嵌入式软件正常的外部激励,且输出关联至数据接口套件中的物理量上,以及对于闭环解算类型的嵌入式软件,数据DLL用于进行闭环仿真解算,输入为解算控制量,输出为标准解算数据;
[0009]控制DLL从数据接口套件获取正常外部激励或标准解算数据,并基于测试需要对其叠加误差数据或替换成错误数据,实现测试故障注入。
[0010]在上述技术方案的基础上,
[0011]所述嵌入式软件数字化运行平台为对嵌入式软件运行硬件平台的虚拟;
[0012]所述嵌入式软件数字化运行平台包括数字化处理器和数字化通信芯片。
[0013]在上述技术方案的基础上,所述数据接口套件中包括多个通信协议和多个物理量,且数据接口套件中描述了通信协议和物理量间的对应关系。
[0014]在上述技术方案的基础上,所述待测嵌入式软件为闭环解算类型的嵌入式软件或开环控制类型的嵌入式软件。
[0015]本专利技术提供的一种嵌入式软件故障注入装置,包括:
[0016]嵌入式软件数字化运行平台,其用于运行待测嵌入式软件,以及构建数据接口套件以用于与待测嵌入式软件进行数据交互;
[0017]数据接口套件,其用于与待测嵌入式软件进行数据交互,所述数据接口套件中创建接口的通信协议与物理量间的对应关系,将通信协议中的数据分解至对应的物理量上,或者将物理量组包成通信协议发送给待测嵌入式软件;
[0018]数据DLL,其用于存储嵌入式软件正常的外部激励,且输出关联至数据接口套件中的物理量上,以及对于闭环解算类型的嵌入式软件,数据DLL用于进行闭环仿真解算,输入为解算控制量,输出为标准解算数据;
[0019]控制DLL,其用于从数据接口套件获取正常外部激励或标准解算数据,并基于测试需要对其叠加误差数据或替换成错误数据,实现测试故障注入。
[0020]在上述技术方案的基础上,所述待测嵌入式软件为闭环解算类型的嵌入式软件或开环控制类型的嵌入式软件。
[0021]与现有技术相比,本专利技术的优点在于:采用数字化虚拟技术对嵌入式软件运行的硬件平台进行了数字化实现,能够在没有嵌入式系统硬件环境的情况下,利用通信协议灵活实现对嵌入式软件的故障注入功能,利用数据DLL和控制DLL控制嵌入式软件运行过程中环境物理量数值的改变,将数据、操作与解算模型解耦,以较为灵活的方式向被测嵌入式软件注入故障参数和类型。与此同时,在嵌入式软件测试过程中不用对被测软件源程序进行修改,最大程度上对嵌入式软件测试工作的有效性进行了保障。
附图说明
[0022]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1为本专利技术实施例中一种嵌入式软件故障注入方法的流程图;
[0024]图2为本专利技术实施例中一种嵌入式软件故障注入装置的结构示意图。
具体实施方式
[0025]本专利技术实施例提供一种嵌入式软件故障注入方法,能够便捷观察系统的输入输出并评估系统的鲁棒性和可靠性,最终避免在实际应用中发生软件失效和造成损失。本专利技术实施例相应地还提供了一种嵌入式软件故障注入装置。
[0026]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。
[0027]参见图1所示,本专利技术实施例提供一种嵌入式软件故障注入方法,具体包括以下步骤:
[0028]S1:构建嵌入式软件数字化运行平台以用于运行待测嵌入式软件,以及构建数据接口套件以用于与待测嵌入式软件进行数据交互;
[0029]本专利技术实施例中,嵌入式软件数字化运行平台为对嵌入式软件运行硬件平台的虚拟;嵌入式软件数字化运行平台包括数字化处理器和数字化通信芯片。待测嵌入式软件为闭环解算类型的嵌入式软件或开环控制类型的嵌入式软件。
[0030]S2:在数据接口套件中创建接口的通信协议与物理量间的对应关系,将通信协议中的数据分解至对应的物理量上,或者将物理量组包成通信协议发送给待测嵌入式软件。
[0031]本专利技术实施例中,数据接口套件中包括多个通信协议和多个物理量,且数据接口套件中描述了通信协议和物理量间的对应关系。
[0032]S3:创建数据DLL(Dynamic Link Library,动态链接库)和控制DLL,数据DLL用于存储嵌入式软件正常的外部激励,且输出关联至数据接口套件中的物理量上,以及对于闭环解算类型的嵌入式软件,数据DLL用于进行闭环仿真解算,输入为解算控制量,输出为标准解算数据。
[0033]S4:控制DLL从数据接口套件获取正常外部激励或标准解算数据,并基于测试需要对其叠加误差数据或替换成错误数据,实现测试故障注入。
[0034]为了方便测试人员控制,本专利技术将误差数据叠加开关和错误数据替换开关均作为数据接口套件中的一个物理量,测试人员即时修改即时生效。相关故障失效模式在制作控制DLL时就已经预埋进去,是测试策略和测试经验的直接体现。
[0035]本专利技术的嵌入式软件故本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种嵌入式软件故障注入方法,其特征在于,具体包括以下步骤:构建嵌入式软件数字化运行平台以用于运行待测嵌入式软件,以及构建数据接口套件以用于与待测嵌入式软件进行数据交互;在数据接口套件中创建接口的通信协议与物理量间的对应关系,将通信协议中的数据分解至对应的物理量上,或者将物理量组包成通信协议发送给待测嵌入式软件;创建数据DLL和控制DLL,所述数据DLL用于存储嵌入式软件正常的外部激励,且输出关联至数据接口套件中的物理量上,以及对于闭环解算类型的嵌入式软件,数据DLL用于进行闭环仿真解算,输入为解算控制量,输出为标准解算数据;控制DLL从数据接口套件获取正常外部激励或标准解算数据,并基于测试需要对其叠加误差数据或替换成错误数据,实现测试故障注入。2.如权利要求1所述的一种嵌入式软件故障注入方法,其特征在于:所述嵌入式软件数字化运行平台为对嵌入式软件运行硬件平台的虚拟;所述嵌入式软件数字化运行平台包括数字化处理器和数字化通信芯片。3.如权利要求1所述的一种嵌入式软件故障注入方法,其特征在于:所述数据接口套件中包括多个通信协议和多个物理量,且数据接口套件中描述了通信协...
【专利技术属性】
技术研发人员:原野,刘丹,刘梦达,蔡梦琳,
申请(专利权)人:湖北航天技术研究院总体设计所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。