[发明专利]代码测试方法和装置有效
申请号: | 201811147512.5 | 申请日: | 2018-09-29 |
公开(公告)号: | CN109388568B | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 陈夏辉;吴泽武;袁辉 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 测试 方法 装置 | ||
1.一种代码测试方法,包括:
基于日志中标记对象的标识信息,确定所有标记对象中的目标标记对象,其中,所述标记对象包括:函数中的代码分支,所述标记对象的标识信息基于标记对象的至少部分代码生成包括:所述代码分支的标识信息基于代码分支的属性信息生成,代码分支的属性信息包括以下一项或多项:代码分支的分支类型、代码分支的参数、代码分支中的语句,在更新版本的代码中的目标标记对象的标识信息与在原始版本的代码中的目标标记对象的标识信息不同;
基于确定出的目标标记对象和原始版本的代码的测试用例,确定出更新版本的代码的测试用例;
利用更新版本的代码的测试用例对更新版本的代码进行测试。
2.根据权利要求1所述的方法,所述标记对象还包括:函数。
3.根据权利要求2所述的方法,所述方法还包括:
基于函数的属性信息,生成函数的标识信息,函数的属性信息包括以下一项或多项:函数的返回值类型、函数的函数名、函数的参数。
4.根据权利要求1-3之一所述的方法,所述方法还包括:
在原始版本的代码中的标记对象的代码的首个语句之前加入日志语句,所述日志语句包括:标记对象的标识信息;
利用多个测试用例对原始版本的代码进行测试;
对于每一个测试用例,基于测试用例对原始版本的代码进行测试之后被输出到日志的标识信息,确定利用测试用例对原始版本的代码进行测试之后被调用的标记对象。
5.根据权利要求4所述的方法,基于确定出的目标标记对象和原始版本的代码的测试用例,确定出更新版本的代码的测试用例包括:
基于原始版本的测试用例对应的跳转路径信息集合包括的目标标记对象的跳转路径信息的数量,从所有原始版本的测试用例中选取出至少部分测试用例作为更新版本的代码的测试用例,其中,原始版本的测试用例对应的跳转路径信息集合包括:利用原始版本的测试用例对原始版本的代码测试之后被调用的标记对象的跳转路径信息,标记对象的跳转路径信息指示当标记对象被调用时在所述标记对象所属的函数被调用的时刻到所述标记对象被调用的时刻之间所有被调用的标记对象和调用次序。
6.一种代码测试装置,包括:
对象确定单元,被配置为基于日志中标记对象的标识信息,确定所有标记对象中的目标标记对象,其中,所述标记对象包括:函数中的代码分支,所述标记对象的标识信息基于标记对象的至少部分代码生成,在更新版本的代码中的目标标记对象的标识信息与在原始版本的代码中的目标标记对象的标识信息不同;
用例确定单元,被配置为基于确定出的目标标记对象和原始版本的代码的测试用例,确定出更新版本的代码的测试用例;
代码测试单元,被配置为利用更新版本的代码的测试用例对更新版本的代码进行测试;以及所述装置还包括:
第二标识信息生成单元,被配置为基于代码分支的属性信息,生成代码分支的标识信息,代码分支的属性信息包括以下一项或多项:代码分支的分支类型、代码分支的参数、代码分支中的语句。
7.根据权利要求6所述的装置,所述标记对象还包括:函数。
8.根据权利要求7所述的装置,所述装置还包括:
第一标识信息生成单元,被配置为基于函数的属性信息,生成函数的标识信息,函数的属性信息包括以下一项或多项:函数的返回值类型、函数的函数名、函数的参数。
9.根据权利要求6-8之一所述的装置,所述装置还包括:
预测试单元,被配置为在原始版本的代码中的标记对象的代码的首个语句之前加入日志语句,所述日志语句包括:标记对象的标识信息;利用多个测试用例对原始版本的代码进行测试;对于每一个测试用例,基于测试用例对原始版本的代码进行测试之后被输出到日志的标识信息,确定利用测试用例对原始版本的代码进行测试之后被调用的标记对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811147512.5/1.html,转载请声明来源钻瓜专利网。