CN112714015B - 通信数据故障注入方法及其系统、通信设备和存储介质 - Google Patents
通信数据故障注入方法及其系统、通信设备和存储介质 Download PDFInfo
- Publication number
- CN112714015B CN112714015B CN202011538904.1A CN202011538904A CN112714015B CN 112714015 B CN112714015 B CN 112714015B CN 202011538904 A CN202011538904 A CN 202011538904A CN 112714015 B CN112714015 B CN 112714015B
- Authority
- CN
- China
- Prior art keywords
- data
- faults
- user
- fault
- communication data
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0681—Configuration of triggering conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0686—Additional information in the notification, e.g. enhancement of specific meta-data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提供通信数据故障注入方法及其系统、通信设备和存储介质,该方法包括:接收外部输入的通信数据;将输入的通信数据进行数据过滤,以筛选出所有需要注入故障的数据;利用自定义代码的方式编写自定义代码故障;判断是否接收到用户选择的常用故障;如果接收到用户选择的常用故障,则将用户选择的常用故障和自定义代码故障组合后注入筛选后的数据。本发明可以有效地进行模拟多种复杂情况下的故障注入,通过自定义代码几乎能够涵盖所有用户的需求,将选择的常用故障和自定义代码组合后进行故障注入,具有一定的通用性和灵活性,也让仿真测试变得更便利。
Description
技术领域
本发明涉及通信领域,尤其涉及通信数据故障注入方法及其系统、通信设备和存储介质。
背景技术
目前,常用故障注入方法大多通过固化几种常用故障到程序中,虽然能够满足用户当前的需求,但是,如果需求更改要增加其他故障注入就需要重新修改程序,这样一来,在测试过程中非常不方便且会浪费大量的时间在修改程序上,虽然存在直接手动输入新数据的形式,但是只能同一时间实现对单一类型通信数据的故障的注入,并且不能够根据实际情况进行变化和组合,无法自动促发故障注入。因此,目前现有的常用故障注入方法,在具体故障注入的时候具有单一性、固定性等缺陷,无法完全满足复杂环境下的故障注入要求。
发明内容
有鉴于此,本发明的目的在于提供一种通信数据故障注入方法及其系统、通信设备和存储介质,能有效地进行模拟多种复杂情况下的故障注入,通过自定义代码几乎能够涵盖所有用户的需求,具有一定的通用性和灵活性。
本发明提出一种通信数据故障注入方法,其中,所述方法包括:
接收外部输入的通信数据;
将输入的通信数据进行数据过滤,以筛选出所有需要注入故障的数据;
利用自定义代码的方式编写自定义代码故障;
判断是否接收到用户选择的常用故障;
如果接收到用户选择的常用故障,则将用户选择的常用故障和所述自定义代码故障组合后注入筛选后的数据。
优选的,所述方法还包括:
如果没有接收到用户选择的常用故障,则将所述自定义代码故障注入筛选后的数据。
优选的,所述将输入的通信数据进行数据过滤的步骤具体包括:
根据数据协议中定义的具体字段内容,从输入的通信数据中筛选出包括过滤字段内容的通信数据作为需要注入故障的数据。
优选的,所述将用户选择的常用故障和所述自定义代码故障组合后注入筛选后的数据的步骤具体还包括:
将用户选择的单一常用故障和所述自定义代码故障组合后注入筛选后的数据,或者将用户选择的多种常用故障和所述自定义代码故障组合后注入筛选后的数据。
另一方面,本发明还提供一种通信数据故障注入系统,其中,所述系统包括:
输入模块,用于接收外部输入的通信数据;
过滤模块,用于将输入的通信数据进行数据过滤,以筛选出所有需要注入故障的数据;
自定义模块,用于利用自定义代码的方式编写自定义代码故障;
判断模块,用于判断是否接收到用户选择的常用故障;
注入模块,用于如果接收到用户选择的常用故障,则将用户选择的常用故障和所述自定义代码故障组合后注入筛选后的数据。
优选的,所述注入模块还用于:
如果没有接收到用户选择的常用故障,则将所述自定义代码故障注入筛选后的数据。
优选的,所述过滤模块具体用于:
根据数据协议中定义的具体字段内容,从输入的通信数据中筛选出包括过滤字段内容的通信数据作为需要注入故障的数据。
优选的,所述注入模块具体还用于:
将用户选择的单一常用故障和所述自定义代码故障组合后注入筛选后的数据,或者将用户选择的多种常用故障和所述自定义代码故障组合后注入筛选后的数据。
再一方面,本发明还提供一种通信设备,其中,所述通信设备包括存储器和处理器,所述存储器存储计算机处理指令,所述处理器通过调用所述计算机处理指令来执行前述的通信数据故障注入方法。
又一方面,本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述的通信数据故障注入方法的步骤。
本发明提供的技术方案具有以下优点:通过将用户选择的常用故障和自定义代码故障组合后进行故障注入,可以有效地进行模拟多种复杂情况下的故障注入,具有故障注入的多样性优点,而且通过自定义代码几乎能够涵盖所有用户的需求,并能根据实际情况进行变化和组合,具有一定的通用性和灵活性,同时也让仿真测试变得更便利,能实现故障的自由编辑、故障自由组合和故障的自由注入。
附图说明
图1为本发明一实施方式中通信数据故障注入方法的流程示意图;
图2为本发明一实施方式中通信数据故障注入过程的流程图;
图3为本发明一实施方式中通信数据故障注入系统1的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下将对本发明所提供的一种通信数据故障注入方法及其系统进行详细说明。
请参阅图1,为本发明一实施方式中通信数据故障注入方法的流程示意图。
在本实施方式中,通信数据故障注入方法适用于轨道交通、医疗器械、智能电网及航空航天等领域在数据通信过程中模拟各种复杂环境下故障注入的仿真实验。
在步骤S1中,接收外部输入的通信数据。
在本实施方式中,输入的通信数据包括多种类型通信数据。
在步骤S2中,将输入的通信数据进行数据过滤,以筛选出所有需要注入故障的数据。
在本实施方式中,所述将输入的通信数据进行数据过滤的步骤S2具体包括:
根据数据协议中定义的具体字段内容,从输入的通信数据中筛选出包括过滤字段内容的通信数据作为需要注入故障的数据。
在本实施方式中,例如以太网的数据链路层的帧格式协议中规定,数据链路层的帧格式字段包括DMAC、SMAC、Type、Data、CRC,DMAC字段包括6个字节,表示目的MAC地址;SMAC字段包括6个字节,表示源MAC地址;Type字段包括2个字节,表示数据协议类型;Data字段的最小长度必须是46个字节以保证帧长至少为64字节;CRC字段包括4个字节,表示帧校验序列,用于帧内后续字节差错的循环冗余校验。
在本实施方式中,以过滤字段为DMAC字段为例进行说明,即过滤目的MAC地址,如果输入的通信数据中存在具有相同目的MAC地址的通信数据,就作为需要注入故障的数据,相反,如果输入的通信数据中不存在相同目的MAC地址的通信数据,就不能作为需要注入故障的数据,因此,以与过滤字段内容是否相同作为判断是否需要注入故障的数据的标准,过滤字段内容相同,则可以作为需要注入故障的数据,过滤字段内容不相同,则不可以作为需要注入故障的数据。
在步骤S3中,利用自定义代码的方式编写自定义代码故障。
在本实施方式中,在程序过程中,用户可以根据自己的需求通过编写代码的形式对原始数据进行任意修改,可以通过设置条件控制整个故障注入流程、促发条件以及是否继续往下执行等,修改之后软件会对自定义代码进行代码语法检查,检查无误后就进行编译、加载、运行,期间不需要停止程序。
在本实施方式中,自定义代码的方式主要采用动态链接库的技术,通过指定通用函数接口void MainFunc(char*&data,int&dataLen,bool&bFlag)为用户自定义代码主函数,代码格式遵循C/C++代码格式和语法,参数data为接收数据原始值指针,既为输入参数也为输出参数,参数dataLen为接收数据长度,既为输入参数也为输出参数,参数bFlag为程序执行返回的结果,如果为true,表示程序继续下一步进行组合常用故障类型进行故障注入,如果为false,表示程序不进行其他常用故障类型的注入。整个函数定义如下:
extern"C"void MainFunc(char*&data,int&dataLen,bool&bFlag)
{
//在此处写入您的代码
bFlag=true;
}
用户可以在提供的文本编辑器中对函数体内容进行编辑,编辑后的文本会经过主程序对其进行补充,完善成.h和.cpp文件的标准写法,然后生成对应的.h文件和.cpp文件,再经过调用MinGW编译器对生成.h文件和.cpp文件进行编译,生成动态链接库.dll文件,这个.dll就可以提供程序在运行时进行动态调用,从而实现了自定义代码注入故障的功能。
在步骤S4中,判断是否接收到用户选择的常用故障。
在本实施方式中,在程序过程中,列出几种常用故障供用户选择使用,用户可以选择一种单一的常用故障,也可以选择多种不同的常用故障,为用户使用提供了方便。在本实施方式中,常用故障类型举例列出8种:
(1)数据丢失;
(2)数据顺序不正确;
(3)同一数据多次接收;
(4)数据CRC错误;
(5)错误的发送方和目的方数据;
(6)不符合期望的长度;
(7)未知的数据报文标识;
(8)数据延时。
在步骤S5中,如果接收到用户选择的常用故障,则将用户选择的常用故障和自定义代码故障组合后注入筛选后的数据。
在本实施方式中,所述将用户选择的常用故障和所述自定义代码故障组合后注入筛选后的数据的步骤具体还包括:
将用户选择的单一常用故障和所述自定义代码故障组合后注入筛选后的数据,或者将用户选择的多种常用故障和所述自定义代码故障组合后注入筛选后的数据。
在本实施方式中,自定义代码故障的注入通过前面提到的函数参数bFlag为程序执行返回的结果,当返回false即可实现。举例来说,以数据长度修改为50字节作为自定义代码故障,通过以下程序实现:
extern"C"void MainFunc(char*&data,int&dataLen,bool&bFlag)
{
//在此处写入您的代码
dataLen=50;//用户修改的代码
bFlag=false;//用户修改的代码
}。
在本实施方式中,常用故障方式只需要不更改前面提到函数void MainFunc(char*&data,int&dataLen,bool&bFlag)的参数值即可实现。举例来说,以数据延时10ms作为常用故障进行说明,通过以下两个步骤来实现:
第一步修改函数如下:
extern"C"void MainFunc(char*&data,int&dataLen,bool&bFlag)
{
//在此处写入您的代码
bFlag=true;//用户修改的代码
}
第二步:设置延时时间10ms。
在本实施方式中,将用户选择的单一常用故障和自定义代码故障组合后注入筛选后的数据,通常先进行自定义代码的方式对数据进行故障注入之后,再经过单一常用故障的的方式进行故障注入。自定义代码方式,用户可以更改函数void MainFunc(char*&data,int&dataLen,bool&bFlag)的参数值,但要保证参数bFlag返回true即可实现,单一常用故障只需要用户对其进行选择即可。举例来说,以数据延时10ms作为单一的常用故障,并以数据长度修改为50字节作为自定义代码故障,将二者组合进行说明,通过以下两个步骤来实现:
第一步修改函数如下:
extern"C"void MainFunc(char*&data,int&dataLen,bool&bFlag)
{
//在此处写入您的代码
dataLen=50;//用户修改的代码
bFlag=true;//用户修改的代码
}
第二步:设置延时时间10ms。
在本实施方式中,将用户选择的多种常用故障和所述自定义代码故障组合后注入筛选后的数据,通常先进行自定义代码的方式对数据进行故障注入之后,再经过多种常用故障的的方式进行故障注入。自定义代码方式,用户可以更改函数void MainFunc(char*&data,int&dataLen,bool&bFlag)的参数值,但要保证参数bFlag返回true即可实现,多种常用故障只需要用户对其进行选择即可。举例来说,以数据长度修改为50字节作为自定义代码故障,以数据延时10ms和修改数据第3字节数值为20作为两种常用故障,将自定义代码故障和两种常用故障组合在一起进行说明,通过以下两次添加步骤来实现:
第一次添加:
第一步修改函数如下:
extern"C"void MainFunc(char*&data,int&dataLen,bool&bFlag)
{
//在此处写入您的代码
dataLen=50;//用户修改的代码
bFlag=true;//用户修改的代码
};
第二步:设置延时时间10ms。
第二次添加:
第一步修改函数如下:
extern"C"void MainFunc(char*&data,int&dataLen,bool&bFlag)
{
//在此处写入您的代码
Data[2]=20;//用户修改的代码
bFlag=false;//用户修改的代码
}。
在本实施方式中,针对同一类型的通信数据,自定义代码故障和常用故障能够相互组合后进行故障注入,这样不仅为同一类型的数据增加了多种变化,而且也为用户提供了便利。
在本实施方式中,不仅能实现同一类型通信数据故障组合,而且还能实现多种类型通信数据故障组合,即用户可以通过前面S1到S5的步骤反复进行操作,同时选择多种类型通信数据,然后同时故障注入生效。
在步骤S6中,如果没有接收到用户选择的常用故障,则将自定义代码故障注入筛选后的数据,具体的自定义代码故障的注入和前述的相同,在此不做重复描述。
请参阅图2,为本发明一实施方式中通信数据故障注入过程的流程图。
如图2所示,外部输入多种类型通信数据,将输入的多种类型通信数据进行数据过滤,以筛选出所有需要注入故障的数据,然后将所有需要注入故障的数据组合在一起形成多种类型通信数据故障组合,利用用户选择的常用故障和自定义代码故障组合后注入筛选后的数据,最后输出的数据为组合故障注入后的多种类型通信数据,其中具体的组合方式和图1步骤S5中记载的内容相同,在此不做重复描述。
请参阅图3,为本发明一实施方式中通信数据故障注入系统的结构示意图。
在本实施方式中,通信数据故障注入系统1包括输入模块2、过滤模块3、自定义模块4、判断模块5和注入模块6。
输入模块2,用于接收外部输入的通信数据。
在本实施方式中,输入的通信数据包括多种类型通信数据。
过滤模块3,用于将输入的通信数据进行数据过滤,以筛选出所有需要注入故障的数据。
在本实施方式中,过滤模块3具体用于:
根据数据协议中定义的具体字段内容,从输入的通信数据中筛选出包括过滤字段内容的通信数据作为需要注入故障的数据。
在本实施方式中,例如以太网的数据链路层的帧格式协议中规定,数据链路层的帧格式字段包括DMAC、SMAC、Type、Data、CRC,DMAC字段包括6个字节,表示目的MAC地址;SMAC字段包括6个字节,表示源MAC地址;Type字段包括2个字节,表示数据协议类型;Data字段的最小长度必须是46个字节以保证帧长至少为64字节;CRC字段包括4个字节,表示帧校验序列,用于帧内后续字节差错的循环冗余校验。
在本实施方式中,以过滤字段为DMAC字段为例进行说明,即过滤目的MAC地址,如果输入的通信数据中存在具有相同目的MAC地址的通信数据,就作为需要注入故障的数据,相反,如果输入的通信数据中不存在相同目的MAC地址的通信数据,就不能作为需要注入故障的数据,因此,以与过滤字段内容是否相同作为判断是否需要注入故障的数据的标准,过滤字段内容相同,则可以作为需要注入故障的数据,过滤字段内容不相同,则不可以作为需要注入故障的数据。
自定义模块4,用于利用自定义代码的方式编写自定义代码故障。
在本实施方式中,在程序过程中,用户可以根据自己的需求通过编写代码的形式对原始数据进行任意修改,可以通过设置条件控制整个故障注入流程、促发条件以及是否继续往下执行等,修改之后软件会对自定义代码进行代码语法检查,检查无误后就进行编译、加载、运行,期间不需要停止程序。
在本实施方式中,自定义代码的方式主要采用动态链接库的技术,通过指定通用函数接口void MainFunc(char*&data,int&dataLen,bool&bFlag)为用户自定义代码主函数,代码格式遵循C/C++代码格式和语法,参数data为接收数据原始值指针,既为输入参数也为输出参数,参数dataLen为接收数据长度,既为输入参数也为输出参数,参数bFlag为程序执行返回的结果,如果为true,表示程序继续下一步进行组合常用故障类型进行故障注入,如果为false,表示程序不进行其他常用故障类型的注入。整个函数定义如下:
extern"C"void MainFunc(char*&data,int&dataLen,bool&bFlag)
{
//在此处写入您的代码
bFlag=true;
}
用户可以在提供的文本编辑器中对函数体内容进行编辑,编辑后的文本会经过主程序对其进行补充,完善成.h和.cpp文件的标准写法,然后生成对应的.h文件和.cpp文件,再经过调用MinGW编译器对生成.h文件和.cpp文件进行编译,生成动态链接库.dll文件,这个.dll就可以提供程序在运行时进行动态调用,从而实现了自定义代码注入故障的功能。
判断模块5,用于判断是否接收到用户选择的常用故障。
在本实施方式中,在程序过程中,列出几种常用故障供用户选择使用,用户可以选择一种单一的常用故障,也可以选择多种不同的常用故障,为用户使用提供了方便。在本实施方式中,常用故障类型举例列出8种:(1)数据丢失;(2)数据顺序不正确;(3)同一数据多次接收;(4)数据CRC错误;(5)错误的发送方和目的方数据;(6)不符合期望的长度;(7)未知的数据报文标识;(8)数据延时。
注入模块6,用于如果接收到用户选择的常用故障,则将用户选择的常用故障和自定义代码故障组合后注入筛选后的数据。
在本实施方式中,注入模块6具体还用于:
将用户选择的单一常用故障和所述自定义代码故障组合后注入筛选后的数据,或者将用户选择的多种常用故障和所述自定义代码故障组合后注入筛选后的数据。
在本实施方式中,自定义代码故障的注入通过前面提到的函数参数bFlag为程序执行返回的结果,当返回false即可实现。举例来说,以数据长度修改为50字节作为自定义代码故障,通过以下程序实现:
extern"C"void MainFunc(char*&data,int&dataLen,bool&bFlag)
{
//在此处写入您的代码
dataLen=50;//用户修改的代码
bFlag=false;//用户修改的代码
}。
在本实施方式中,常用故障方式只需要不更改前面提到函数void MainFunc(char*&data,int&dataLen,bool&bFlag)的参数值即可实现。举例来说,以数据延时10ms作为常用故障进行说明,通过以下两个步骤来实现:
第一步修改函数如下:
extern"C"void MainFunc(char*&data,int&dataLen,bool&bFlag)
{
//在此处写入您的代码
bFlag=true;//用户修改的代码
}
第二步:设置延时时间10ms。
在本实施方式中,将用户选择的单一常用故障和自定义代码故障组合后注入筛选后的数据,通常先进行自定义代码的方式对数据进行故障注入之后,再经过单一常用故障的的方式进行故障注入。自定义代码方式,用户可以更改函数void MainFunc(char*&data,int&dataLen,bool&bFlag)的参数值,但要保证参数bFlag返回true即可实现,单一常用故障只需要用户对其进行选择即可。举例来说,以数据延时10ms作为单一的常用故障,并以数据长度修改为50字节作为自定义代码故障,将二者组合进行说明,通过以下两个步骤来实现:
第一步修改函数如下:
extern"C"void MainFunc(char*&data,int&dataLen,bool&bFlag)
{
//在此处写入您的代码
dataLen=50;//用户修改的代码
bFlag=true;//用户修改的代码
}
第二步:设置延时时间10ms。
在本实施方式中,将用户选择的多种常用故障和所述自定义代码故障组合后注入筛选后的数据,通常先进行自定义代码的方式对数据进行故障注入之后,再经过多种常用故障的的方式进行故障注入。自定义代码方式,用户可以更改函数void MainFunc(char*&data,int&dataLen,bool&bFlag)的参数值,但要保证参数bFlag返回true即可实现,多种常用故障只需要用户对其进行选择即可。举例来说,以数据长度修改为50字节作为自定义代码故障,以数据延时10ms和修改数据第3字节数值为20作为两种常用故障,将自定义代码故障和两种常用故障组合在一起进行说明,通过以下两次添加步骤来实现:
第一次添加:
第一步修改函数如下:
extern"C"void MainFunc(char*&data,int&dataLen,bool&bFlag)
{
//在此处写入您的代码
dataLen=50;//用户修改的代码
bFlag=true;//用户修改的代码
};
第二步:设置延时时间10ms。
第二次添加:
第一步修改函数如下:
extern"C"void MainFunc(char*&data,int&dataLen,bool&bFlag)
{
//在此处写入您的代码
Data[2]=20;//用户修改的代码
bFlag=false;//用户修改的代码
}。
在本实施方式中,针对同一类型的通信数据,自定义代码故障和常用故障能够相互组合后进行故障注入,这样不仅为同一类型的数据增加了多种变化,而且也为用户提供了便利。
在本实施方式中,不仅能实现同一类型通信数据故障组合,而且还能实现多种类型通信数据故障组合,即用户可以通过前面S1到S5的步骤反复进行操作,同时选择多种类型通信数据,然后同时故障注入生效。
在本实施方式中,注入模块6还用于:
如果没有接收到用户选择的常用故障,则将所述自定义代码故障注入筛选后的数据。
此外,本发明还提供一种通信设备,其中,所述通信设备包括存储器和处理器,存储器存储计算机处理指令,处理器通过调用计算机处理指令来执行前述的通信数据故障注入方法。
另外,本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述的通信数据故障注入方法的步骤。
本发明提供的技术方案具有以下优点:通过将用户选择的常用故障和自定义代码故障组合后进行故障注入,可以有效地进行模拟多种复杂情况下的故障注入,具有故障注入的多样性优点,而且通过自定义代码几乎能够涵盖所有用户的需求,并能根据实际情况进行变化和组合,具有一定的通用性和灵活性,同时也让仿真测试变得更便利,能实现故障的自由编辑、故障自由组合和故障的自由注入。
值得注意的是,上述实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,的存储介质,如ROM/RAM、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种通信数据故障注入方法,其特征在于,所述方法包括:
接收外部输入的通信数据;
将输入的通信数据进行数据过滤,以筛选出所有需要注入故障的数据;
利用自定义代码的方式编写自定义代码故障;
判断是否接收到用户选择的常用故障;
如果接收到用户选择的常用故障,则将用户选择的常用故障和所述自定义代码故障组合后注入筛选后的数据;
其中,所述自定义代码的方式采用动态链接库的技术,通过指定函数接口为用户自定义代码主函数,并为所述用户提供对函数体内容进行编辑的文本编辑器;
所述将用户选择的常用故障和所述自定义代码故障组合后注入筛选后的数据,包括:在将自定义代码故障注入所述筛选后的数据之后,再注入所述用户选择的常用故障。
2.如权利要求1所述的通信数据故障注入方法,其特征在于,所述方法包括:
如果没有接收到用户选择的常用故障,则将所述自定义代码故障注入筛选后的数据。
3.如权利要求1所述的通信数据故障注入方法,其特征在于,所述将输入的通信数据进行数据过滤的步骤具体包括:
根据数据协议中定义的具体字段内容,从输入的通信数据中筛选出包括过滤字段内容的通信数据作为需要注入故障的数据。
4.如权利要求1所述的通信数据故障注入方法,其特征在于,所述将用户选择的常用故障和所述自定义代码故障组合后注入筛选后的数据的步骤具体还包括:
将用户选择的单一常用故障和所述自定义代码故障组合后注入筛选后的数据,或者将用户选择的多种常用故障和所述自定义代码故障组合后注入筛选后的数据。
5.一种通信数据故障注入系统,其特征在于,所述系统包括:
输入模块,用于接收外部输入的通信数据;
过滤模块,用于将输入的通信数据进行数据过滤,以筛选出所有需要注入故障的数据;
自定义模块,用于利用自定义代码的方式编写自定义代码故障;
判断模块,用于判断是否接收到用户选择的常用故障;
注入模块,用于如果接收到用户选择的常用故障,则将用户选择的常用故障和所述自定义代码故障组合后注入筛选后的数据;
其中,所述自定义代码的方式采用动态链接库的技术,通过指定函数接口为用户自定义代码主函数,并为所述用户提供对函数体内容进行编辑的文本编辑器;
所述注入模块还用于在将自定义代码故障注入所述筛选后的数据之后,再注入所述用户选择的常用故障。
6.如权利要求5所述的通信数据故障注入系统,其特征在于,所述注入模块还用于:
如果没有接收到用户选择的常用故障,则将所述自定义代码故障注入筛选后的数据。
7.如权利要求5所述的通信数据故障注入系统,其特征在于,所述过滤模块具体用于:
根据数据协议中定义的具体字段内容,从输入的通信数据中筛选出包括过滤字段内容的通信数据作为需要注入故障的数据。
8.如权利要求7所述的通信数据故障注入系统,其特征在于,所述注入模块具体还用于:
将用户选择的单一常用故障和所述自定义代码故障组合后注入筛选后的数据,或者将用户选择的多种常用故障和所述自定义代码故障组合后注入筛选后的数据。
9.一种通信设备,其特征在于,所述通信设备包括存储器和处理器,所述存储器存储计算机处理指令,所述处理器通过调用所述计算机处理指令来执行上述权利要求1-4中任一项所述的通信数据故障注入方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的通信数据故障注入方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011538904.1A CN112714015B (zh) | 2020-12-23 | 2020-12-23 | 通信数据故障注入方法及其系统、通信设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011538904.1A CN112714015B (zh) | 2020-12-23 | 2020-12-23 | 通信数据故障注入方法及其系统、通信设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112714015A CN112714015A (zh) | 2021-04-27 |
CN112714015B true CN112714015B (zh) | 2023-08-22 |
Family
ID=75543746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011538904.1A Active CN112714015B (zh) | 2020-12-23 | 2020-12-23 | 通信数据故障注入方法及其系统、通信设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112714015B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117009252B (zh) * | 2023-10-07 | 2024-01-02 | 之江实验室 | 一种基于函数替换的故障注入测试方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760098A (zh) * | 2012-06-13 | 2012-10-31 | 北京航空航天大学 | 面向bit软件测试的处理器故障注入方法及其模拟器 |
CN103713282A (zh) * | 2013-12-12 | 2014-04-09 | 中国人民解放军海军工程大学 | 基于通用测试平台的视频自动对消装置的自动测试系统 |
JP2014203314A (ja) * | 2013-04-08 | 2014-10-27 | 日立オートモティブシステムズ株式会社 | Ecuシミュレーション装置 |
CN104331324A (zh) * | 2014-11-04 | 2015-02-04 | 哈尔滨工业大学 | MapReduce故障注入套件 |
CN104657247A (zh) * | 2015-02-10 | 2015-05-27 | 上海创景计算机系统有限公司 | 基于jtag调试方式实现通用型故障注入系统和故障注入方法 |
CN105094109A (zh) * | 2014-05-23 | 2015-11-25 | 上海通用汽车有限公司 | 一种故障注入装置 |
CN105204450A (zh) * | 2014-06-17 | 2015-12-30 | 上海通用汽车有限公司 | 一种故障注入系统 |
CN109459684A (zh) * | 2018-12-20 | 2019-03-12 | 中国航空综合技术研究所 | 基于数据重构的边界扫描故障注入方法 |
WO2019110121A1 (en) * | 2017-12-08 | 2019-06-13 | Huawei Technologies Co., Ltd. | Fault injection system and method of fault injection |
CN110688313A (zh) * | 2019-09-26 | 2020-01-14 | 天津津航计算技术研究所 | 一种VxWorks操作系统下软件测试的故障注入方法 |
CN110704315A (zh) * | 2019-09-26 | 2020-01-17 | 天津津航计算技术研究所 | 一种嵌入式软件测试的故障注入装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190079809A (ko) * | 2017-12-28 | 2019-07-08 | 현대자동차주식회사 | 결함 주입 테스트 장치 및 그 방법 |
-
2020
- 2020-12-23 CN CN202011538904.1A patent/CN112714015B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760098A (zh) * | 2012-06-13 | 2012-10-31 | 北京航空航天大学 | 面向bit软件测试的处理器故障注入方法及其模拟器 |
JP2014203314A (ja) * | 2013-04-08 | 2014-10-27 | 日立オートモティブシステムズ株式会社 | Ecuシミュレーション装置 |
CN103713282A (zh) * | 2013-12-12 | 2014-04-09 | 中国人民解放军海军工程大学 | 基于通用测试平台的视频自动对消装置的自动测试系统 |
CN105094109A (zh) * | 2014-05-23 | 2015-11-25 | 上海通用汽车有限公司 | 一种故障注入装置 |
CN105204450A (zh) * | 2014-06-17 | 2015-12-30 | 上海通用汽车有限公司 | 一种故障注入系统 |
CN104331324A (zh) * | 2014-11-04 | 2015-02-04 | 哈尔滨工业大学 | MapReduce故障注入套件 |
CN104657247A (zh) * | 2015-02-10 | 2015-05-27 | 上海创景计算机系统有限公司 | 基于jtag调试方式实现通用型故障注入系统和故障注入方法 |
WO2019110121A1 (en) * | 2017-12-08 | 2019-06-13 | Huawei Technologies Co., Ltd. | Fault injection system and method of fault injection |
CN109459684A (zh) * | 2018-12-20 | 2019-03-12 | 中国航空综合技术研究所 | 基于数据重构的边界扫描故障注入方法 |
CN110688313A (zh) * | 2019-09-26 | 2020-01-14 | 天津津航计算技术研究所 | 一种VxWorks操作系统下软件测试的故障注入方法 |
CN110704315A (zh) * | 2019-09-26 | 2020-01-17 | 天津津航计算技术研究所 | 一种嵌入式软件测试的故障注入装置 |
Non-Patent Citations (1)
Title |
---|
陈强 ; 吴立金 ; 张凯 ; 韩新宇 ; .基于模型的软件接口故障注入测试平台技术.计算机测量与控制.2016,(第11期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN112714015A (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273286B (zh) | 针对任务应用的场景自动化测试平台及方法 | |
US6941546B2 (en) | Method and apparatus for testing a software component using an abstraction matrix | |
CN106293664A (zh) | 代码生成方法及装置 | |
CN102866944B (zh) | 一种压力测试系统及方法 | |
CN105045602B (zh) | 一种构建Hadoop应用开发框架的方法、装置及电子装置 | |
CN110013672B (zh) | 用于机器运行的游戏的自动化测试的方法、设备、装置以及计算机可读存储介质 | |
CN102981882B (zh) | 解析方法和装置 | |
CN112714015B (zh) | 通信数据故障注入方法及其系统、通信设备和存储介质 | |
CN113535141A (zh) | 数据库操作代码的生成方法及装置 | |
CN113448826A (zh) | 一种软件自动化测试系统及方法 | |
CN113448590A (zh) | 遥控注入数据快速生成方法、装置、计算机设备及介质 | |
CN103593188A (zh) | 一种用于仪器所见即所得菜单的管理系统及管理方法 | |
CN113031944B (zh) | 基于模板的业务开通装置及方法 | |
CN108241499A (zh) | 字段值注释的更新方法、装置及计算机可读存储介质 | |
CN112860585A (zh) | 一种测试脚本断言生成方法及装置 | |
CN103136234B (zh) | 处理数据的方法和装置 | |
CN116089275A (zh) | 数据库测试方法、数据库系统、电子设备和存储介质 | |
CN112394930B (zh) | 自动构建前端界面的方法、电子设备及介质 | |
CN114356430B (zh) | 一种基于airflow调度系统的DAG依赖配置工具 | |
US6763516B2 (en) | Convention checking apparatus, convention checking system, convention checking method, and storage medium on which is recorded a convention checking program | |
CN112540920A (zh) | 测试方法、装置、设备和存储介质 | |
CN111858205B (zh) | 一种芯片调试方法和系统 | |
CN117369789B (zh) | 基于可视化配置工具生成代码的方法及可视化显示设备 | |
CN113342332B (zh) | 一种基于模型驱动的组件可定制多接口的实现方法 | |
CN112051999B (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 | ||
CB02 | Change of applicant information |
Address after: Room 201, building 6, 829 Yishan Road, Xuhui District, Shanghai 200233 Applicant after: Shanghai Keliang Information Technology Co.,Ltd. Address before: Room 201, building 6, 829 Yishan Road, Xuhui District, Shanghai 200233 Applicant before: SHANGHAI KELIANG INFORMATION ENGINEERING Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |