【技术实现步骤摘要】
代码测试方法及装置
本说明书涉及软件测试
,特别涉及一种代码测试方法。本说明书同时涉及一种代码测试装置,一种计算设备,以及一种计算机可读存储介质。
技术介绍
目前,系统内核广泛部署应用与云计算领域,负责应用的安全稳定运行,其代码质量必须得到保障,因此,需要有效方式方法对操作系统内核进行缺陷测试。内核模糊测试技术作为一种软件测试技术,被广泛应用于内核的缺陷测试过程中。然而,目前模糊测试单纯以最大化整体内核代码覆盖为测试目标,缺乏对待测目标位置的感知能力与重点测试能力,因此,亟需一种解决上述问题的代码测试方法。
技术实现思路
有鉴于此,本说明书实施例提供了一种代码测试方法。本说明书同时涉及一种代码测试装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。根据本说明书实施例的第一方面,提供了一种代码测试方法,包括:按照预设选取规则,从代码池的代码序列中选取目标代码序列,其中,所述代码池根据待测试代码构建得到;通过执行所述目标代码序列,确定所述目标代码序列在所述待测试代码中覆盖的代码位置;在所述代码位置位于已测试位置,并且位于预设目标测试位置的情况下,确定针对所述目标代码序列的目标变更执行策略,其中,所述已测试位置为执行完成的代码序列在所述待测试代码中覆盖的位置;通过基于所述目标变更执行策略对所述目标代码序列进行变更执行的方式,对所述待测试代码进行测试。根据本说明书实施例的第二方面,提供了一种代码测试装置,包括:选取模 ...
【技术保护点】
1.一种代码测试方法,包括:/n按照预设选取规则,从代码池的代码序列中选取目标代码序列,其中,所述代码池根据待测试代码构建得到;/n通过执行所述目标代码序列,确定所述目标代码序列在所述待测试代码中覆盖的代码位置;/n在所述代码位置位于已测试位置,并且位于预设目标测试位置的情况下,确定针对所述目标代码序列的目标变更执行策略,其中,所述已测试位置为执行完成的代码序列在所述待测试代码中覆盖的位置;/n通过基于所述目标变更执行策略对所述目标代码序列进行变更执行的方式,对所述待测试代码进行测试。/n
【技术特征摘要】
1.一种代码测试方法,包括:
按照预设选取规则,从代码池的代码序列中选取目标代码序列,其中,所述代码池根据待测试代码构建得到;
通过执行所述目标代码序列,确定所述目标代码序列在所述待测试代码中覆盖的代码位置;
在所述代码位置位于已测试位置,并且位于预设目标测试位置的情况下,确定针对所述目标代码序列的目标变更执行策略,其中,所述已测试位置为执行完成的代码序列在所述待测试代码中覆盖的位置;
通过基于所述目标变更执行策略对所述目标代码序列进行变更执行的方式,对所述待测试代码进行测试。
2.根据权利要求1所述的代码测试方法,所述确定针对所述目标代码序列的目标变更执行策略,包括:
确定对所述目标代码序列进行变更的目标变更类型以及目标变更执行次数;
将所述目标变更类型以及所述目标变更执行次数,作为所述目标变更执行策略。
3.根据权利要求2所述的代码测试方法,所述确定对所述目标代码序列进行变更的目标变更类型以及目标变更执行次数,包括:
确定所述目标优先级对应的变更次数算法以及所述目标代码序列的目标变更类型;
基于所述变更次数算法以及所述代码位置,确定所述目标变更执行次数。
4.根据权利要求1所述的代码测试方法,所述确定针对所述目标代码序列的目标变更执行策略,包括:
确定所述目标代码序列对应的执行优先级为目标优先级;
基于所述目标优先级,确定对所述目标代码序列进行变更的目标变更类型以及目标变更执行次数;
将所述目标优先级、所述目标变更类型以及所述目标变更执行次数,作为所述目标变更执行策略。
5.根据权利要求4所述的代码测试方法,所述基于所述目标优先级,确定对所述目标代码序列进行变更的目标变更类型以及目标变更执行次数,包括:
基于所述目标优先级,确定所述目标优先级对应的变更次数算法以及所述目标代码序列的目标变更类型;
基于所述变更次数算法以及所述代码位置,确定所述目标变更执行次数。
6.根据权利要求4所述的代码测试方法,所述基于所述目标变更执行策略对所述目标代码序列进行变更执行,包括:
将所述目标代码序列添加至所述目标优先级对应的目标优先级队列;
按照每个优先级队列对应的优先级从高到低的顺序,从所述每个优先级队列获取待执行的代码序列,其中所述优先级队列包括:目标优先级队列,所述待执行的代码序列包括:目标代码序列;
在获取的待执行的代码序列为目标代码序列的基础上,根据所述目标变更类型以及所述目标变更执行次数,确定每次对所述目标代码序列进行变更的变更操作;
基于所述变更操作,对所述目标代码序列进行变更,并执行变更后的目标代码序。
7.根据权利要求1所述的代码测试方法,所述确定所述目标代码序列在所述待测试代码中覆盖的代码位置之后,还包括:
在所述代码位置非位于所述已测试位置的情况下,确定所述目标代码序列对应的执行优先级为第一优先级;
基于所述第一优先级,确定对所述目标代码序列进行变更的第一变更类型以及第一变更执行次数;
通过基于所述第一优先级、所述第一变更类型以及所述第一变更执行次数,对所述目标代码序列进行变更执行的方式,对所述待测...
【专利技术属性】
技术研发人员:施鹤远,王润哲,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。