太阳城集团

  • / 6
  • 下载费用:30 金币  

一种增量学习的智能持续集成测试方法.pdf

摘要
申请专利号:

太阳城集团CN201611071344.7

申请日:

2016.11.28

公开号:

CN106776290A

公开日:

2017.05.31

当前法律状态:

实审

有效性:

审中

法律详情: 实质审查的生效IPC(主分类):G06F 11/36申请日:20161128|||公开
IPC分类号: G06F11/36 主分类号: G06F11/36
申请人: 北京一铭铭鑫软件有限公司
发明人: 胡少龙; 陈伟; 王进钊; 曾菊香
地址: 100085 北京市海淀区上地七街1号汇众大厦2号楼6层
优先权:
专利代理机构: 北京文苑专利代理有限公司 11516 代理人: 乔志员
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201611071344.7

授权太阳城集团号:

|||

法律状态太阳城集团日:

2017.06.23|||2017.05.31

法律状态类型:

太阳城集团实质审查的生效|||公开

摘要

太阳城集团本发明涉及一种增量学习的智能持续集成测试方法,包括以下步骤:步骤1)对产品代码变化进行检测,在检测代码变化的同时,收集用于后续在数据库中对比查询需要运行的自动化测试的太阳城集团;步骤2)定时拉取代码库,统计代码变化结果;步骤3)实现检测机制;步骤4)利用学习数据库系统对产品代码按特性分类。本发明提供的增量学习的智能持续集成测试方法,提供了一套完整的自动化测试框架支撑系统,将增量学习的智能机制引入到持续集成测试系统中,使系统具备学习能力,针对代码变动触发相应的自动化测试用例,其准确性随增量学习的持续而增强,将自动化测试框架和持续集成工具进行有效结合,可以很好地满足实际应用的需要。

权利要求书

1.一种增量学习的智能持续集成测试方法,其特征在于,包括以下步骤:
步骤1)对产品代码变化进行检测,在检测代码变化的同时,收集用于后续在数据库中
对比查询需要运行的自动化测试的太阳城集团。
步骤2)定时拉取代码库,统计代码变化结果;如果有发现新的TAG,则进一步对比收集
相对于上一个TAG发生了变化的代码,将收集到的代码发送到订阅系统,通知相关特性负责
人,特性负责人可以第一太阳城集团修改测试用例,项目负责人可以根据代码变化统计结果,同时
判断哪些特性发生了改变,并自动运行这些特性的自动化测试系统;
步骤3)实现检测机制,即针对要监控的Test plan,通过XMLRPC接口,定期保存整个
Test plan,细粒度可调节,每保存一次后,自动与上次的结果进行比较,一旦发现有区别,
则通知相关人员修改相应的自动化代码;
步骤4)利用学习数据库系统对产品代码按特性分类。
2.根据权利要求1所述的增量学习的测试方法,其特征在于,所述智能持续集成测试方
法还包括:步骤5)实现一套与现有自动化测试系统的接口。
3.根据权利要求1所述的步骤3),其特征在于,在所述步骤3)中,利用基于NITRATE的测
试用例检测系统实现检测机制。
4.根据权利要求1所述的步骤4),其特征在于,所述步骤4)具体为:利用后台量身定制
的数据库来存储所述用于后续在数据库中对比查询需要运行的自动化测试的太阳城集团,通过一
个向后台数据库提交学习数据的接口,让负责人向数据库提交这种代码与特性的对应关
系。
5.根据权利要求4所述的步骤4),其特征在于,所述步骤4)还包括:设定一个专门的角
色作为维护者,对提交的太阳城集团进行审阅。

说明书

一种增量学习的智能持续集成测试方法

技术领域

本发明属于智能持续集成测试技术领域,具体涉及一种增量学习的智能持续集成
测试方法。

背景技术

