[发明专利]测试用例覆盖率的度量方法和度量装置有效
申请号: | 201711463893.3 | 申请日: | 2017-12-28 |
公开(公告)号: | CN109976999B | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 李一伟;张强;梁妍;谢鹏 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;杨晓伟 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 测试 覆盖率 度量 方法 装置 | ||
1.一种测试用例覆盖率的度量方法,其特征在于,包括:
根据被测代码的结构关系数据生成测试用例的结构关系数据;
通过计算所述被测代码的结构关系数据与所述测试用例的结构关系数据的相似度,得到所述测试用例的覆盖率;
根据被测代码的结构关系数据生成测试用例的结构关系数据的步骤包括:
获取测试用例中调用的类名和方法名,以及所述测试用例中模拟的方法内部节点标识,并与所述被测代码的结构关系数据中包括的类名、方法名和方法内部节点标识进行比对匹配;
对匹配到的类名、方法名和方法内部节点标识,根据所述被测代码的结构关系,由匹配到的类名之间的调用关系生成所述测试用例的类节点关系数据;由匹配到的方法名之间的调用关系生成所述测试用例的方法节点关系数据;由匹配到的方法内部节点之间的关系生成所述测试用例的方法内部节点关系数据;所述方法内部节点包括如下的一种或多种:代码块节点、if语句节点、switch分支语句节点。
2.根据权利要求1所述的度量方法,其特征在于,
所述结构关系数据包括类节点关系数据、方法节点关系数据和方法内部节点关系数据;并且,
所述被测代码的结构关系数据是通过以下步骤得到的:
通过获取所述被测代码中的类之间的调用关系以得到类节点关系数据;
通过获取所述被测代码中的方法之间的调用关系以得到方法节点关系数据;以及,
对每个方法内部节点,通过获取所述方法内部节点对应的下列数据来得到所述方法内部节点关系数据:类名、方法名、指向所述方法内部节点的方法内部节点标识集、所述方法内部节点指向的方法内部节点标识集、开始节点标识、结束节点标识,
其中,若所述方法内部节点所在的方法A未被任何方法调用,则所述开始节点为所述方法A的第一个方法内部节点;所述结束节点为所述方法A的最后一个方法内部节点;若所述方法内部节点所在的方法A被方法B调用,则所述开始节点为所述方法B中开始调用所述方法A的方法内部节点,所述结束节点为所述方法B中结束调用所述方法A的方法内部节点。
3.根据权利要求1所述的度量方法,其特征在于,计算所述被测代码的结构关系数据与所述测试用例的结构关系数据的相似度的步骤包括:
分别将所述被测代码的结构关系数据和所述测试用例的结构关系数据转换为关系数组,所述关系数组包括顶点数组和邻接矩阵;
分别计算所述被测代码的顶点数组和所述测试用例的顶点数组的相似度,以及所述被测代码的邻接矩阵和所述测试用例的邻接矩阵的相似度,以得到所述被测代码的结构关系数据与所述测试用例的结构关系数据的相似度。
4.根据权利要求3所述的度量方法,其特征在于,
所述顶点数组包括类顶点数组、方法顶点数组和方法内部顶点数组,其中,所述类顶点数组由类节点关系数据中包括的类节点构成,所述方法顶点数组由方法节点关系数据中包括的方法节点构成,所述方法内部顶点数组由方法内部节点关系数据中包括的方法内部节点构成;
所述邻接矩阵包括类邻接矩阵、方法邻接矩阵和方法内部邻接矩阵,其中,所述类邻接矩阵由类节点关系数据中包括的类节点之间的关系数据构成,所述方法邻接矩阵由方法节点关系数据中包括的方法节点之间的关系数据构成,所述方法内部邻接矩阵由方法内部节点关系数据中包括的方法内部节点之间的关系数据构成,其中,若两个节点之间有逻辑关系,则这两个节点之间的关系数据为1,否则为0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711463893.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种软件缺陷预测方法、装置和电子设备
- 下一篇:一种移动应用评测方法及系统