[发明专利]测试方法、装置、电子设备及存储介质在审
申请号: | 202011358649.2 | 申请日: | 2020-11-27 |
公开(公告)号: | CN112486816A | 公开(公告)日: | 2021-03-12 |
发明(设计)人: | 李松林 | 申请(专利权)人: | 北京知道未来信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/57 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 董艳芳 |
地址: | 100082 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 测试 方法 装置 电子设备 存储 介质 | ||
本申请提供一种测试方法、装置、电子设备及存储介质中,该电子设备在预设测试工具生成的测试数据的基础上,对测试数据做进一步的变异,以提高测试数据的变异程度,将提高变异程度后的变异测试数据用于对目标待测系统进行测试。因此,通过上述方式,该变异测试数据的变异程度更高,继而能够提高发现漏洞的概率。
技术领域
本申请涉及软件测试领域,具体而言,涉及一种测试方法、装置、电子设备及存储介质。
背景技术
模糊测试(Fuzzing),是一种通过向目标待测系统提供非预期的输入,并根据目标待测系统输出的异常结果来发现软件漏洞的方法。
目前,主要通过模糊测试工具生成测试数据,用于测试目标待测系统,然而,目前的模糊测试工具所生成的测试数据,在发掘深层次漏洞时,效果欠佳。
发明内容
第一方面,本申请实施例提供一种测试方法,应用于电子设备,所述方法包括:
获取至少一组测试数据,其中,所述至少一组测试数据为预设测试工具基于测试样本的输出结果;
调整所述至少一组测试数据的数据内容和/或数据结构,获得至少一组变异测试数据;
将所述至少一组变异测试数据分别输入至目标待测系统,获得测试结果。
在一种可能的实现方式中,所述调整所述至少一组测试数据的数据内容和/或数据结构,获得至少一组变异测试数据,包括:
针对每组目标测试数据,调整所述目标测试数据中数据内容之间的排列顺序,获得至少一组第一变异数据;其中,所述目标测试数据为所述测试数据中的一部分;
和/或针对每组目标第一数据,将测试字典插入到所述目标第一数据中,获得至少一组第二变异数据,其中,所述测试字典为预先收集的测试数据,所述目标第一数据为所述第一变异数据中的一部分;
和/或针对多组目标第二数据,将所述多组目标第二数据进行数据重组,获得至少一组第三变异数据,其中,所述目标第二数据为所述第二变异数据中的一部分;
将所述至少一组第一变异数据、所述至少一组第二变异数据和/或所述至少一组第三变异数据作为所述至少一组变异测试数据。
在一种可能的实现方式中,所述测试结果包括目标函数的调用记录,所述将所述变异测试数据输入至目标待测系统之前,所述方法还包括:
确定所述目标函数在系统源代码中的位置,其中,所述系统源代码为所述目标待测系统的源代码;
根据所述目标函数的位置,对所述目标函数进行标记。
在一种可能的实现方式中,所述测试结果包括被调用指令的指令数量,所述电子设备记录有历史指令数量,所述方法还包括:
针对每组所述变异测试数据,检测所述变异测试数据对应的指令数量是否大于所述历史指令数量;
若是,则将所述变异测试数据作为测试样本。
在一种可能的实现方式种,所述预设测试工具为Peach模糊测试工具,所述获取至少一组测试数据之前,所述方法还包括:
基于预设的配置文件以及所述测试样本,通过所述Peach模糊测试工具获得所述至少一组测试数据。
第二方面,本申请实施例提供一种测试装置,所述测试装置包括:
数据获取模块,用于获取至少一组测试数据,其中,所述至少一组测试数据为预设测试工具基于测试样本的输出结果;
数据变异模块,用于调整所述至少一组测试数据的数据内容和/或数据结构,获得至少一组变异测试数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京知道未来信息技术有限公司,未经北京知道未来信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011358649.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种垃圾粉碎处理装置
- 下一篇:茶叶干燥除尘装置