首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于机器学习的细粒度测试用例检测方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:南方科技大学

摘要:本发明提供一种基于机器学习的细粒度测试用例检测方法,所述方法包括:获取目标软件的产品代码更改信息,根据所述产品代码更改信息得到已更改的目标产品函数;提取所述目标产品函数对应的函数粒度特征,根据所述函数粒度特征得到所述目标产品函数对应的目标特征向量;将所述目标特征向量输入预先训练的分类模型中,得到目标软件的测试代码中需要更改的测试用例的更改类型结果以及测试用例的具体位置信息。本发明通过获取已更改的目标产品函数,提取目标产品函数对应的函数粒度特征得到目标特征向量,将目标特征向量输入预先训练的分类模型中,实现了对过时测试用例进行函数级别细粒度即时预测,提高了定位需更新的测试用例代码的效率。

主权项:1.一种基于机器学习的细粒度测试用例检测方法,其特征在于,所述方法包括:获取目标软件的产品代码更改信息,根据所述产品代码更改信息得到已更改的目标产品函数;提取所述目标产品函数对应的函数粒度特征,根据所述函数粒度特征得到所述目标产品函数对应的目标特征向量;将所述目标特征向量输入预先训练的分类模型中,得到目标软件的测试代码中需要更改的测试用例的更改类型结果以及测试用例的具体位置信息;所述分类模型的训练步骤包括:从目标代码库的所有历史提交中查找发生更改的产品代码和测试代码,根据发生更改的所述产品代码和所述测试代码确定发生更改的样本更改函数;若所述样本更改函数所在的Java类为产品类,则查找对样本更改函数所在类进行测试的测试类,根据所述测试类得到函数粒度的正样本和负样本;利用所述正样本和负样本对初始分类模型进行训练,得到已训练的分类模型;若所述样本更改函数所在的Java类为产品类,则查找对样本更改函数所在类进行测试的测试类,根据所述测试类得到函数粒度的正样本和负样本,包括:若所述样本更改函数所在的Java类为产品类,则根据预设命名约定确定对所述样本更改函数所在的Java类进行测试的测试类;通过语法解析器查找所述产品类和所述测试类之间函数的多层调用关系,并根据所述多层调用关系确定对所述样本更改函数进行测试的所有样本测试函数;根据所述样本测试函数与所述样本更改函数之间的协同演化关系得到所述样本更改函数的初始样本标签;若同一个样本更改函数的同一次更改对应多个初始样本标签,则按照预设合并规则将各个初始样本标签进行合并,得到函数粒度的正样本和负样本;如果无法找到相关测试类,查找import语句中导入该类的测试类以及代码中书写了该类类名的测试类;根据所述样本测试函数与所述样本更改函数之间的协同演化关系得到所述样本更改函数的初始样本标签,包括:查找所述样本更改函数对应的第一更改时间,以及所有样本测试函数对应的第二更改时间;计算各个所述第二更改时间与所述第一更改时间之间的最短间隔时间,将最短间隔时间对应的第二更改时间作为目标第二更改时间;若所述最短间隔时间小于预设第一时间阈值,则确定在第一更改时间和目标第二更改时间之间所述样本更改函数的更改信息;若所述更改信息为在第一更改时间和目标第二更改时间之间没有再次更改,则确定第一更改时间和目标第二更改时间之间的样本测试函数的更改类型,并将所述更改类型记录为所述样本更改函数的初始样本标签;其中,所述更改类型为应该更改;或者,所述更改类型包括:应该创建、应该编辑和应该删除;样本标签均为应该更改时,合并为正样本;样本标签均为应该创建时,合并为正样本;样本标签均为应该编辑时,合并为正样本;样本标签均为应该删除时,合并为正样本;样本标签有应该创建、应该编辑、应该删除三个中的任意两个或两个以上时,合并为正样本;利用所述正样本和负样本对初始分类模型进行训练,得到已训练的分类模型,包括:将Java中的所有AST节点类型进行初步筛选,得到特征列表;确定所述特征列表中各个特征的代码位置信息,根据各个特征和对应的代码位置信息构建线段树;查询所述线段树,确定所述正样本和所述负样本中更改的产品代码行中包含的样本特征;根据所述样本特征得到每个样本对应的特征向量,所述特征向量表示目标更改函数中包含所述样本特征的代码增加或减少的总行数;将各个所述正样本和所述负样本对应的特征向量,对初始分类模型进行训练,得到已训练的分类模型。

全文数据:

权利要求:

百度查询: 南方科技大学 一种基于机器学习的细粒度测试用例检测方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

相关技术
相关技术
相关技术
相关技术