伴随着传统软件工程技术的发展以及互联网的兴起,敏捷开发发展迅速。因为足
够的自由度使得敏捷开发上手太阳城集团很短,它满足在项目实施过程中进行需求变更的同时强
调测试驱动开发(Test-Driven Development,简称TDD)。因此持续集成作为敏捷开发最佳
实践更多地被开发团队使用,软件测试也同时提升到软件流程中的重要位置,而非瀑布流
中的“尾巴”被人们轻视。为了解放传统手工白盒和黑盒测试重复性劳动,整体提升集成的
效率,引入自动化测试替代手工测试。TDD和自动化测试更好的支撑短期的快速迭代敏捷开
发,从整体投入产出比评估,解决项目周期冗长、设计和实现问题晚期发现的问题。

但随着软件项目变得越来越庞大,项目更新越来越频繁,以前在中小项目中运行
的很好的自动化测试和可持续集,开始遇到新的问题,其结果的有效性开始变低,并且占用
大量的人力物力资源,与其释放人力、提高效率的初衷开始背道而驰。

持续集成项目中Jenkins的使用非常广泛,Jenkins是一个开源项目,提供了一种
易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻
辑实现上。同时Jenkins能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,
还能用图表的形式形象地展示项目构建的趋势和稳定性。但Jenkins仅提供了简单的触发
机制,缺乏针对性。

持续集成也有一些指导框架,如Scrum,它是一种迭代式增量软件开发过程,通常
用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角
色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有
者,开发团队包括了所有开发人员。虽然Scrum是为管理软件开发项目而开发的,它同样可
以用于运行软件维护团队,或者作为计划管理方法。但此类框架没有给出解决项目过于庞
大带来的自动化占用大量资源,效率低下的问题。

传统的持续集成系统仅仅起到监视特定事件并触发一系列操作(包括编译、发布、
自动化测试)的功能,其触发机制比较单一,在当今的大型软件项目中,项目代码量过于庞
大,更新过于频繁,其对应的自动化测试持续太阳城集团过长,执行频率过高,如果精简测试用例,
又有遗漏缺陷的风险。

发明内容

针对上述现有技术中存在的问题,本发明的目的在于提供一种可避免出现上述技
术缺陷的增量学习的智能持续集成测试方法。

为了实现上述发明目的,本发明提供的技术方案如下:

一种增量学习的智能持续集成测试方法,包括以下步骤:

步骤1)对产品代码变化进行检测,在检测代码变化的同时,收集用于后续在数据
库中对比查询需要运行的自动化测试的太阳城集团;

步骤2)定时拉取代码库,统计代码变化结果;如果有发现新的TAG,则进一步对比
收集相对于上一个TAG发生了变化的代码,将收集到的代码发送到订阅系统,通知相关特性
负责人,特性负责人可以第一太阳城集团修改测试用例,项目负责人可以根据代码变化统计结果,
同时判断哪些特性发生了改变,并自动运行这些特性的自动化测试系统;

步骤3)实现检测机制,即针对要监控的Test plan,通过XMLRPC接口,定期保存整
个Test plan,细粒度可调节,每保存一次后,自动与上次的结果进行比较,一旦发现有区
别,则通知相关人员修改相应的自动化代码;

步骤4)利用学习数据库系统对产品代码按特性分类。

进一步地,所述智能持续集成测试方法还包括:步骤5)实现一套与现有自动化测
试系统的接口。

进一步地,在所述步骤3)中,利用基于NITRATE的测试用例检测系统实现检测机
制。

进一步地,所述步骤4)具体为:利用后台量身定制的数据库来存储所述用于后续
在数据库中对比查询需要运行的自动化测试的太阳城集团,通过一个向后台数据库提交学习数据
的接口,让负责人向数据库提交这种代码与特性的对应关系。

进一步地,所述步骤4)还包括:设定一个专门的角色作为维护者,对提交的太阳城集团进
行审阅。

