[发明专利]基于修复缺陷的变更预测回归测试失效的方法及装置有效
申请号: | 201510524123.X | 申请日: | 2015-08-24 |
公开(公告)号: | CN105045719B | 公开(公告)日: | 2018-06-19 |
发明(设计)人: | 唐新烨;王青 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京汇泽知识产权代理有限公司 11228 | 代理人: | 张瑾 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 回归测试 变更 修复 源代码 特征模型 预测模型 测试 构建 预测 机器学习 静态调用 特征向量 修复软件 分析 | ||
本发明提供一种基于修复缺陷的变更预测回归测试失效的方法及装置,涉及源代码的变更分析技术领域,用于解决现有技术无法找到哪些相应的测试用例会引发回归测试的失效的问题。所述方法包括:通过对修复缺陷的变更历史的分析,获取有影响的因素,从中选取特征向量,构建特征模型;使用Logistic回归模型,对所构建的特征模型进行机器学习,得到预测模型;使用所述预测模型对修复缺陷的变更是否会导致回归测试失效进行预测;通过对静态调用图的分析,对可能导致回归测试失效的测试用例进行推荐。本发明适用于在修复软件源代码中存在的缺陷时提供导致回归测试失效的具体测试用例。
技术领域
本发明涉及源代码的变更分析技术领域,尤其涉及一种基于修复缺陷的变更预测回归测试失效的方法及装置。
背景技术
为了修复发现的缺陷,软件的源代码经常变更。这些修复缺陷的变更可能引起非预期的行为,使得与现在的回归测试用例的场景不一致,从而导致回归测试失效。研究表明,48.7%的修复缺陷的变更可能会使回归测试失效,也就意味着对于48.7%的变更,开发人员需要多次的运行回归测试。这是个非常耗时和枯燥的过程。因此,在运行回归测试之前,找到哪些相应的测试用例会引发回归测试的失效对于快速修复缺陷是非常有帮助的。
发明内容
本发明提供一种基于修复缺陷的变更预测回归测试失效的方法及装置,能够提供导致回归测试失效的具体测试用例,便于快速修复软件源代码中存在的缺陷。
本发明提供的基于修复缺陷的变更预测回归测试失效的方法,包括:
通过对修复缺陷的变更历史的分析,获取有影响的因素,从中选取特征向量,构建特征模型;
使用Logistic回归模型,对所构建的特征模型进行机器学习,得到预测模型;
使用所述预测模型对修复缺陷的变更是否会导致回归测试失效进行预测;
通过对静态调用图的分析,对可能导致回归测试失效的测试用例进行推荐。
本发明提供的基于修复缺陷的变更预测回归测试失效的装置,包括:
特征选取单元,用于通过对修复缺陷的变更历史的分析,获取有影响的因素,从中选取特征向量,构建特征模型;
模型训练单元,用于使用Logistic回归模型,对所构建的特征模型进行机器学习,得到预测模型;
预测单元,用于使用所述预测模型对修复缺陷的变更是否会导致回归测试失效进行预测;
推荐单元,用于通过对静态调用图的分析,对可能导致回归测试失效的测试用例进行推荐。
本发明提供的基于修复缺陷的变更预测回归测试失效的方法及装置,通过对修复缺陷的变更历史的分析,获取有影响的因素,从中选取特征向量,构建特征模型,使用Logistic回归模型,对所构建的特征模型进行机器学习,得到预测模型,使用该预测模型对修复缺陷的变更是否会导致回归测试失效进行预测,通过对静态调用图的分析,对可能导致回归测试失效的测试用例进行推荐。与现有技术相比,本发明能够提供导致回归测试失效的具体测试用例,便于快速修复软件源代码中存在的缺陷。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的基于修复缺陷的变更预测回归测试失效的方法的流程图;
图2为本发明实施例中构建特征模型的18个特征向量;
图3为本发明实施例中推荐可能导致回归测试失效的测试用例时使用的静态调用图的关系图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510524123.X/2.html,转载请声明来源钻瓜专利网。