[发明专利]测试方法、装置、设备以及存储介质在审
| 申请号: | 202111339608.3 | 申请日: | 2021-11-12 | 
| 公开(公告)号: | CN114036051A | 公开(公告)日: | 2022-02-11 | 
| 发明(设计)人: | 王娜;汪世涛;朱华亮;熊冰 | 申请(专利权)人: | 北京百度网讯科技有限公司 | 
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 | 
| 代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 | 
| 地址: | 100085 北京市*** | 国省代码: | 北京;11 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 测试 方法 装置 设备 以及 存储 介质 | ||
1.一种测试方法,包括:
获取原始测试用例;
确定所述原始测试用例的梯度信息;
根据所述梯度信息,对所述原始测试用例进行变异,确定变异测试用例;
利用所述变异测试用例进行测试。
2.根据权利要求1所述的方法,其中,所述确定所述原始测试用例的梯度信息,包括:
利用预先训练好的神经网络对所述原始测试用例进行梯度计算,生成梯度信息。
3.根据权利要求2所述的方法,其中,所述神经网络通过以下步骤训练得到:
获取原始测试用例集合;
确定所述原始测试用例集合中各原始测试用例的覆盖路径;
根据各原始测试用例以及对应的覆盖路径,生成训练样本集合;
利用所述训练样本集合对初始神经网络进行训练,得到训练好的神经网络。
4.根据权利要求3所述的方法,其中,所述确定所述原始测试用例集合中各原始测试用例的覆盖路径,包括:
通过汇编指令集的方式在目标源代码中插入探针,通过执行所述探针,确定所述覆盖路径。
5.根据权利要求3所述的方法,其中,所述根据各原始测试用例以及对应的覆盖路径,生成训练样本集合,包括:
分别确定各原始测试用例的第一字节长度以及各覆盖路径的第二字节长度;
补充各原始测试用例至第一字节长度中的最大值以及补充各覆盖路径的序列至第二字节长度中的最大值;
对补充后的各原始测试用例进行归一化;
将归一化后的各原始测试用例以及补充后的覆盖路径作为训练样本集合。
6.根据权利要求1所述的方法,其中,所述根据所述梯度信息,对所述原始测试用例进行变异,确定变异测试用例,包括:
对于每个原始测试用例,根据该原始测试用例的梯度信息,确定该原始测试用例中的变异位置和变异步长;
根据所述变异位置和所述变异步长,对该原始测试用例进行变异,确定变异测试用例。
7.根据权利要求6所述的方法,其中,所述根据该原始测试用例的梯度信息,确定该原始测试用例中的变异位置和变异步长,包括:
根据该原始测试用例的梯度信息,确定梯度信息变化范围大于预设阈值的位置为所述变异位置;
根据该原始测试用例的长度,确定所述变异步长。
8.一种测试装置,包括:
获取单元,被配置成获取原始测试用例;
确定单元,被配置成确定所述原始测试用例的梯度信息;
变异单元,被配置成根据所述梯度信息,对所述原始测试用例进行变异,确定变异测试用例;
测试单元,被配置成利用所述变异测试用例进行测试。
9.根据权利要求8所述的装置,其中,所述确定单元进一步被配置成:
利用预先训练好的神经网络对所述原始测试用例进行梯度计算,生成梯度信息。
10.根据权利要求9所述的装置,其中,所述装置还包括训练单元,被配置成通过以下步骤训练得到神经网络:
获取原始测试用例集合;
确定所述原始测试用例集合中各原始测试用例的覆盖路径;
根据各原始测试用例以及对应的覆盖路径,生成训练样本集合;
利用所述训练样本集合对初始神经网络进行训练,得到训练好的神经网络。
11.根据权利要求9所述的装置,其中,所述训练单元进一步被配置成:
通过汇编指令集的方式在目标源代码中插入探针,通过执行所述探针,确定所述覆盖路径。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111339608.3/1.html,转载请声明来源钻瓜专利网。





