本发明涉及安全产品测试用例生成,尤其涉及一种基于异质日志行为网络的kms测试用例生成方法及系统。
背景技术:
1、密钥管理在保护敏感数据和客户端文件数据加密等信息安全场景中被广泛应用。密钥管理服务(key management service,kms)是一项云安全服务,kms的功能包括生成、导入、启用、禁用、延迟删除和自动轮转密钥等。并且,kms还支持通过api接口进行数据加解密和数字签名验签。
2、为保证kms产品的质量,挖掘和发现产品中潜在的功能问题、性能瓶颈、安全漏洞和兼容性等问题,设计高质量的测试用例,是保证有效测试的关键。
3、目前现有的测试用例生成方法多依赖于测试人员的经验和直觉,容易导致测试过程中遗漏部分潜在的测试场景。此外,以往的测试用例生成方法大多只关注功能性测试,对于性能、安全性等非功能性测试,仅使用测试工具进行简单测试,对用户的性能需求关注度不够,测试质量较差。
4、因此,当前亟需开发一种kms测试用例生成方法,能够更高效、更全面地生成测试用例,提高测试的效率和质量。
技术实现思路
1、鉴于以上现有技术的不足,本发明的目的在于开发一种面向密钥管理系统的基于用户异质日志行为网络的测试用例生成方法及系统,构建用户异质日志行为网络,用于表征密钥管理服务操作日志中的用户行为;采用行为级注意力机制聚合相邻行为节点的特征表示,增强用户行为模式的可区分性,提高功能性测试用例的覆盖率;利用用户级注意力机制聚合各用户的异质信息网络表示,建模用户对于产品性能的需求,生成非功能测试用例,提升密钥管理服务的鲁棒性。
2、操作日志可以记录用户使用产品时的各类操作,异质信息网络可以利用网络中不同类型的节点和边来表示实体和关系之间的语义信息,准确捕捉并表示数据之间的关联。通过使用操作日志数据建立异质信息网络,可充分建模用户行为模式,挖掘用户行为习惯。本发明考虑到密钥管理具有操作日志功能这一优势,将测试用例生成与用户行为模式相结合,生成更符合实际使用情景的测试用例,发现隐藏问题,从而提升测试覆盖率。同时,用户行为模式也会涉及并发操作、长时间使用等场景,有助于生成非功能测试用例,评估产品在压力下的表现。
3、本发明提供基于异质日志行为网络的kms测试用例生成方法,包括以下步骤:
4、s1、将用户操作日志进行数据预处理,并将用户操作行为进行词嵌入算法表示,输入日志行为模型中;
5、s2、基于预处理后的用户操作行为数据,利用所述日志行为模型构建用户异质日志行为网络,不同用户具有不同的异质日志行为网络;
6、s3、基于所述用户异质日志行为网络,构建单用户操作日志行为表示;
7、s4、以各用户操作日志行为的整体表示为基础,基于用户级注意力机制,构建用户群体操作日志行为表示;利用用户级注意力机制,提取用户群体对于系统功能的兴趣,获取用户对于系统性能的要求,以提升最终生成的测试用例中性能测试用例的覆盖率;
8、s5、将所述单用户操作日志行为表示与所述用户群体操作日志行为表示进行拼接,输入多层感知机中,使用最小化交叉熵损失函数对日志行为模型进行优化,实现密钥管理服务测试用例生成;
9、所述最小化交叉熵损失函数的计算表达式为:
10、
11、式(7)中,n是用于训练的所有用户样本数目;i为用户样本群体中的任一用户样本;t为操作行为类别总数,优选地,t等于5;yic在样本i的真实标签的类别为c时置1,否则置0;pic为样本i属于类别c的概率。
12、通过本发明提出的日志行为模型生成密钥管理服务测试用例,能够持续地更新和优化测试用例,适应用户行为的变化;这种有用户行为模式相结合的测试用例生成方法,更能暴露出用户在真实使用场景中可能出现的问题,进行提前发现并修复,从而提高密钥管理服务的用户满意度。
13、进一步地,所述s3步骤包括以下步骤:
14、s31、结合消息传递机制及行为级注意力机制,聚合目标节点的邻居行为节点的特征表示,包括:
15、采用消息传递机制,将节点周围的邻居节点的表示及该节点的初始表示进行聚合,得到用户异质日志行为网络中的节点表示;
16、对于网络中类型为a的节点v,a∈{密钥创建,密钥管理,密钥版本管理,密码运算,别名管理},节点v表示为:
17、
18、式(1)中,代表通过邻居聚合后得到的节点表示,维度为d,wa和wb代表行为级注意力机制权重,wa和wb是可训练的;为节点的初始表示,使用词嵌入的方式生成;为节点的所有邻居;为每个邻居对节点的权重影响;xi为各邻居节点表示;
19、用户异质日志行为网络中的链接表示,由构成该边的两个节点表示拼接而成,代表两个节点之间存在时序关联,对于网络中类型为a的节点j与类型为b的节点v构建的边,a,b∈{密钥创建,密钥管理,密钥版本管理,密码运算,别名管理},边的表示为:
20、
21、式(2)中,ejv代表得到的边的表示,wc为可训练的权重,和为节点,和节点v的表示;
22、本发明通过聚合目标节点的邻居行为节点的特征表示,从而挖掘用户潜在行为,提高功能性测试用例的覆盖率;
23、s32、通过拼接所述用户异质日志行为网络中各节点表示及链接表示,对各用户操作日志行为进行整体表示;
24、其中,所述整体表示的表达式为:
25、
26、式(3)中,和ejv分别代表节点表示和链接表示;和βjv分别代表聚合各节点表示和各链接表示时分配的权重;su代表用户u的操作日志行为整体表示,该行为表示的维度与节点表示维度相同,均为d。
27、通过使用用户异质日志行为网络对用户行为进行表示的方法,可挖掘用户的潜在行为习惯,覆盖更多不常见的用户行为,发掘更多用户行为的边界情况,生成大量有效的功能性测试用例。
28、进一步地,所述s4步骤的构建用户群体操作日志行为表示的方法包括:
29、计算各用户行为表示对用户群体表示的贡献注意力得分,所述贡献注意力得分的计算表达式为:
30、i=tanh(wsu) (4)
31、式(4)中,su代表用户u的操作日志行为整体表示,w为可学习的参数向量,i为计算出来的各用户u行为的注意力得分;
32、利用softmax函数对所述注意力分数进行归一化,归一化后的结果是用户群体行为表示聚合时在单个用户行为输入上的注意力分布,归一化后的结果中每项数值和原始的输入相对应,如式(5)所示:
33、
34、式(5)中,αk为单个用户行为的归一化后的注意力权重,n为用户总数;
35、将注意力权重与单个用户行为表示进行加权求和,获得用户群体操作日志行为表示,如下式(6)所示,l为最终建模得到的用户群体操作日志行为表示,维度为d;
36、
37、进一步地,所述s1步骤的将用户操作日志进行数据预处理的方法包括:
38、将用户操作日志中与用户操作行为无关的、缺失的数据进行清理,将所述用户操作行为按照操作行为类别,分为密钥创建、密钥管理、密钥版本管理、密码运算、别名管理五类操作行为,对各操作行为类别下的具体行为使用word2vec方法进行初始化表示。
39、进一步地,所述s2步骤中构建的用户异质日志行为网络包括五类行为节点以及一类链接关系,其中,所述五类行为节点为包括步骤s1中的五类操作行为类别的节点,各节点的初始表示为各操作行为类别下的具体行为表示;
40、所述一类链接关系由行为发生的时序关系进行构建,包含两种情况:
41、对于同种类型的两个行为节点,若两个行为是同时发生,则构成链接关系;
42、对于不同类型的两个行为节点,若两个行为是相邻时间发生,则构成链接关系。
43、进一步地,所述s5步骤的实现密钥管理服务测试用例生成的方法包括:
44、通过最小化交叉熵损失函数的方式优化模型,生成测试用例的向量表示,并将向量表示映射为中文句子,生成大量有效的测试用例。
45、本发明还提供基于异质日志行为网络的kms测试用例生成系统,执行如上述所述的基于异质日志行为网络的kms测试用例生成方法,包括:
46、操作日志数据预处理模块:用于将用户操作日志进行数据预处理,并将用户操作行为进行词嵌入算法表示,输入日志行为模型中;
47、用户异质日志行为网络构建模块:用于基于预处理后的用户操作行为数据,利用所述日志行为模型构建用户异质日志行为网络,不同用户具有不同的异质日志行为网络;
48、单用户日志行为表示模块:用于基于所述用户异质日志行为网络,构建单用户操作日志行为表示;
49、用户群体日志行为表示模块:用于以各用户操作日志行为的整体表示为基础,基于用户级注意力机制,构建用户群体操作日志行为表示;利用用户级注意力机制,提取用户群体对于系统功能的兴趣,获取用户对于系统性能的要求;
50、测试用例生成模块:用于将所述单用户操作日志行为表示与所述用户群体操作日志行为表示进行拼接,输入多层感知机中,使用最小化交叉熵损失函数对日志行为模型进行优化,实现密钥管理服务测试用例生成。
51、进一步地,所述单用户日志行为表示模块包括:
52、节点表示单元:用于结合消息传递机制及行为级注意力机制,聚合目标节点的邻居行为节点的特征表示;
53、整体表示单元:用于通过拼接所述用户异质日志行为网络中各节点表示及链接表示,对各用户操作日志行为进行整体表示。
54、本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述所述的基于异质日志行为网络的kms测试用例生成方法的步骤。
55、本发明还提供一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于异质日志行为网络的kms测试用例生成方法的步骤。
56、与现有技术相比,本发明的有益效果在于:
57、本发明提供的基于异质日志行为网络的kms测试用例生成方法及系统能够快速生成大量测试用例,覆盖不同的路径、条件和边界情况,有效提升了kms功能性测试用例和非功能性测试用例的覆盖率,检测产品存在的潜在问题,能够最大程度上发掘用户潜在行为信息,覆盖更多不常见的用户行为,发掘更多用户行为的边界情况,生成大量有效的功能性测试用例;能够建模用户对于产品性能的需求,生成非功能测试用例,提升密钥管理服务的鲁棒性;使模型具有学习能力,可根据过去的测试反馈改进生成的测试用例,持续地更新和优化测试用例,适应用户行为的变化,有效提高了测试质量。
1.基于异质日志行为网络的kms测试用例生成方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于异质日志行为网络的kms测试用例生成方法,其特征在于,所述s3步骤包括以下步骤:
3.根据权利要求1所述的基于异质日志行为网络的kms测试用例生成方法,其特征在于,所述s4步骤的构建用户群体操作日志行为表示的方法包括:
4.根据权利要求1所述的基于异质日志行为网络的kms测试用例生成方法,其特征在于,所述s1步骤的将用户操作日志进行数据预处理的方法包括:
5.根据权利要求4所述的基于异质日志行为网络的kms测试用例生成方法,其特征在于,所述s2步骤中构建的用户异质日志行为网络包括五类行为节点以及一类链接关系,其中,所述五类行为节点为包括步骤s1中的五类操作行为类别的节点,各节点的初始表示为各操作行为类别下的具体行为表示;
6.根据权利要求5所述的基于异质日志行为网络的kms测试用例生成方法,其特征在于,所述s5步骤的实现密钥管理服务测试用例生成的方法包括:
7.基于异质日志行为网络的kms测试用例生成系统,执行如权利要求1-6任一项所述的基于异质日志行为网络的kms测试用例生成方法,其特征在于,包括:
8.根据权利要求7所述的基于异质日志行为网络的kms测试用例生成系统,其特征在于,所述单用户日志行为表示模块包括:
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-6任一项所述的基于异质日志行为网络的kms测试用例生成方法的步骤。
10.一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6任一项所述的基于异质日志行为网络的kms测试用例生成方法的步骤。
