CN115543763A - 基于生成对抗网络的测试用例生成方法及装置 - Google Patents
基于生成对抗网络的测试用例生成方法及装置 Download PDFInfo
- Publication number
- CN115543763A CN115543763A CN202110728035.7A CN202110728035A CN115543763A CN 115543763 A CN115543763 A CN 115543763A CN 202110728035 A CN202110728035 A CN 202110728035A CN 115543763 A CN115543763 A CN 115543763A
- Authority
- CN
- China
- Prior art keywords
- test case
- communication protocol
- output
- generation
- sample
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 302
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004891 communication Methods 0.000 claims abstract description 64
- 230000007547 defect Effects 0.000 claims abstract description 10
- 238000007781 pre-processing Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 22
- 238000009826 distribution Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 18
- 239000011159 matrix material Substances 0.000 claims description 15
- 239000010410 layer Substances 0.000 claims description 14
- 239000013598 vector Substances 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 11
- 238000012549 training Methods 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 9
- 238000011478 gradient descent method Methods 0.000 claims description 7
- 230000006399 behavior Effects 0.000 claims description 6
- 210000002569 neuron Anatomy 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 238000005259 measurement Methods 0.000 claims description 4
- 239000002356 single layer Substances 0.000 claims description 3
- 238000001514 detection method Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000005457 optimization Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y10/00—Economic sectors
- G16Y10/75—Information technology; Communication
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y20/00—Information sensed or collected by the things
- G16Y20/40—Information sensed or collected by the things relating to personal data, e.g. biometric data, records or preferences
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/10—Detection; Monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Accounting & Taxation (AREA)
- Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于生成对抗网络的测试用例生成方法及装置,该方法包括:获得物联网无线终端通信协议的测试用例,对测试用例进行预处理获得测试用例样本;构建生成器模型,根据测试用例样本和随机噪声生成伪测试用例;构建判别器模型,根据测试用例样本和伪测试用例获得测试用例样本输出和伪测试用例输出;确定测试用例样本输出和伪测试用例输出的差异性,根据差异性不断调整生成器模型参数和判别器模型参数,获得训练好的生成器模型;基于训练好的生成器模型,根据测试用例样本和随机噪声,生成通信协议测试用例;根据通信协议测试用例测试物联网无线终端通信协议。本发明可以减少人工的开销,提高漏洞、缺陷检查范围以及测试效率。
Description
技术领域
本发明涉及物联网测试技术领域,尤其涉及基于生成对抗网络的测试用例生成方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在物联网无线终端的通信协议测试过程中,伴随着被测***的版本变更和***缺陷的,需要通过大量的测试用例来保证已被修改的部分对未被修改的部分没有***漏洞,或者没有引入新的漏洞。资源受限的情况下,执行原本的测试用例,很难触发***中的所有漏洞。因此需要生成更多的测试用例来执行***,以便发现更多的漏洞。测试用例生成技术需要根据已知的网络协议的协议特征和测试用例生成策略,建立网络协议数据模型,根据协议模型构造测试用例生成器,生成畸形的网络报文作为测试用例发送给被测对象,可以保证较高的测试用例接收率。
目前,物联网无线终端的通信协议测试缺少有效的测试用例生成的方法,由于通信协议测试输入数据的特殊性,生成的测试用例的异常程度不高,非法数据的覆盖程度相对较低,导致生成的测试用例在测试时的效率低下,为达到预计的测试效果需要花费更多的时间和更多的用例数据进行测试。此外,这种基于生成的模糊测试方法一般需根据协议特征来构建测试用例生成器,而这方面的需求不仅仅要做大量的网络协议相关的调研,且要求开发人员对关于网络协议的专业知识有相当的储备。因此在传统软件测试用例生成中,尽管测试用例生成方法的研究与应用在协议测试中已取得许多成果。但是生成的测试用例大多数都不符合协议规范,生成大量没有用的测试用例,导致协议***对测试用例的接受不够理想。因此如何更快、更好地生成可以被测试***接受的测试用例成为物联网无线终端的通信协议测试的问题。
发明内容
本发明实施例提供一种基于生成对抗网络的测试用例生成方法,用以解决现有技术中生成大量没有用的测试用例,导致协议***对测试用例的接受不够理想的问题,该方法包括:
获得被测方测试需求涉及的物联网无线终端通信协议的测试用例,对物联网无线终端通信协议的测试用例进行预处理,获得测试用例样本;
构建生成器模型,将测试用例样本和随机噪声作为输入,生成伪测试用例;
构建判别器模型,将测试用例样本和伪测试用例作为输入,获得测试用例样本输出和伪测试用例输出;
确定测试用例样本输出和伪测试用例输出的差异性,根据所述差异性不断调整生成器模型参数和判别器模型参数,直到生成器模型参数和判别器模型参数收敛为止,获得训练好的生成器模型;
基于训练好的生成器模型,根据测试用例样本和随机噪声,生成通信协议测试用例;
根据所述通信协议测试用例测试物联网无线终端通信协议,检测物联网无线终端通信协议的漏洞和缺陷。
本发明实施例还提供一种基于生成对抗网络的测试用例生成装置,用以解决现有技术中生成大量没有用的测试用例,导致协议***对测试用例的接受不够理想的问题,该装置包括:
测试用例样本获得处理模块,用于获得被测方测试需求涉及的物联网无线终端通信协议的测试用例,对物联网无线终端通信协议的测试用例进行预处理,获得测试用例样本;
生成器模型构建和处理模块,用于构建生成器模型,将测试用例样本和随机噪声作为输入,生成伪测试用例;
判别器模型构建和处理模块,用于构建判别器模型,将测试用例样本和伪测试用例作为输入,获得测试用例样本输出和伪测试用例输出;
差异性判断及参数调整模块,用于确定测试用例样本输出和伪测试用例输出的差异性,根据所述差异性不断调整生成器模型参数和判别器模型参数,直到生成器模型参数和判别器模型参数收敛为止,获得训练好的生成器模型;
通信协议测试用例生成模块,用于基于训练好的生成器模型,根据测试用例样本和随机噪声,生成通信协议测试用例;
测试模块,用于根据所述通信协议测试用例测试物联网无线终端通信协议,检测物联网无线终端通信协议的漏洞和缺陷。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于生成对抗网络的测试用例生成方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述基于生成对抗网络的测试用例生成方法的步骤。
本发明实施例中,与现有技术中生成的测试用例大多数都不符合协议规范,生成大量没有用的测试用例,导致协议***对测试用例的接受不够理想的技术方案相比,通过获得被测方测试需求涉及的物联网无线终端通信协议的测试用例,对物联网无线终端通信协议的测试用例进行预处理,获得测试用例样本;构建生成器模型,将测试用例样本和随机噪声作为输入,生成伪测试用例;构建判别器模型,将测试用例样本和伪测试用例作为输入,获得测试用例样本输出和伪测试用例输出;确定测试用例样本输出和伪测试用例输出的差异性,根据所述差异性不断调整生成器模型参数和判别器模型参数,直到生成器模型参数和判别器模型参数收敛为止,获得训练好的生成器模型;基于训练好的生成器模型,根据测试用例样本和随机噪声,生成通信协议测试用例;根据所述通信协议测试用例测试物联网无线终端通信协议,检测物联网无线终端通信协议的漏洞和缺陷,本发明可以减少人工的开销,提高漏洞、缺陷检查范围以及测试效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中基于生成对抗网络的测试用例生成方法流程图一;
图2为本发明实施例中基于生成对抗网络的测试用例生成方法流程图二;
图3为本发明实施例中基于生成对抗网络的测试用例生成方法流程图三;
图4为本发明实施例中基于生成对抗网络的测试用例生成方法流程图四;
图5为本发明实施例中基于生成对抗网络的测试用例生成方法完整流程图;
图6为本发明实施例中生成器模型和判别器模型的训练方法;
图7为本发明实施例中基于生成对抗网络的测试用例生成装置结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
图1为本发明实施例中基于生成对抗网络的测试用例生成方法流程图一;如图1所示,该方法包括:
步骤101:获得被测方测试需求涉及的物联网无线终端通信协议的测试用例,对物联网无线终端通信协议的测试用例进行预处理,获得测试用例样本;
步骤102:构建生成器模型,将测试用例样本和随机噪声作为输入,生成伪测试用例;
步骤103:构建判别器模型,将测试用例样本和伪测试用例作为输入,获得测试用例样本输出和伪测试用例输出;
步骤104:确定测试用例样本输出和伪测试用例输出的差异性,根据所述差异性不断调整生成器模型参数和判别器模型参数,直到生成器模型参数和判别器模型参数收敛为止,获得训练好的生成器模型;
步骤105:基于训练好的生成器模型,根据测试用例样本和随机噪声,生成通信协议测试用例;
步骤106:根据所述通信协议测试用例测试物联网无线终端通信协议,检测物联网无线终端通信协议的漏洞和缺陷。
在本发明实施例中,如图2所示,所述物联网无线终端通信协议的测试用例中包括数据格式、时序、服务类型和无效行为;
步骤101对物联网无线终端通信协议的测试用例进行预处理,包括:
步骤1011:将物联网无线终端通信协议的测试用例分割为字节流向量,获得分割后的测试用例;
步骤1012:对分割后的测试用例中的数据帧进行聚类处理,获得聚类后的测试用例;
步骤1013:将聚类后的测试用例中的数据转换为数字矢量;
步骤1014:将转换后的测试用例中的数据由十六进制转换为十进制。
具体的,1)收集所需通信协议的测试用例,将测试用例分割为字节流向量:
X=[x1x2x3......xia1a2t1t2......tnb1b2......bm]T;
其中,X为输入的测试用例,xi为测试用例的数据格式第i个字节,a1表示服务类型,a2为0表示为响应服务,为1是证实服务,a1为0表示为请求服务,为1是指示服务。tj(就从1到n)为时序,代表执行单位为微秒,n的数值为5。bj(就从1到m)为无效行为,代表标准不许可的行为,n的数值为4。因此需要把标准规范中的不许可行为映射为16进制的数值。
2)对测试用例数据进行预处理,原始网络数据包采用十六进制形式,无法直接输入到神经网络中进行处理。所以采用如下方式进行预处理:
S11:相同长度的数据帧通常拥有相同的数据类型,使用K-mens对数据帧进行聚类处理;将原始网络数据包转换为数字矢量;
S12:通常通信协议测试用例X通常为十六进制,无法直接输入到神经网络模型进行训练,结合生成对抗网络的特点对测试用例数据进行一维转换为十进制数据X';
在本发明实施例中,步骤102根据收集的通信协议测试用例特点,构建生成器模型G,生成与真实测试用例有相同格式的伪造数据,定义生成器网络模型G由LSTM网络构成,具体包括以下步骤:
S21:将随机噪声Z经过批量归一化处理后作为生成器的输入,使用以下公式进行归一化处理:
S22:定义生成器模型,生成器单层LSTM网络,LSTM内部由128个神经元构成,使用ReLU激活函数使一部分神经元的输出为0,少了参数的相互依存关系防止数据过拟合,公式如下所示:
f(z)=(0,max(z));
S23:LSTM网络后接一层全连接网络,输出层采用sigmoid激活函数,如以下公式所示,使数据维持在[0,1]之间,使生成的测试用例y可以直接输入到判别器中:
在本发明实施例中,步骤103使用真实的测试用例和生成的测试用例作为输入,构判别器网络模型D,具体包括以下步骤:
S31:构建判别器模型D,定义判别器模型D由3个全连接层组成,每层全连接层后使用ReLu激活函数。
在本发明实施例中,如图3所示,步骤104确定测试用例样本输出和伪测试用例输出的差异性,包括:
使用代价变化距离来确定测试用例样本输出和伪测试用例输出的差异性。
在本发明实施例中,如图3所示,步骤104使用代价变化距离来确定测试用例样本输出和伪测试用例输出的差异性,包括:
步骤1031:使用动态的代价函数拟合生成的测试用例数据的分布,获得代价矩阵;
步骤1032:使用IPOT算法计算相对应的传输矩阵;
步骤1033:根据代价矩阵和传输矩阵,计算代价变化距离,使用代价变化距离表示测试用例样本输出和伪测试用例输出的分布间距离。
具体的,使用代价变化距离(Cost Variation Distance)来衡量真实的测试用例和生成的测试用例的差异性,得到二分类结果,并且不断调整参数θg和θd,具体包括以下步骤:
S41:使用动态的代价函数拟合生成的测试用例数据的分布,公式如下所示:
其中,F(.,θ)表示一个全连接网络,它将输入的测试用例特征向量经过转化后的输出向量传入一个余弦公式中,C(x,y)的值域范围为[0,2],当输出为0时,表示两个特征向量之间没有传输代价,当输出为2时,两个特征向量间的传输代价最大。
S42:计算完代价矩阵之后,使用IPOT算法计算相对应的传输矩阵T,传输矩阵T使得从概率分布Pz到概率分布Preal,传输数据时基于T的总代价最小,具体包括以下步骤:
S421:IPOT算法的目的是寻找一个与点v相邻不太远的点x,并且满足f(x)<=f(v),通过迭代,从来获得最优解,它的核心函数如下公式所示:
S422:通过S431中得到的核心函数,可以得到使用IPOT近端点法优化算法的主要迭代公式为:
其中,x(t)表示第t次迭代的x,将proxλf(v)函数的输出赋值给x(t+1),以此迭代下去必然会得到一个最优解。
S423:对于需要的问题代价变化距离DCVD,IPOT的迭代公式如下所示:
其中Π(Pz,Preal)表示从概率分布Pz传输到概率分布Preal的所有传输矩阵的集合,β表示近端点优化的惩罚因子,β越小,则一次迭代后的解越接近最小值,β越大,优化的部长就越小。
S43:由S41和S42步骤中得到的C和T,计算最终的代价变化距离(Cost VariationDistance)DCVD,并以此来表示生成的测试用例集与真实的测试用例集在特征空间下的分布间距离:
如公式所示,主体的代价变化距离为当使用传输计划T时,从分布PZ的相应位置根据代价公式C传输到分布Preal的最小值。
在本发明实施例中,如图4所示,步骤104确定测试用例样本输出和伪测试用例输出的差异性,根据所述差异性不断调整生成器模型参数和判别器模型参数,直到生成器模型参数和判别器模型参数收敛为止,获得训练好的生成器模型,包括:
步骤1041:对生成器模型进行训练,使用随机梯度下降法对生成器模型参数进行更新,使得生成的代价变化距离符合预设阈值;
步骤1042:对判别器模型进行训练,使用随机梯度下降法对判别器模型参数进行更新,使得分布度量的距离符合预设阈值。
具体的,对网络模型进行训练重复步骤102-步骤103,直到生成器模型参数θg和判别器模型参数θd收敛为止,具体包括以下步骤:
1)对生成器模型进行训练,具体方法如下所示:
S51:生成器模型的目标是欺骗判别器模型,使得生成的代价变化距离DCVD尽量的小,因此生成器模型的损失函数如公式所示:
其中,x为真实的测试用例,Preal为真实的测试用例分布。
S52:在随机梯度下降法(SGD)的优化方法下,生成器模型参数更新方式如公式所示:
2)对判别器模型进行训练,具体方法如下所示:
S53:判别器模型的目标是尽量区分开输入的生成测试用例和真实测试用例,因此它需要分布度量的距离尽量大,因此有需要优化的损失函数:
公式也表示判别器模型需要最大化DCVD。
S54:在随机梯度下降法(SGD)的优化方法下,判别器模型参数更新方式如公式所示:
如图5所示,为一种基于生成对抗网络的测试用例生成方法,分为三个阶段:第一阶段是对原始测试用例数据进行处理,称为预处理阶段。根据所测协议标准规范定义的不同字段,将协议转换成神经网络可接受的状态,避免无效数据对最终结果的影响。第二阶段是构建生成器网络模型阶段,通过输入随机噪声向量,使用四层全连接网络得到和真实测试用例具有相同结构的假的测试用例,从而构建出一个协议测试用例的生成网络。第三阶段为判别器网络模型阶段,通过协议测试用例的特点,构造四层全连接网络作为判别器网络,最后使用代价变化距离(Cost Variation Distance)来衡量真实的测试用例和生成的测试用例的差异性对模型进行训练。最后通过训练好的模型可以生成可用的协议测试用例,如图6所示。
下面表1所示为整体算法:
表1整体算法
本发明实施例中还提供了一种基于生成对抗网络的测试用例生成装置,如下面的实施例所述。由于该装置解决问题的原理与基于生成对抗网络的测试用例生成方法相似,因此该装置的实施可以参见基于生成对抗网络的测试用例生成方法的实施,重复之处不再赘述。
图7为本发明实施例中基于生成对抗网络的测试用例生成装置结构框图,如图7所示,该装置包括:
测试用例样本获得处理模块02,用于获得被测方测试需求涉及的物联网无线终端通信协议的测试用例,对物联网无线终端通信协议的测试用例进行预处理,获得测试用例样本;
生成器模型构建和处理模块04,用于构建生成器模型,将测试用例样本和随机噪声作为输入,生成伪测试用例;
判别器模型构建和处理模块06,用于构建判别器模型,将测试用例样本和伪测试用例作为输入,获得测试用例样本输出和伪测试用例输出;
差异性判断及参数调整模块08,用于确定测试用例样本输出和伪测试用例输出的差异性,根据所述差异性不断调整生成器模型参数和判别器模型参数,直到生成器模型参数和判别器模型参数收敛为止,获得训练好的生成器模型;
通信协议测试用例生成模块10,用于基于训练好的生成器模型,根据测试用例样本和随机噪声,生成通信协议测试用例;
测试模块12,用于根据所述通信协议测试用例测试物联网无线终端通信协议,检测物联网无线终端通信协议的漏洞和缺陷。
在本发明实施例中,所述物联网无线终端通信协议的测试用例中包括数据格式、时序、服务类型和无效行为;
测试用例样本获得处理模块02具体用于:
将物联网无线终端通信协议的测试用例分割为字节流向量,获得分割后的测试用例;
对分割后的测试用例中的数据帧进行聚类处理,获得聚类后的测试用例;
将聚类后的测试用例中的数据转换为数字矢量;
将转换后的测试用例中的数据由十六进制转换为十进制。
在本发明实施例中,所述生成器模型为生成器单层LSTM网络,LSTM内部由128个神经元构成,使用ReLU激活函数使一部分神经元的输出为0,LSTM网络后接一层全连接网络,输出层采用sigmoid激活函数。
在本发明实施例中,所述判别器模型由3个全连接层组成,每个全连接层后使用ReLu激活函数。
在本发明实施例中,差异性判断及参数调整模块08具体用于:
使用代价变化距离来确定测试用例样本输出和伪测试用例输出的差异性。
在本发明实施例中,差异性判断及参数调整模块08具体用于:
使用动态的代价函数拟合生成的测试用例数据的分布,获得代价矩阵;
使用IPOT算法计算相对应的传输矩阵;
根据代价矩阵和传输矩阵,计算代价变化距离,使用代价变化距离表示测试用例样本输出和伪测试用例输出的分布间距离。
在本发明实施例中,差异性判断及参数调整模块08具体用于:
对生成器模型进行训练,使用随机梯度下降法对生成器模型参数进行更新,使得生成的代价变化距离符合预设阈值;
对判别器模型进行训练,使用随机梯度下降法对判别器模型参数进行更新,使得分布度量的距离符合预设阈值。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于生成对抗网络的测试用例生成方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述基于生成对抗网络的测试用例生成方法的步骤。
本发明实施例中,与现有技术中生成的测试用例大多数都不符合协议规范,生成大量没有用的测试用例,导致协议***对测试用例的接受不够理想的技术方案相比,通过获得被测方测试需求涉及的物联网无线终端通信协议的测试用例,对物联网无线终端通信协议的测试用例进行预处理,获得测试用例样本;构建生成器模型,将测试用例样本和随机噪声作为输入,生成伪测试用例;构建判别器模型,将测试用例样本和伪测试用例作为输入,获得测试用例样本输出和伪测试用例输出;确定测试用例样本输出和伪测试用例输出的差异性,根据所述差异性不断调整生成器模型参数和判别器模型参数,直到生成器模型参数和判别器模型参数收敛为止,获得训练好的生成器模型;基于训练好的生成器模型,根据测试用例样本和随机噪声,生成通信协议测试用例;根据所述通信协议测试用例测试物联网无线终端通信协议,检测物联网无线终端通信协议的漏洞和缺陷,本发明能满足对工业控制协议测试用例生成的需求,可以减少人工的开销,提高漏洞、缺陷检查范围以及测试效率,减少测试代价。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于生成对抗网络的测试用例生成方法,其特征在于,包括:
获得被测方测试需求涉及的物联网无线终端通信协议的测试用例,对物联网无线终端通信协议的测试用例进行预处理,获得测试用例样本;
构建生成器模型,将测试用例样本和随机噪声作为输入,生成伪测试用例;
构建判别器模型,将测试用例样本和伪测试用例作为输入,获得测试用例样本输出和伪测试用例输出;
确定测试用例样本输出和伪测试用例输出的差异性,根据所述差异性不断调整生成器模型参数和判别器模型参数,直到生成器模型参数和判别器模型参数收敛为止,获得训练好的生成器模型;
基于训练好的生成器模型,根据测试用例样本和随机噪声,生成通信协议测试用例;
根据所述通信协议测试用例测试物联网无线终端通信协议,检测物联网无线终端通信协议的漏洞和缺陷。
2.如权利要求1所述的基于生成对抗网络的测试用例生成方法,其特征在于,所述物联网无线终端通信协议的测试用例中包括数据格式、时序、服务类型和无效行为;
对物联网无线终端通信协议的测试用例进行预处理,包括:
将物联网无线终端通信协议的测试用例分割为字节流向量,获得分割后的测试用例;
对分割后的测试用例中的数据帧进行聚类处理,获得聚类后的测试用例;
将聚类后的测试用例中的数据转换为数字矢量;
将转换后的测试用例中的数据由十六进制转换为十进制。
3.如权利要求1所述的基于生成对抗网络的测试用例生成方法,其特征在于,所述生成器模型为生成器单层LSTM网络,LSTM内部由128个神经元构成,使用ReLU激活函数使一部分神经元的输出为0,LSTM网络后接一层全连接网络,输出层采用sigmoid激活函数。
4.如权利要求1所述的基于生成对抗网络的测试用例生成方法,其特征在于,所述判别器模型由3个全连接层组成,每个全连接层后使用ReLu激活函数。
5.如权利要求1所述的基于生成对抗网络的测试用例生成方法,其特征在于,确定测试用例样本输出和伪测试用例输出的差异性,包括:
使用代价变化距离来确定测试用例样本输出和伪测试用例输出的差异性。
6.如权利要求5所述的基于生成对抗网络的测试用例生成方法,其特征在于,使用代价变化距离来确定测试用例样本输出和伪测试用例输出的差异性,包括:
使用动态的代价函数拟合生成的测试用例数据的分布,获得代价矩阵;
使用IPOT算法计算相对应的传输矩阵;
根据代价矩阵和传输矩阵,计算代价变化距离,使用代价变化距离表示测试用例样本输出和伪测试用例输出的分布间距离。
7.如权利要求1所述的基于生成对抗网络的测试用例生成方法,其特征在于,确定测试用例样本输出和伪测试用例输出的差异性,根据所述差异性不断调整生成器模型参数和判别器模型参数,直到生成器模型参数和判别器模型参数收敛为止,获得训练好的生成器模型,包括:
对生成器模型进行训练,使用随机梯度下降法对生成器模型参数进行更新,使得生成的代价变化距离符合预设阈值;
对判别器模型进行训练,使用随机梯度下降法对判别器模型参数进行更新,使得分布度量的距离符合预设阈值。
8.一种基于生成对抗网络的测试用例生成装置,其特征在于,包括:
测试用例样本获得处理模块,用于获得被测方测试需求涉及的物联网无线终端通信协议的测试用例,对物联网无线终端通信协议的测试用例进行预处理,获得测试用例样本;
生成器模型构建和处理模块,用于构建生成器模型,将测试用例样本和随机噪声作为输入,生成伪测试用例;
判别器模型构建和处理模块,用于构建判别器模型,将测试用例样本和伪测试用例作为输入,获得测试用例样本输出和伪测试用例输出;
差异性判断及参数调整模块,用于确定测试用例样本输出和伪测试用例输出的差异性,根据所述差异性不断调整生成器模型参数和判别器模型参数,直到生成器模型参数和判别器模型参数收敛为止,获得训练好的生成器模型;
通信协议测试用例生成模块,用于基于训练好的生成器模型,根据测试用例样本和随机噪声,生成通信协议测试用例;
测试模块,用于根据所述通信协议测试用例测试物联网无线终端通信协议,检测物联网无线终端通信协议的漏洞和缺陷。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一所述基于生成对抗网络的测试用例生成方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至7任一所述基于生成对抗网络的测试用例生成方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110728035.7A CN115543763A (zh) | 2021-06-29 | 2021-06-29 | 基于生成对抗网络的测试用例生成方法及装置 |
KR1020247003235A KR20240025022A (ko) | 2021-06-29 | 2022-03-29 | Gan에 의한 테스트 케이스 생성 방법 및 장치 |
PCT/CN2022/083600 WO2023273449A1 (zh) | 2021-06-29 | 2022-03-29 | 基于生成对抗网络的测试用例生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110728035.7A CN115543763A (zh) | 2021-06-29 | 2021-06-29 | 基于生成对抗网络的测试用例生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115543763A true CN115543763A (zh) | 2022-12-30 |
Family
ID=84691168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110728035.7A Pending CN115543763A (zh) | 2021-06-29 | 2021-06-29 | 基于生成对抗网络的测试用例生成方法及装置 |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR20240025022A (zh) |
CN (1) | CN115543763A (zh) |
WO (1) | WO2023273449A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541280A (zh) * | 2023-05-06 | 2023-08-04 | 中国电子技术标准化研究院 | 一种基于神经网络的模糊测试用例生成方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116303088A (zh) * | 2023-04-17 | 2023-06-23 | 南京航空航天大学 | 一种基于深度神经网络交叉熵损失的测试用例排序方法 |
CN116662184B (zh) * | 2023-06-05 | 2024-01-30 | 福建师范大学 | 一种基于Bert的工控协议模糊测试用例筛选方法及*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109509056B (zh) * | 2018-10-16 | 2023-05-09 | 平安科技(深圳)有限公司 | 基于对抗网络的商品推荐方法、电子装置及存储介质 |
US12019711B2 (en) * | 2019-12-06 | 2024-06-25 | Agilesoda Inc. | Classification system and method based on generative adversarial network |
CN112104525B (zh) * | 2020-09-18 | 2021-07-30 | 西安科技大学 | 基于序列生成对抗网络的dnp3协议模糊测试方法 |
-
2021
- 2021-06-29 CN CN202110728035.7A patent/CN115543763A/zh active Pending
-
2022
- 2022-03-29 KR KR1020247003235A patent/KR20240025022A/ko unknown
- 2022-03-29 WO PCT/CN2022/083600 patent/WO2023273449A1/zh active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541280A (zh) * | 2023-05-06 | 2023-08-04 | 中国电子技术标准化研究院 | 一种基于神经网络的模糊测试用例生成方法 |
CN116541280B (zh) * | 2023-05-06 | 2023-12-26 | 中国电子技术标准化研究院 | 一种基于神经网络的模糊测试用例生成方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20240025022A (ko) | 2024-02-26 |
WO2023273449A1 (zh) | 2023-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115543763A (zh) | 基于生成对抗网络的测试用例生成方法及装置 | |
Choi et al. | Accurate and efficient 2-bit quantized neural networks | |
Li et al. | Multi-agent system based distributed pattern search algorithm for non-convex economic load dispatch in smart grid | |
CN109104441A (zh) | 一种基于深度学习的加密恶意流量的检测***和方法 | |
CN112347476B (zh) | 数据保护方法、装置、介质及设备 | |
WO2022007651A1 (zh) | 数据保护方法、装置、服务器和介质 | |
CN110852882B (zh) | 用于区块链网络的分组共识方法、装置、设备和介质 | |
Zhou et al. | Generative adversarial network-based electromagnetic signal classification: A semi-supervised learning framework | |
CN110798314B (zh) | 一种基于随机森林算法的量子密钥分发参数优化方法 | |
Paris et al. | Applying boosting techniques to genetic programming | |
WO2020189844A1 (ko) | 인공 신경망을 처리하는 방법 및 이를 위한 전자 장치 | |
Nama et al. | A new hybrid differential evolution algorithm with self-adaptation for function optimization | |
CN108304926A (zh) | 一种适用于神经网络的池化计算装置及方法 | |
Bertran et al. | Scalable membership inference attacks via quantile regression | |
CN110825589B (zh) | 用于微服务***的异常检测方法及其装置和电子设备 | |
CN115034369A (zh) | 故障诊断的方法、装置、存储介质和电子设备 | |
CN109413068B (zh) | 一种基于对偶gan的无线信号加密方法 | |
CN113792892A (zh) | 联邦学习建模优化方法、设备、可读存储介质及程序产品 | |
Zhang et al. | Af-dndf: Asynchronous federated learning of deep neural decision forests | |
CN113497785B (zh) | 恶意加密流量检测方法、***、存储介质和云端服务器 | |
Mahabub et al. | A voting approach of modulation classification for wireless network | |
CN111008940A (zh) | 一种图像增强方法及装置 | |
US20210374480A1 (en) | Arithmetic device, arithmetic method, program, and discrimination system | |
EP4002222A1 (en) | Transforming a trained artificial intelligence model into a trustworthy artificial intelligence model | |
CN114553650B (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 |