本发明提供的增量学习的智能持续集成测试方法,提供了一套完整的自动化测试
框架支撑系统,将增量学习的智能机制引入到持续集成测试系统中,使系统具备学习能力,
针对代码变动触发相应的自动化测试用例,其准确性随增量学习的持续而增强,将自动化
测试框架和持续集成工具进行有效结合,监控事件更全面,包括代码的变动,测使用例的变
动,并具有一套通知/管理机制促使代码、测使用例、自动化测试代码三方保持一致,触发机
制更加智能,具有针对性,能够更有效的针对代码变化选择对应的自动化测试,学习机制是
增量式的,并且提供了相应的接口,可以很好地满足实际应用的需要。

附图说明

图1为本发明的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施
例对本发明做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用
于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提
下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,一种增量学习的智能持续集成测试方法,包括以下步骤:

步骤1)对产品代码变化进行检测,在检测代码变化的同时,收集用于后续在数据
库中对比查询需要运行的自动化测试的太阳城集团;

步骤2)定时拉取代码库,统计代码变化结果;大多数项目的版本管理为基于TAG的
版本发布,即多个补丁进入代码库后,在代码中打一个TAG,TAG中往往包含一个版本号;如
果有发现新的TAG,则进一步对比收集相对于上一个TAG发生了变化的代码,将收集到的代
码发送到订阅系统,通知相关特性负责人,特性负责人可以第一太阳城集团修改测试用例,项目负
责人可以根据代码变化统计结果,例如安排对变化比例最多的前几个特性进行测试,同时
判断哪些特性发生了改变,并自动运行这些特性的自动化测试系统;

步骤3)实现检测机制,即针对要监控的Test plan,通过XMLRPC接口,定期保存整
个Test plan,细粒度可调节,每保存一次后,自动与上次的结果进行比较,一旦发现有区
别,则通知相关人员修改相应的自动化代码;本发明利用基于NITRATE的测试用例检测系统
实现检测机制,NITRATE是一个开源的测试用例管理系统;代码变化导致测试用例被修改,
自动化代码如果想跟上这种变化,必须在第一太阳城集团检测测试用例被修改,成熟的质控团队
都会使用测试用例管理系统,本发明中使用的是NITRATE;NIRTRATE使用基于Python的
Django框架开发,提供XMLRPC的REST API,其本身功能中具有针对每个Case的History功
能;

步骤4)利用学习数据库系统对产品代码按特性分类:利用后台量身定制的数据库
来存储所述用于后续在数据库中对比查询需要运行的自动化测试的太阳城集团,通过一个向后台
数据库提交学习数据的接口,让负责人向数据库提交这种代码与特性的对应关系;还可以
设定一个专门的角色作为维护者,对提交的太阳城集团进行审阅;在检测到代码发生变化后,要通
知相关人员,并自动提交针对代码变化的自动化测试,需要智能判断发生改变的代码属于
哪些特性,从而触发相应的有效自动化测试;由于项目代码的复杂性,只有相应特性代码的
负责人掌握准确的对应关系,让其向学习数据库贡献特定产品代码所属的类别,可以精确
到文件、函数、代码行数;

步骤5)由于独立于现有的持续化集成系统的实现,需要实现一套与现有自动化测
试系统的接口。

本发明同时检测代码变化和测试用例变化,代码变化触发自动化测试和手动测试
用例修改,手动测试用例修改触发自动化测试代码修改请求,双向监控实现代码到手动测
试用例、手动测试用例到自动化测试用例的一致性。将增量学习的智能机制引入到持续集
成测试系统中,使系统具备学习能力,针对代码变动触发相应的自动化测试用例,其准确性
随增量学习的持续而增强。首先是可以精确到文件、函数、代码行数的特性分类数据库,其
次是可以向数据库增量提交学习数据的机制及流程。

以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能
因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,
在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范
围。因此,本发明专利的保护范围应以所附权利要求为准。

关 键 词:
一种 增量 学习 智能 持续 集成 测试 方法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:一种增量学习的智能持续集成测试方法.pdf
链接地址:http://zh228.com/p-6019832.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');