合流开发模式下的测试方法、装置的制造方法

文档序号:9547098阅读:589来源:国知局
合流开发模式下的测试方法、装置的制造方法
【技术领域】
[0001]本发明涉及计算机测试领域,具体而言,涉及一种合流开发模式下的测试方法、装置。
【背景技术】
[0002]现有技术的软件项目的开发过程中,开发人员都会对开发项目中的软件进行内测,对于众多软件项目尤其是大型软件团队开发的软件项目,现有技术都使用分支开发合并主干的软件开发模式。这种在多个分支上完成各自新功能的代码开发,然后,将分支上完成的新功能进行分支测试,在每个分支功能测试通过后,将分支代码再合入到主干代码所在的目录上。
[0003]目前在分支代码合入主干代码的整个合流流程中,研发人员通常仅关注于代码合入前的分支代码的测试,在分支代码的测试结果不达标的情况下,则不允许分支代码合入主干代码,在分支代码的测试通过之后,会将分支代码合入主干代码。而对于分支代码合入主干代码后的校验,现有技术通常仅提供主干代码上人工的功能验收。
[0004]具体的,在将分支代码进行合流之后,会对合入了分支代码的主干代码进行编译,由于无法获知安装包的准确获取时间,导致无法对合入后的主干代码做自动化工具检测,因此,在对编译得到的安装包进行测试的过程中,现有技术通常采用定时执行自动化工具的测试方法,以期望发现这段时间内代码变动锁引入的问题。
[0005]由此可知,上述测试方案采用的定时测试方法,在多条分支代码合入主干代码的情况下,如果测试阶段才发现问题,则较难定位是哪支分支代码在合流中引入的问题,这种情况下只有通过二分法逐步定位,检查开销较大测试结果,导致了测试开销较大,测试效率低且测试结果不准确的问题。
[0006]除了上述问题,现有技术上述测试方案还具有如下缺陷:无法准确获知开发人员何时完成分支代码的合流,则无法确定收回合流权限的准确时间,从而无法准确通知测试人员进行验收测试;开发人员对分支代码进行合流之后,在无法成功编译出安装包或安装包有严重问题的情况下,需要经开发测试工程师手工验证才能发现,浪费了人工操作开销;在开发人员合入前的分支代码检测达标时,但合入过程中漏合或者夹带了未经检验的代码,即实际合入的分支代码是不达标的,该类问题不易通过人工检测的方式发现,同样会导致编译失败或得到错误的安装包;无法对本次分支代码合流过程中的提交信息,如代码增量、性能影响做准确的度量,不利于统计开发工作量及效率评估。
[0007]针对上述现有技术中在分支代码合并主干代码的软件开发模式中,采用定时测试方法导致测试结果不准确、测试效率低的问题,目前尚未提出有效的解决方案。

【发明内容】

