[发明专利]一种程序测试方法和装置在审
申请号: | 202110416225.5 | 申请日: | 2021-04-19 |
公开(公告)号: | CN113076255A | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 牛金亮 | 申请(专利权)人: | 北京京东拓先科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 杜志敏;宋志强 |
地址: | 100176 北京市北京经济技*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 测试 方法 装置 | ||
1.一种程序测试方法,其特征在于,所述方法包括:
获取第N次修改后的程序对应的漏测概率测试用例集MN;其中,漏测概率测试用例集包括测试用例,以及测试用例对应的漏测概率;
根据第N+1次对程序修改的语句的类型,以及MN确定第N+1次修改后的程序对应的漏测概率测试用例集MN+1;
获取MN+1中漏测概率大于预设阈值的测试用例组成回归测试用例集;
使用所述回归测试用例集对第N+1次修改后的程序进行测试。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
将获取的第N+1次修改后的程序对应的漏测概率测试用例集MN+1存储。
3.根据权利要求1所述的方法,其特征在于,获取第N次修改后的程序对应的漏测概率测试用例集,包括:
当N为0时,获取针对未修改程序进行测试的测试用例集,对所述测试用例集中的每个测试用例估算出漏测概率,并组成未修改程序对应的漏测概率测试用例集;
当N为1时,根据第1次对程序修改的语句的类型,以及未修改程序对应的漏测概率测试用例集获取第1次修改后的程序对应的漏测概率测试用例集M1;
当N为大于1的整数时,根据第N-1次对程序修改的语句的类型,以及第N-1次修改后的程序对应的漏测概率测试用例集MN-1获取第N次修改后的程序对应的漏测概率测试用例集MN。
4.根据权利要求1所述的方法,其特征在于,所述获取针对未修改程序进行测试的测试用例集,对所述测试用例集中的每个测试用例估算出漏测概率,包括:
获取针对未修改程序进行测试的测试用例集;
获取所述测试用例集中的每个测试用例对应的覆盖错误的语句的概率、错误的中间态发生的概率和输出错误结果的概率;
确定所述测试用例的漏测概率为所述覆盖错误的语句的概率、错误的中间态发生的概率和输出错误结果的概率的乘积。
5.根据权利要求4所述的方法,其特征在于,所述获取所述测试用例集中的每个测试用例对应的覆盖错误的语句的概率、错误的中间态发生的概率和输出错误结果的概率,包括:
获取所述覆盖错误的语句的概率,包括:
对程序进行静态扫描,获取错误的语句;
在执行每条测试用例过程中,采用插桩的方式记录执行到的语句和未执行到的语句;
确定所述测试用例执行到对应错误的语句的概率为所述测试用例覆盖错误的语句的概率;
获取所述错误的中间态发生的概率,包括:
获取针对所述测试用例设置的错误的中间态发生的概率;
获取所述输出错误结果的概率,包括:
当错误的中间态结果,作为计算性来使用时,将中间态结果的错误概率作为输出错误结果的概率;
当错误的中间态结果,作为控制流的一个控制分支使用时,使用所有分支表达式是否错误的概率的乘积,作为输出错误结果的概率。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述根据第N+1次对程序修改的语句的类型,以及MN确定第N+1次修改后的程序对应的漏测概率测试用例集MN+1,包括:
当修改的语句的类型为运算语句,且中间结果在同一内存中时,将MN作为MN+1;
当修改的语句为运算语句,且中间结果不在同一内存中时,MN+1中测试用例对应的漏测概率为1与MN中对应测试用例的漏测概率的差值;
当修改的语句为流程控制语句时,将MN作为MN+1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东拓先科技有限公司,未经北京京东拓先科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110416225.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于有机物燃烧后的废气淋洗装置
- 下一篇:一种具有视力校正功能的VR头盔