预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN114168464A(43)申请公布日2022.03.11(21)申请号202111473283.8(22)申请日2021.12.02(71)申请人北京水木羽林科技有限公司地址100000北京市海淀区成府路45号中关村智造大街C座三层321(72)发明人白易元李远翼梁杰姜宇(74)专利代理机构北京知呱呱知识产权代理有限公司11577代理人胡乐(51)Int.Cl.G06F11/36(2006.01)权利要求书2页说明书7页附图3页(54)发明名称一种基于动态调度的分布式模糊测试方法及系统(57)摘要本申请公开了一种基于动态调度的分布式模糊测试方法及系统。本方法中调度服务端配置各个测试节点的访问地址与接口认证信息;配置对应的目标测试节点与调度服务端建立模糊测试关系;利用多节点种子同步后的测试用例进行测试得到覆盖率以及覆盖率增长率;进而计算得到各个模糊测试器的收敛率,当存在收敛率低于预设的收敛阈值时,则对该模糊测试器进行替换,并继续执行测试,最终获取所有模糊测试器的测试结果,并进行结果去重从而确定新缺陷,并将新缺陷加入已去重的新缺陷集合。可以看出,本申请实时地将已经难以发挥效果的模糊测试器剔除,加入其他仍能发现新缺陷的模糊测试器,从而避免分布式集群中算力的浪费,提高整体效率。CN114168464ACN114168464A权利要求书1/2页1.一种基于动态调度的分布式模糊测试方法,其特征在于,所述方法包括:调度服务端配置各个测试节点的访问地址与接口认证信息,并与调度服务端建立连接;所述测试节点中包括模糊测试器以及测试环境依赖项;根据获取的目标测试项目,配置对应的目标测试节点与调度服务端建立模糊测试关系;所述模糊测试关系包括将各个目标测试节点生成的种子测试用例进行多节点集成同步;对所有模糊测试器进行测试得到各个模糊测试器的覆盖率;基于各个模糊测试器的覆盖率根据时间变化计算得到各个模糊测试器的覆盖率增长率;根据各个模糊测试器的覆盖率增长率计算各个模糊测试器的收敛率,当存在模糊测试器的收敛率低于预设的收敛阈值时,则对该模糊测试器进行替换,并继续执行测试;获取所有模糊测试器的测试结果,并进行结果去重从而确定新缺陷,并将新缺陷加入已去重的新缺陷集合。2.根据权利要求1所述的方法,其特征在于,所述根据获取的目标测试项目,配置对应的目标测试节点与调度服务端建立模糊测试关系,包括:建立包含目标测试项目全局覆盖信息的映射表;在整个模糊测试的过程中,将所有模糊测试器的结果实时集成,并且与全局映射表进行对比,识别能够覆盖新路径或新分支的种子用例,更新覆盖映射表;将该用例标记为感兴趣的种子用例,添加到全局用例池中;测试节点从全局用例池同步新增的种子用例到本地用例池,继续进行测试。3.根据权利要求1所述的方法,其特征在于,所述获取所有模糊测试器的测试结果,并进行结果去重从而确定新缺陷,并将新缺陷加入已去重的新缺陷集合,包括:收集测试输出的报错堆栈信息,与当前已完成去重的错误堆栈信息形成集合;遍历误堆栈信息集合,进行错误栈逐帧对比,判断是否重复;若为重复缺陷则抛弃,否则将新缺陷确认,加入已去重的新缺陷集合。4.根据权利要求1所述的方法,其特征在于,所述调度服务端配置各个测试节点的访问地址与接口认证信息,并与调度服务端建立连接,包括:调度服务端配置访问地址与接口身份认证信息,内置于测试节点中,使用集群管理工具将测试节点下发部署到分布式集群主机。5.根据权利要求1所述的方法,其特征在于,所述当存在模糊测试器的收敛率低于预设的收敛阈值时,则对该模糊测试器进行替换,还包括:根据收敛率,将各个模糊测试器进行排序;当发现某个模糊测试器收敛时,触发调度操作,使用队列中收敛率低的模糊测试器类型来替换收敛率高的模糊测试器类型。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:将测试结果反馈至调度服务端;通过调度服务端中止测试,相应测试节点停止模糊测试器。7.根据权利要求1所述的方法,其特征在于,所述收敛率为收敛阈值与覆盖率增长率的比值。8.一种基于动态调度的分布式模糊测试系统,其特征在于,所述系统包括:2CN114168464A权利要求书2/2页测试管理模块,用于使调度服务端配置各个测试节点的访问地址与接口认证信息,并与调度服务端建立连接;所述测试节点中包括模糊测试器以及测试环境依赖项;用例同步模块,用于根据获取的目标测试项目,配置对应的目标测试节点与调度服务端建立模糊测试关系;所述模糊测试关系包括将各个目标测试节点生成的种子测试用例进行多节点集成同步;动态调度模块,用于对所有模糊测试器进行测试得到各个模糊测试器的覆盖率;基于各个模糊测试器的覆盖率根据时间变化计算得到各个模糊测试器的覆盖率增