[0008]本发明实施例提供了一种合流开发模式下的测试方法、装置,以至少解决现有技术中在分支代码合并主干代码的软件开发模式中,采用定时测试方法导致测试结果不准确、测试效率低的技术问题。
[0009]根据本发明实施例的一个方面,提供了一种合流开发模式下的测试方法,该方法包括:获取新主干代码,其中,将更新后的分支代码合入主干代码而生成新主干代码;启动编译工具对新主干代码进行编译;监控新主干代码的编译过程中是否生成安装包,如果监控到安装包,则获取安装包和/或更新后的分支代码合入主干代码之前的基准包;对安装包和/或基准包进行自动化测试,生成自动化测试结果;其中,基准包包括以下任意一种或多种数据包:主干代码的安装包、在更新前的分支代码获取到合流权限之后且在将更新后的分支代码合入主干代码之前,对更新后的分支代码进行复位基底时所使用的主干代码。
[0010]根据本发明实施例的另一方面,还提供了一种合流开发模式下的测试装置,该装置包括:获取模块,用于获取新主干代码,其中,将更新后的分支代码合入主干代码而生成新主干代码;启动模块,用于启动编译工具对新主干代码进行编译;监控模块,用于监控新主干代码的编译过程中是否生成安装包,如果监控到安装包,则获取安装包和/或更新后的分支代码合入主干代码之前的基准包;自动化测试模块,用于对安装包和/或基准包进行自动化测试,生成自动化测试结果;其中,基准包包括以下任意一种或多种数据包:主干代码的安装包、在更新前的分支代码获取到合流权限之后且在将更新后的分支代码合入主干代码之前,对更新后的分支代码进行复位基底时所使用的主干代码。
[0011]在本发明实施例中,采用获取新主干代码,其中,将更新后的分支代码合入主干代码而生成新主干代码;启动编译工具对新主干代码进行编译;监控新主干代码的编译过程中是否生成安装包,如果监控到安装包,则获取安装包和/或更新后的分支代码合入主干代码之前的基准包;对安装包和/或基准包进行自动化测试,生成自动化测试结果的方式,通过将更新后的分支代码合入主干代码而生成新主干代码,并启动编译工具对新主干代码进行编译之后,通过监控编译过程来准确获知安装包的生成时间,在监控到安装包生成之后,可以获取安装包和/或更新后的分支代码合入主干代码之前的基准包进行后续的自动化测试,生成自动化测试结果,其中,基准包包括以下任意一种或多种数据包:主干代码的安装包、在更新前的分支代码获取到合流权限之后且在将更新后的分支代码合入主干代码之前,对更新后的分支代码进行复位基底时所使用的主干代码。上述实施方案,由于在编译生成安装包之后,就开始进行自动化测试,从而在多个分支进行合流的场景中,可以准确测试每个分支的合流结果,减少了测试开销,提高了测试效率和测试准确度。而且如果编译出的安装包有严重问题,也可以立刻检测出来。由此可知,针对上述现有技术中在分支代码合并主干代码的软件开发模式中,采用定时测试方法导致测试结果不准确、测试效率低的问题,目前尚未提出有效的解决方案。。
【附图说明】
[0012]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0013]图1是本发明实施例的一种运行合流开发模式下的测试的计算机终端的硬件结构框图;
[0014]图2是根据本发明实施例一的合流开发模式下的测试方法的流程图;
[0015]图3是根据本发明实施例一的合流开发模式下的测试系统的业务流程图;
[0016]图4是根据本发明实施例一的一种可选的合流开发模式下的测试方法的详细流程图;以及
[0017]图5是根据本法实施例二的合流开发模式下的测试装置的结构示意图。
【具体实施方式】
[0018]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0019]需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0020]下面对本申请涉及到的名词进行解释:
[0021]主干(trunk):在版本控制软件中(例如:SVN, git, clearcase等)稳定代码的保存路径,由此路径编译出软件的发布版本。通常情况下一个项目只会有一个主干路径存在。主干的目录下保存的是主干代码。
[0022]分支(branch):在版本控制软件中开发/调试代码的保存路径,开发人员会在分支上进行新功能的开发和测试,当功能验证无误后再将代码合并至主干。通常情况下一个项目可以有多个分支存在。分支的目录下保存的是分支代码。
[0023]复位基底(Rebase):将主干的主干代码同步至分支代码,以保证分支上的代码与主干差别不会太大,减少分支合并至主干时的代码冲突。
[0024]配置管理服务器,用于运行配置管理系统(CMS),配置管理系统记录每个版本下,主干及分支的对应关系信息,例如主干分支路径,分支申请者,分支上实现的需求等。
[0025]持续集成服务器,用于运行持续集成系统(CIS),持续集成系统用于主干和分支的代码编译,当主干和分支上的代码有发生变化,就可以自动或手工的启动构建,编译出指定版本的安装包。
[0026]实施例1
[0027]本发明实施例一提供了一种可以实施硬件终端上的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0028]本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种运行合流开发模式下的测试的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102 (处理器1
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1