System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请属于模糊测试,具体涉及一种证券业务后台系统接口模糊测试方法。
技术介绍
1、市面上存在多种模糊测试工具,常见的两种测试方式是黑盒测试和灰盒测试。
2、黑盒测试在不清楚被测系统内部逻辑的情况下,直接使用大量非预期输入(不合法的网络包、命令行入参、结构混乱的文件等)进行测试,测试用例多,用例有效性低,缺陷发现能力较差;
3、灰盒测试使用插桩编译相关技术,将被测系统源码进行适当修改,获取测试过程中的代码覆盖率,作为用例生成的反馈输入,通过这种反馈信息调整用例,进而提升覆盖率,达到模糊测试对代码覆盖的目的,探测代码分支的缺陷。
4、当前灰盒模式在模糊测试领域被广泛采用,模糊测试工具与被测程序一起编译,在源码中插桩,依赖于使用若干变异函数将一组有效程序输入转换为新的突变输入。这些变异函数相对简单,执行诸如修改部分内容、插入特殊字符或删除部分内容等操作。因此,这个产生的突变输入与其原始输入相似但又不同。如果某个突变输入通过影响以前未探索的代码路径来增加代码覆盖率,则将其添加到有效输入队列中,并重复该过程。通过预定义的规则,不断调整突变输入,达到尽可能覆盖更多代码行的目的,探测是否存在部分代码在处理突变输入时,可能会出现影响软件稳定性的缺陷。最终根据被测系统可能出现的服务崩溃问题,对输入进行记录,达到缺陷发现和缺陷复现的目的。
5、现有的模糊测试技术存在以下问题:
6、黑盒模式采用盲目的注入方式进行模糊测试,效率低下,用例有效性低,且大部分使用命令行入参方式进行,不符合证券业务
7、灰盒模式需要进行插桩编译,对于证券业现状来说,存在大量系统为外购系统,开发语言多样,无法获取源码进行插桩编译,此外插桩后将对系统性能、稳定性等产生一定影响,偏离原有的测试目标;
8、由于很多厂商提供的产品采用的协议为私有协议,无法获知协议详细定义及加密算法,市面上针对开放协议的产品无法适用,协议扩展性不足,支持成本高;
9、现有的模糊测试工具多为单一服务器的缺陷发现设计,针对架构复杂,微服务众多的证券业务后台被测系统,暂无良好的缺陷发现手段。
技术实现思路
1、本专利技术的目的在于克服现有技术中的不足,提供一种证券业务后台系统接口模糊测试方法,通过系统接入日志进行分析处理,根据实际入参,设计高有效性的模糊测试用例,并进行用例规模控制,同时结合被测系统响应返回响应体具体内容,修正用例,能够适配了多种证券业务后台协议且提供了便捷的扩展方法,并提供了缺陷发现方法。
2、为实现上述目的,本专利技术是采用下述技术方案实现的:
3、第一方面,本专利技术提供一种证券业务后台系统接口模糊测试方法,包括:
4、获取被测系统接口日志,进行清洗聚合,得到种子用例;
5、基于获取的种子用例,使用用例变异算法生成测试用例;
6、调用特定协议发送模块将生成的测试用例发送给被测系统,并根据被测系统的反馈使用响应分析模块对用例进行反馈修正;
7、使用统计模块和监控模块获取被测系统集群状态,得到模糊测试结果。
8、进一步的,所述基于获取的种子用例,使用用例变异算法生成测试用例,包括以下步骤:
9、对所述种子用例进行信息修正;
10、使用用例变异算法生成测试用例,并引入业务测试异常库,进行取值采样。
11、进一步的,所述用例变异算法,采用随机算法,结合单参数遍历取值、单参数随机取值、多参数组合取值,并且结合协议特征,进行协议多部位参数的组合变异取值。
12、进一步的,所述使用用例变异算法生成测试用例,还包括:
13、在用例生成过程中,采用多参数变异抑制算法进行测试用例规模控制,并采用响应解析修正算法对测试用例进行修正。
14、进一步的,所述多参数变异抑制算法为结合randomwalk算法的二维扩散算法,具体包括以下步骤:
15、将参数和异常组合变异抽象为二维的randomwalk模型,得到概率分布为距离原点半径r的函数:
16、
17、其中,n为系数;
18、扩散系数为:
19、
20、其中,t是自randomwalk以来经过的时间,ε是步长;
21、randomwalk随机算法在遍历异常取值集合时,是采用偏心的方式,随机取得一个初始权重,在异常集合内部进行扩散,并将异常值与待变异参数进行组合,同时结合外部干涉,获取典型值。
22、进一步的,所述采用响应解析修正算法对测试用例进行修正,包括:
23、通过被测系统反馈的信息,感知上下文依赖情况,串联不同接口用例,并依据用例返回码与反馈内容对参数进行微调,修正测试用例。
24、进一步的,还包括缺陷发现方法,具体包括以下步骤:
25、实时采集被测系统的监控信息;
26、模糊测试执行机群通过发送请求,记录响应获取所耗时长,并判断报文是否无响应返回,同时使用简易探测报文进行探测,判断服务端是否出现拒绝服务的问题;
27、模糊测试执行机群在收到响应后,统计采集异常响应码,并通过预设或用户指定的正则表达式进行响应挖掘统计,发现潜在的信息泄漏及响应中隐藏的数据库操作报错、服务内部错误。
28、进一步的,所述特定协议发送模块,包括协议拓展方法:将不同协议的被测系统sdk进行统一封装,留出统一的测试用例发送入口。
29、第二方面,本专利技术提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述证券业务后台系统接口模糊测试方法。
30、与现有技术相比,本专利技术所达到的有益效果:
31、(1)将不同协议的被测系统sdk进行统一封装,留出统一的测试用例发送入口,聚焦于合法协议下不合法入参,贴近于实际应用,无需专业的协议分析工作,不同协议接入简单,扩展性好,不同架构被测系统适配性好;
32、(2)缺陷发现能力强,适用于于证券业务后台系统长链路测试,可以兼顾分布式微服务系统和下游服务,缺陷发现全面,涵盖服务崩溃、服务资源异常、信息泄漏、服务无响应等场景,包含系统崩溃、资源占用异常等高价值缺陷;
33、(3)无侵入性,无需对被测系统进行预先配置,无需严格接口定义文档即可开展,测试简单快捷。
本文档来自技高网...【技术保护点】
1.一种证券业务后台系统接口模糊测试方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的证券业务后台系统接口模糊测试方法,其特征在于,所述基于获取的种子用例,使用用例变异算法生成测试用例,包括以下步骤:
3.根据权利要求1或2所述的证券业务后台系统接口模糊测试方法,其特征在于,所述用例变异算法,采用随机算法,结合单参数遍历取值、单参数随机取值、多参数组合取值,并且结合协议特征,进行协议多部位参数的组合变异取值。
4.根据权利要求2所述的证券业务后台系统接口模糊测试方法,其特征在于,所述使用用例变异算法生成测试用例,还包括:
5.根据权利要求4所述的证券业务后台系统接口模糊测试方法,其特征在于,所述多参数变异抑制算法为结合RandomWalk算法的二维扩散算法,具体包括以下步骤:
6.根据权利要求4所述的证券业务后台系统接口模糊测试方法,其特征在于,所述采用响应解析修正算法对测试用例进行修正,包括:
7.根据权利要求1所述的证券业务后台系统接口模糊测试方法,其特征在于,还包括缺陷发现方法,具体包括以下步骤
8.根据权利要求1所述的证券业务后台系统接口模糊测试方法,其特征在于,所述特定协议发送模块,包括协议拓展方法:将不同协议的被测系统SDK进行统一封装,留出统一的测试用例发送入口。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现如权利要求1-9中任一所述的证券业务后台系统接口模糊测试方法。
...【技术特征摘要】
1.一种证券业务后台系统接口模糊测试方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的证券业务后台系统接口模糊测试方法,其特征在于,所述基于获取的种子用例,使用用例变异算法生成测试用例,包括以下步骤:
3.根据权利要求1或2所述的证券业务后台系统接口模糊测试方法,其特征在于,所述用例变异算法,采用随机算法,结合单参数遍历取值、单参数随机取值、多参数组合取值,并且结合协议特征,进行协议多部位参数的组合变异取值。
4.根据权利要求2所述的证券业务后台系统接口模糊测试方法,其特征在于,所述使用用例变异算法生成测试用例,还包括:
5.根据权利要求4所述的证券业务后台系统接口模糊测试方法,其特征在于,所述多参数变异抑制算法为...
【专利技术属性】
技术研发人员:朱朔,邱朋,刘淼,刘婷,朱文斌,
申请(专利权)人:华泰证券股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。