CN105468507B - 分支达标检测方法及装置 - Google Patents
分支达标检测方法及装置 Download PDFInfo
- Publication number
- CN105468507B CN105468507B CN201410447085.8A CN201410447085A CN105468507B CN 105468507 B CN105468507 B CN 105468507B CN 201410447085 A CN201410447085 A CN 201410447085A CN 105468507 B CN105468507 B CN 105468507B
- Authority
- CN
- China
- Prior art keywords
- branch
- detection
- detected
- standard
- reaching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种分支达标检测方法及装置,属于软件开发技术领域。方法包括:确定待检测分支;对待检测分支进行前置达标检测;当待检测分支通过前置达标检测后,获取待检测分支的最新版本安装包和主干的基准版本安装包;根据待检测分支的最新版本安装包和主干的基准版本安装包,对待检测分支进行后置达标检测;当待检测分支通过后置达标检测后,确定待检测分支通过达标检测。由于整个检测过程实现了自动化,所以减少了人工的干预,不但检测效率和检测精度高,而且操作简便;此外,由于检测过程中无需众多检测人员参与,而由一个电子流装置自动控制对待检测分支的前置达标检测和后置达标检测,所以可及时获取到检测响应。
Description
技术领域
本发明涉及软件开发技术领域,特别涉及一种分支达标检测方法及装置。
背景技术
目前,众多软件项目特别是大型软件项目的开发,均青睐于使用“分支开发,合并主干”的软件开发模式。这样不但可保证主干上代码的稳定性,以便随时编译出稳定的最新版本软件供使用和发布;而且,还可同时在多个分支上完成新功能的开发及测试,进而极大地提升了软件开发效率和版本发布速度。开发者在各个分支上完成新功能的开发后,为保证分支合流后软件的正常使用,分支还需经过一系列的达标检测。仅当分支通过所有的达标检测后,才允许分支合流到主干中。
现有技术在进行分支达标检测时,几乎全部由人工完成,且不同的检测项通常对应不同的检测人员。分支达标检测包括但不限于:人工检测分支上的所有功能需求是否有良好的产品体验;人工检测分支最近一段时间是否有Rebase主干,也即人工检测最近一段时间主干的代码是否同步至分支;人工对分支上的最新安装包进行工具检测;人工检查分支是否通过codereview(代码评审)、分支新增代码是否影响主干逻辑等。在人工根据各个检测结果确定分支通过上述达标检测后,确定分支满足合流条件,将分支的代码合并到主干中。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于上述分支达标检测几乎全部由人工完成,所以在检测过程中容易出错、且操作复杂、检测效率较低;此外,人工进行分支达标检测时由于不同检测人员负责不同的检测项,且各个检测人员基本线下进行沟通,因此容易出现检测 响应反馈不及时的情况,从而导致分支无法及时获得合流权限。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种分支达标检测方法及装置。所述技术方案如下:
一方面,提供了一种分支达标检测方法,所述方法包括:
确定待检测分支;
对所述待检测分支进行前置达标检测;
当所述待检测分支通过所述前置达标检测后,获取所述待检测分支的最新版本安装包和主干的基准版本安装包;
根据所述待检测分支的最新版本安装包和所述主干的基准版本安装包,对所述待检测分支进行后置达标检测;
当所述待检测分支通过所述后置达标检测后,确定所述待检测分支通过达标检测。
另一方面,提供了一种分支达标检测装置,所述装置包括:
分支确定模块,用于确定待检测分支;
前置达标检测模块,用于对所述待检测分支进行前置达标检测;
安装包获取模块,用于当所述待检测分支通过所述前置达标检测后,获取所述待检测分支的最新版本安装包和主干的基准版本安装包;
后置达标检测模块,用于根据所述待检测分支的最新版本安装包和所述主干的基准版本安装包,对所述待检测分支进行后置达标检测;
达标检测确定模块,用于当所述待检测分支通过所述后置达标检测后,确定所述待检测分支通过达标检测。
本发明实施例提供的技术方案带来的有益效果是:
在确定待检测分支后,自动对待检测分支进行前置达标检测;当待检测分支通过前置达标检测后,获取待检测分支的最新版本安装包和主干的基准版本 安装包,并自动根据待检测分支的最新版本安装包和主干的基准版本安装包,对待检测分支进行后置达标检测,由于整个检测过程实现了自动化,所以减少了人工的干预,在检测过程中不易出错,不但检测效率和检测精度高,而且操作简便;此外,在整个检测过程中无需众多检测人员参与,而由一个电子流装置自动控制对待检测分支的前置达标检测和后置达标检测,所以可及时获取到检测响应,进而使待检测分支及时获得合流权限。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种分支达标检测方法的流程图;
图2是本发明实施例提供的一种分支达标检测方法的流程图;
图3是本发明实施例提供的一种分支达标检测装置的结构示意图;
图4是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了便于对本发明的理解,先对后续实施例中可能涉及到的相关专业名词进行一下解释说明。
主干(trunk):版本控制软件中(比如,SVN,git,clearcase等)稳定代码的保存路径,由此路径可编译出软件的发布版本。通常情况下一个软件项目仅有一个主干路径存在。
分支(branch):版本控制软件中开发/调试代码的保存路径。开发时在分支 上进行新功能的开发和测试;当开发的代码通过功能验证测试后,再将开发的代码保存在分支中,并将分支代码合并至主干。通常情况下一个软件项目可以有多个分支存在。
Rebase:将主干的代码同步至分支,以保证分支上的代码与主干上的代码差别不会太大,减少分支合并至主干时的代码冲突。
配置管理系统(CMS):记录每个软件版本下,主干及分支的对应情况。例如主干分支路径,分支申请者,分支上实现的需求等。
持续集成系统(CIS):用于主干和分支的代码编译。当主干和分支上的代码发生变化时,便可自动或手工的启动构建,编译出指定版本的最新安装包。
合流:将分支上的代码合并至主干。
进一步地,在对本发明实施例做详细地解释说明之前,先对本发明实施例的典型应用场景予以说明。
在软件开发过程中,开发人员在发布软件的最初版本之后,当对该软件做进一步地改进或添加新的功能需求时,为了不影响主干上代码的稳定性,通常在多个分支上完成新功能的开发和测试。在开发和测试完成后,再将分支上的代码合并至主干,从而极大地提升了软件开发效率和软件版本发布的节奏。在将分支上的代码合并至主干之前,为了确保分支代码的可用性和逻辑性,还需对分支代码进行一系列的测试,也即对分支进行达标检测。仅在分支代码通过达标检测之后,才允许其合并到主干。
在对分支进行达标检测时,通常包括产品体验检测、Rebase主干检测、工具检测、代码评审检测等等,上述每一个检测过程均需要人工触发。由于上述每一个检测项目的检查时机和检测人员各不相同,而且全部检测几乎由人工完成,所以会出现下述问题。比如,人工检查容易发生疏忽,假设当某个分支上开发的功能需求较多时,在人工检测校验各功能需求是否已经测试通过时很容易发生疏漏,从而导致未完成的分支也获得合流的权限。此外,由于合流的各 项数据来源均不同,例如,需求数据来自配置管理系统(CMS)、安装包信息来自持续集成系统(CIS)、自动化检测结果来自报告邮件,且均需人工进行获取,所以不便于在后续合流过程中根据上述数据内容进行分支代码合并。且在合流过程中还会存在出现问题不便于定位的问题,例如,工具检测失败时,不能确认是工具检测异常所致,还是持续集成系统(CIS)没有相关安装包所致。为了解决上述问题,本发明实施例提供了一种分支达标检测方法,该方法可以自动对分支进行达标检测,人工干预少,提高了检测效率和检测精度。详细过程参见下述实施例。
图1是本发明实施例提供的一种分支达标检测方法的流程图。参见图1,本发明实施例提供的方法流程包括:
101、确定待检测分支。
102、对待检测分支进行前置达标检测。
103、当待检测分支通过前置达标检测后,获取待检测分支的最新版本安装包和主干的基准版本安装包。
104、根据待检测分支的最新版本安装包和主干的基准版本安装包,对待检测分支进行后置达标检测。
105、当待检测分支通过后置达标检测后,确定待检测分支通过达标检测。
本发明实施例提供的方法,在确定待检测分支后,自动对待检测分支进行前置达标检测;当待检测分支通过前置达标检测后,获取待检测分支的最新版本安装包和主干的基准版本安装包,并自动根据待检测分支的最新版本安装包和主干的基准版本安装包,对待检测分支进行后置达标检测,由于整个检测过程实现了自动化,所以减少了人工的干预,在检测过程中不易出错,不但检测效率和检测精度高,而且操作简便;此外,在整个检测过程中无需众多检测人员参与,而由一个电子流装置自动控制对待检测分支的前置达标检测和后置达标检测,所以可及时获取到检测响应,进而使待检测分支及时获得合流权限。
可选地,对待检测分支进行前置达标检测,包括:
确定待检测分支对应的多个需求,检测每一个需求是否均通过测试;
检测是否存在待检测分支的最新版本安装包;
检测第一预设时间段内主干的代码是否同步至待检测分支;
当每一个需求均通过测试,存在待检测分支的最新版本安装包,且第一预设时间段内主干的代码同步至待检测分支时,确定待检测分支通过前置达标检测。
可选地,对待检测分支进行前置达标检测之前,该方法还包括:
添加至少一个自定义的达标检测项;
对待检测分支进行前置达标检测,包括:
根据至少一个自定义的达标检测项,对待检测分支进行达标检测;
当待检测分支满足至少一个自定义的达标检测项对应的检测条件时,确定待检测分支通过前置达标检测。
可选地,根据待检测分支的最新版本安装包和主干的基准版本安装包,对待检测分支进行后置达标检测,包括:
根据待检测分支的最新版本安装包和主干的基准版本安装包,对待检测分支进行工具检测;
当待检测分支通过工具检测后,向检测人员对应终端发送人工检测通知消息,以使检测人员对待检测分支进行人工检测;
当待检测分支通过人工检测后,确定待检测分支通过后置达标检测。
可选地,当待检测分支通过工具检测后,向检测人员对应终端发送人工检测通知消息之后,该方法还包括:
如果第二预设时间段内未接收到待检测分支的人工检测结果,则向检测人员对应终端下发检测提示信息。
上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,在此不再一一赘述。
图2是本发明实施例提供的一种分支达标检测方法的流程图,该方法的执行主体为自动化检测电子流装置。当分支的开发人员欲将分支上的代码合并至主干时,需要开发人员向该电子流装置提交合流申请。在开发人员向该电子流装置提交合流申请时,该电子流装置立即对该分支进行前置达标检测。其中,前置达标检测包括但不限于:检测分支上绑定的需求是否通过测试,检测分支在最近时段是否有Rebase主干、检测是否存在分支的最新版本安装包。当前置达标检测通过后,进入工具检测和人工检测阶段。当分支通过上述达标检测后,分支才具备合流条件,为该分支分配合入主干的权限。参见图2,本发明实施例提供的方法流程包括:
201、确定待检测分支。
其中,待检测分支指代欲合流到主干的分支,也即开发人员向自动化检测电子流装置提交合流申请的对应分支。
在本发明实施例中,分支的开发人员在向自动化检测电子流装置提交合流申请时,合流申请中会包含分支的标识信息,该标识信息可对一个分支进行唯一标识。因此,该电子流装置在接收到合流申请后,便可根据其包含的标识信息在多个分支中确定待检测分支。其中,标识信息可为由字符和数字组成的一个字符串,本发明实施例对标识信息的类型不作具体限定。
202、对待检测分支进行前置达标检测。
在本发明实施例中,当自动化检测电子流装置接收到开发人员的合流申请时,立即启动对待检测分支的前置达标检测。在对待检测分支进行前置达标检测时,具体可采取下述方式实现:
第一步、确定待检测分支对应的多个需求,检测每一个需求是否均通过测试。
在本发明实施例中,待检测分支对应的多个需求,指代待检测分支上可实现的需求,也即指代分支可实现的多个功能。由于每个分支上可实现的需求均 保存在配置管理系统(CMS)上,因此该电子流装置可从配置管理系统(CMS)中拉取待检测分支对应的多个需求,并检测每一个需求是否均通过测试。在软件开发领域,开发了新软件后,为了发现软件潜在的错误和缺陷,通常都会进行软件测试,以确保软件的可信度和质量。在对待检测分支进行测试时,可采取功能测试、性能测试、黑盒测试、白盒测试等测试方式,具体采取哪一种或哪几种测试方式,本发明实施例对此不作具体限定。在进行测试后,均会留存每一个需求对应的测试结果,该电子流装置根据待检测分支对应的多个需求的测试结果,便可确定每一个需求是否均通过测试。仅在每一个需求均通过测试后,才允许继续执行下述第二步。如果待检测分支的任意需求未通过测试,则处理流程至此结束。
第二步、当确定每一个需求均通过测试时,检测是否存在待检测分支的最新版本安装包。
在本发明实施例中,后续的工具检测过程需要依赖待检测分支的最新版本安装包,所以在确定每一个需求均通过测试后,还要检测是否存在最新版本安装包。由于分支的安装包由持续集成系统(CIS)编译输出,所以该电子流装置可通过持续集成系统(CIS)最新编译输出的分支安装包的版本来确定是否存在待检测分支的最新版本安装包。如果持续集成系统(CIS)最新编译输出的安装包的版本与合流申请提供的版本相一致,则确定存在待检测分支的最新版本安装包;如果持续集成系统(CIS)最新编译输出的安装包的版本与合流申请提供的版本不一致,则确定不存在待检测分支的最新版本安装包,处理流程至此结束。
第三步、当确定存在待检测分支的最新版本安装包时,检测第一预设时间段内主干的代码是否同步至待检测分支。当确定第一预设时间段内主干的代码同步至待检测分支时,确定待检测分支通过前置达标检测。
其中,第一预设时间可为1天、2天或3天等等,本发明实施例对第一预设时间的大小不作具体限定。
在本发明实施例中,为了减少分支合并至主干时的代码冲突,每隔第一预设时间主干的代码便同步至分支。此外,由于主干上也存在多个版本的代码,因此,在主干的代码同步至待检测分支时,还需同步推荐的主干代码版本。如果待检测分支同步的不是推荐的主干代码版本,则也确定待检测分支未通过前置达标检测,处理流程至此结束。
需要说明的是,本发明实施例提供的自动化检测电子流装置还可添加自定义的其他达标检测项,并根据添加的至少一个自定义的达标检测项对待检测分支进行达标检测。在待检测分支通过上述第一步至第三步的达标检测后,若待检测分支还满足自行添加的达标检测项的检测条件,则确定待检测分支通过前置达标检测。比如,该电子流装置在拉取待检测分支的代码评审结论、代码评论意见和SVN操作日志后,根据代码评审结论、代码评论意见和SVN操作日志确定待检测分支是否符合业界对开发代码的有关规定。如果待检测分支均符合上述条件,则确定待检测分支满足自行添加的达标检测检测项的检测条件,通过前置达标检测。因此,本发明实施例提供的分支达标检测方法灵活性较高。
此外,在该电子流装置接收到开发人员提交的合流申请时,便立即启动对待检测分支的前置达标检测;仅在前置达标检测通过后,才会自动启动后续的工具检测和人工检测流程,详见下述步骤203至步骤206。若前置达标检测未通过,则对开发人员进行提示。比如,向开发人员的对应终端发送诸如“待检测分支未通过前置达标检测”字样的提示信息。此时,需要开发人员对该分支重新进行修改,待该分支修改完毕后,可再次向该电子流装置提交合流申请。
203、当待检测分支通过前置达标检测后,获取待检测分支的最新版本安装包和主干的基准版本安装包。
其中,主干的基准版本安装包指代在主干的代码同步至分支时,主干对应的版本安装包(Rebase时的主干安装包),也即上述步骤202中提到的同步推荐的主干代码版本。
在本发明实施例中,后续的工具检测过程除了依赖分支的最新版本安装包, 还需依赖主干的基准版本安装包,因此在待检测分支通过前置达标检测后,需要获取待检测分支的最新版本安装包和主干的基准版本安装包。由于持续集成系统(CIS)负责主干和分支的安装包的编译输出。所以根据合流申请中提供的待检测分支的最新版本号和主干的推荐版本号,便可从持续集成系统(CIS)中获取待检测分支的最新版本安装包和主干的基准版本安装包。
此外,若在持续集成系统(CIS)中不能获取到待检测分支的最新版本安装包和主干的基准版本安装包中的任一个,则处理流程至此结束。
204、根据待检测分支的最新版本安装包和主干的基准版本安装包,对待检测分支进行工具检测。
在本发明实施例中,在对待检测分支进行工具检测时,实质是根据主干的基准版本安装包对待检测分支的最新版本安装包进行工具检测。其中,工具检测包括但不限于功能冒烟测试、代码差异化检测和静态资源文件分析等。
其中,功能冒烟测试,指代对待检测分支的基本功能进行测试,测试的对象为最新编译的需要正式测试的版本安装包。目的是确认待检测分支的基本功能是否正常,以进行后续的正式测试工作。如果最基本的功能冒烟测试都存在问题,那么处理流程至此结束,需要开发人员重新对该分支代码进行修改。
代码差异化检测,根据主干的基准版本安装包检测待检测分支与主干的代码差异,以确定待检测分支的代码是否与主干存在较大差异。较大的代码差异会在合流时出现代码冲突问题,从而导致软件的功能不能正常实现,或根本不能合流成功。在本发明实施例中,可设置代码差异阈值。当待检测分支和主干的代码差异度大于代码差异阈值时,确定待检测分支未通过工具检测,处理流程至此结束;当待检测分支和主干的代码差异度小于代码差异阈值时,确定待检测分支通过工具检测,继续执行后续检测流程。其中,代码差异阈值可为10%或20%等等,本发明实施例对此不作具体限定。
需要说明的是,在对待检测分支进行前置达标检测和工具检测后,还是存在自动化检测电子流装置无法覆盖到的检测死角,因此该电子流装置还会自动 分配对待检测分支进行人工检测的检测人员,由检测人员对待检测分支进行人工检测,以保证待检测分支代码的可行性。详细过程参见下述步骤205至206。
205、当待检测分支通过工具检测后,向检测人员对应终端发送人工检测通知消息,以使检测人员对待检测分支进行人工检测。
其中,人工检测项目包括但不限于:检测待检测分支是否通过代码评审,检测待检测分支的新增代码是否影响主干逻辑等等。本发明实施例对人工检测包括的检测项目不作具体限定。
在本发明实施例中,该电子流装置在分配分支的检测人员时,可将多个待检测分支分配给一个检测人员进行审核,还可仅将一个待检测分支分配给一个检测人员进行审核,本发明实施例对此不作具体限定,可视分支合流的紧迫性和检测人员的审核时间而定。
此外,在将待检测分支分配至对应检测人员后,为了使得检测人员能够给在第一时间内获知该情况,本发明实施例提供的方法还包括向检测人员的对应终端发送人工检测通知消息的步骤。其中,由于该电子流装置事先存储了检测人员的联系方式,比如,邮箱地址或IP(Internet Protocol,网络协议)地址等等,因此该电子流装置可依据检测人员的联系方式向检测人员的对应终端发送人工检测通知消息。其中,人工检测通知消息中可包括待检测分支的标识信息、人工检测项目信息等等,本发明实施例对此不作具体限定。
206、当待检测分支通过人工检测后,确定待检测分支通过后置达标检测。
在本发明实施例中,如果检测人员在接收到该电子流装置发送的人工检测通知消息后,及时地对待检测分支进行了人工检测。比如,人工检测待检测分支通过代码评审、待检测分支的新增代码不影响主干逻辑,则向该电子流装置反馈人工检测通过消息。当该电子装置接收到检测人员的对应终端反馈的人工检测通过消息后,确定待检测分支通过后置达标检测,为待检测分支分配合流主干权限,之后待检测分支便可合并至主干。
若待检测分支未通过人工检测,则向该电子流装置反馈人工检测未通过的 消息。当该电子流装置接收到检测人员的对应终端反馈的人工检测未通过的消息后,确定待检测分支未通过后置达标检测,处理流程至此结束。之后,该电子流装置向待检测分支的开发人员反馈诸如“待检测分支未通过后置达标检测”字样的提示信息,以使开发人员在看到该提示信息后,对该分支的代码重新进行修改。
需要说明的是,该电子流装置在向检测人员对应终端发送人工检测通知消息后,若固定时长内还未收到检测人员的检测反馈消息,则该电子流装置还可向检测人员的对应终端下发检测提示消息,以提醒相关检测人员尽快对待检测分支进行处理。
其中,固定时长可为1天、2天或3天等等,本发明实施例对此不作具体限定,可视情况设置固定时长大小。检测提示消息中可包括待检测分支的标识信息和检测提示消息的发送时间等等,本发明实施例对此同样不作具体限定。
本发明实施例提供的方法,在确定待检测分支后,自动对待检测分支进行前置达标检测;当待检测分支通过前置达标检测后,获取待检测分支的最新版本安装包和主干的基准版本安装包,并自动根据待检测分支的最新版本安装包和主干的基准版本安装包,对待检测分支进行后置达标检测,由于整个检测过程实现了自动化,所以减少了人工的干预,在检测过程中不易出错,不但检测效率和检测精度高,而且操作简便;此外,在整个检测过程中无需众多检测人员参与,而由一个电子流装置自动对待检测分支进行审核,并自动控制待检测分支进入工具检测和人工检测流程,所以可及时获取到检测响应,进而使待检测分支及时获得合流权限;进一步地,在检测过程中还可添加自定义的检测项,因此该种达标检测方式更为灵活,细化了合流前的检查粒度,确保了合流前达标检测的准确性。
图3是本发明实施例提供的一种分支达标检测装置,参见图3,该装置包括:分支确定模块301、前置达标检测模块302、安装包获取模块303、后置达标检 测模块304、达标检测确定模块305。
其中,分支确定模块301,用于确定待检测分支;前置达标检测模块302与分支确定模块301连接,用于对待检测分支进行前置达标检测;安装包获取模块303与前置达标检测模块302连接,用于当待检测分支通过前置达标检测后,获取待检测分支的最新版本安装包和主干的基准版本安装包;后置达标检测模块304与安装包获取模块303连接,用于根据待检测分支的最新版本安装包和主干的基准版本安装包,对待检测分支进行后置达标检测;达标检测确定模块305与后置达标检测模块304连接,用于当待检测分支通过后置达标检测后,确定待检测分支通过达标检测。
可选地,前置达标检测模块,用于确定待检测分支对应的多个需求,检测每一个需求是否均通过测试;检测是否存在待检测分支的最新版本安装包;检测第一预设时间段内主干的代码是否同步至待检测分支;当每一个需求均通过测试,存在待检测分支的最新版本安装包,且第一预设时间段内主干的代码同步至待检测分支时,确定待检测分支通过前置达标检测。
可选地,该装置还包括:
达标检测项添加模块,用于添加至少一个自定义的达标检测项;
前置达标检测,还用于根据至少一个自定义的达标检测项,对待检测分支进行达标检测;当待检测分支满足至少一个自定义的达标检测项对应的检测条件时,确定待检测分支通过前置达标检测。
可选地,后置达标检测模块,用于根据待检测分支的最新版本安装包和主干的基准版本安装包,对待检测分支进行工具检测;当待检测分支通过工具检测后,向检测人员对应终端发送人工检测通知消息,以使检测人员对待检测分支进行人工检测;当待检测分支通过人工检测后,确定待检测分支通过后置达标检测。
可选地,该装置还包括:
检测提示信息下发模块,用于当第二预设时间段内未接收到待检测分支的 人工检测结果时,向检测人员对应终端下发检测提示信息。
本发明实施例提供的装置,在确定待检测分支后,自动对待检测分支进行前置达标检测;当待检测分支通过前置达标检测后,获取待检测分支的最新版本安装包和主干的基准版本安装包,并自动根据待检测分支的最新版本安装包和主干的基准版本安装包,对待检测分支进行后置达标检测,由于整个检测过程实现了自动化,所以减少了人工的干预,在检测过程中不易出错,不但检测效率和检测精度高,而且操作简便;此外,在整个检测过程中无需众多检测人员参与,而由一个电子流装置自动对待检测分支进行审核,并自动控制待检测分支进入工具检测和人工检测流程,所以可及时获取到检测响应,进而使待检测分支及时获得合流权限;进一步地,在检测过程中还可添加自定义的检测项,因此该种达标检测方式更为灵活,细化了合流前的检查粒度,确保了合流前达标检测的准确性。。
需要说明的是:上述实施例提供的分支达标检测装置在进行分支达标检测时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的分支达标检测装置与分支达标检测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4是本发明实施例提供的一种服务器,该服务器可以用于执行上述实施例中提供的分支达标检测方法。参见图4,该服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储 在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在服务器400上执行存储介质430中的一系列指令操作。
服务器400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,和/或,一个或一个以上操作系统441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
具体在本实施例中,经配置以由一个或者一个以上处理器执行一个或者一个以上程序包含用于进行以下操作的指令:
确定待检测分支;
对待检测分支进行前置达标检测;
当待检测分支通过前置达标检测后,获取待检测分支的最新版本安装包和主干的基准版本安装包;
根据待检测分支的最新版本安装包和主干的基准版本安装包,对待检测分支进行后置达标检测;
当待检测分支通过后置达标检测后,确定待检测分支通过达标检测。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,服务器的存储器中,还包含用于执行以下操作的指令:
确定待检测分支对应的多个需求,检测每一个需求是否均通过测试;
检测是否存在待检测分支的最新版本安装包;
检测第一预设时间段内主干的代码是否同步至待检测分支;
当每一个需求均通过测试,存在待检测分支的最新版本安装包,且第一预设时间段内主干的代码同步至待检测分支时,确定待检测分支通过前置达标检测。
在第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,服务器的存储器中,还包含用于执行以下操作的指令:
添加至少一个自定义的达标检测项;
对待检测分支进行前置达标检测,包括:
根据至少一个自定义的达标检测项,对待检测分支进行达标检测;
当待检测分支满足至少一个自定义的达标检测项对应的检测条件时,确定待检测分支通过前置达标检测。
在第一种可能的实施方式作为基础而提供的第四种可能的实施方式中,服务器的存储器中,还包含用于执行以下操作的指令:
根据待检测分支的最新版本安装包和主干的基准版本安装包,对待检测分支进行工具检测;
当待检测分支通过工具检测后,向检测人员对应终端发送人工检测通知消息,以使检测人员对待检测分支进行人工检测;
当待检测分支通过人工检测后,确定待检测分支通过后置达标检测。
在第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,服务器的存储器中,还包含用于执行以下操作的指令:
如果第二预设时间段内未接收到待检测分支的人工检测结果,则向检测人员对应终端下发检测提示信息。
本发明实施例提供的服务器,在确定待检测分支后,自动对待检测分支进行前置达标检测;当待检测分支通过前置达标检测后,获取待检测分支的最新版本安装包和主干的基准版本安装包,并自动根据待检测分支的最新版本安装包和主干的基准版本安装包,对待检测分支进行后置达标检测,由于整个检测过程实现了自动化,所以减少了人工的干预,在检测过程中不易出错,不但检测效率和检测精度高,而且操作简便;此外,在整个检测过程中无需众多检测人员参与,而由一个电子流装置自动对待检测分支进行审核,并自动控制待检测分支进入工具检测和人工检测流程,所以可及时获取到检测响应,进而使待 检测分支及时获得合流权限;进一步地,在检测过程中还可添加自定义的检测项,因此该种达标检测方式更为灵活,细化了合流前的检查粒度,确保了合流前达标检测的准确性。。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种分支达标检测方法,其特征在于,所述方法包括:
确定待检测分支;
确定所述待检测分支对应的多个需求,检测每一个需求是否均通过测试;
检测是否存在所述待检测分支的最新版本安装包;
检测第一预设时间段内主干的代码是否同步至所述待检测分支;
当所述每一个需求均通过所述测试,存在所述待检测分支的最新版本安装包,且所述第一预设时间段内所述主干的代码同步至所述待检测分支时,确定所述待检测分支通过前置达标检测;
当所述待检测分支通过所述前置达标检测后,获取所述待检测分支的最新版本安装包和所述主干的基准版本安装包;所述主干的基准版本安装包是在所述主干的代码同步至所述待检测分支时,所述主干对应的版本安装包;
根据所述待检测分支的最新版本安装包和所述主干的基准版本安装包,对所述待检测分支进行后置达标检测;所述后置达标检测是指对所述待检测分支的工具检测和人工检测;
当所述待检测分支通过所述后置达标检测后,确定所述待检测分支通过达标检测;其中,通过达标检测的所述待检测分支被允许合并至所述主干。
2.根据权利要求1所述的方法,其特征在于,所述对所述待检测分支进行前置达标检测之前,所述方法还包括:
添加至少一个自定义的达标检测项;
所述对所述待检测分支进行前置达标检测,包括:
根据所述至少一个自定义的达标检测项,对所述待检测分支进行达标检测;
当所述待检测分支满足所述至少一个自定义的达标检测项对应的检测条件时,确定所述待检测分支通过所述前置达标检测。
3.根据权利要求1所述的方法,其特征在于,所述根据所述待检测分支的最新版本安装包和所述主干的基准版本安装包,对所述待检测分支进行后置达标检测,包括:
根据所述待检测分支的最新版本安装包和所述主干的基准版本安装包,对所述待检测分支进行所述工具检测;
当所述待检测分支通过所述工具检测后,向检测人员对应终端发送人工检测通知消息,以使所述检测人员对所述待检测分支进行所述人工检测;
当所述待检测分支通过所述人工检测后,确定所述待检测分支通过所述后置达标检测。
4.根据权利要求3所述的方法,其特征在于,所述当所述待检测分支通过所述工具检测后,向检测人员对应终端发送人工检测通知消息之后,所述方法还包括:
如果第二预设时间段内未接收到所述待检测分支的人工检测结果,则向所述检测人员对应终端下发检测提示信息。
5.一种分支达标检测装置,其特征在于,所述装置包括:
分支确定模块,用于确定待检测分支;
前置达标检测模块,用于对所述待检测分支进行前置达标检测;
安装包获取模块,用于当所述待检测分支通过所述前置达标检测后,获取所述待检测分支的最新版本安装包和主干的基准版本安装包;所述主干的基准版本安装包是在所述主干的代码同步至所述待检测分支时,所述主干对应的版本安装包;
后置达标检测模块,用于根据所述待检测分支的最新版本安装包和所述主干的基准版本安装包,对所述待检测分支进行后置达标检测;所述后置达标检测是指对所述待检测分支的工具检测和人工检测;
达标检测确定模块,用于当所述待检测分支通过所述后置达标检测后,确定所述待检测分支通过达标检测;其中,通过达标检测的所述待检测分支被允许合并至所述主干;
其中,所述前置达标检测模块,用于确定所述待检测分支对应的多个需求,检测每一个需求是否均通过测试;检测是否存在所述待检测分支的最新版本安装包;检测第一预设时间段内所述主干的代码是否同步至所述待检测分支;当所述每一个需求均通过所述测试,存在所述待检测分支的最新版本安装包,且所述第一预设时间段内所述主干的代码同步至所述待检测分支时,确定所述待检测分支通过所述前置达标检测。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
达标检测项添加模块,用于添加至少一个自定义的达标检测项;
所述前置达标检测,还用于根据所述至少一个自定义的达标检测项,对所述待检测分支进行达标检测;当所述待检测分支满足所述至少一个自定义的达标检测项对应的检测条件时,确定所述待检测分支通过所述前置达标检测。
7.根据权利要求5所述的装置,其特征在于,所述后置达标检测模块,用于根据所述待检测分支的最新版本安装包和所述主干的基准版本安装包,对所述待检测分支进行所述工具检测;当所述待检测分支通过所述工具检测后,向检测人员对应终端发送人工检测通知消息,以使所述检测人员对所述待检测分支进行所述人工检测;当所述待检测分支通过所述人工检测后,确定所述待检测分支通过所述后置达标检测。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
检测提示信息下发模块,用于当第二预设时间段内未接收到所述待检测分支的人工检测结果时,向所述检测人员对应终端下发检测提示信息。
9.一种服务器,其特征在于,所述服务器包括一个或一个以上处理器和存储器,所述存储器中存储有一个或者一个以上程序,所述一个或者一个以上程序被配置由所述一个或者一个以上处理器执行,以实现如上述权利要求1至4任一所述的分支达标检测方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有程序,所述程序被配置由硬件执行,以实现如上述权利要求1至4任一所述的分支达标检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410447085.8A CN105468507B (zh) | 2014-09-03 | 2014-09-03 | 分支达标检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410447085.8A CN105468507B (zh) | 2014-09-03 | 2014-09-03 | 分支达标检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105468507A CN105468507A (zh) | 2016-04-06 |
CN105468507B true CN105468507B (zh) | 2020-03-03 |
Family
ID=55606238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410447085.8A Active CN105468507B (zh) | 2014-09-03 | 2014-09-03 | 分支达标检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468507B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271756B (zh) * | 2017-07-14 | 2022-12-20 | 迈普通信技术股份有限公司 | 权限控制方法、装置及服务器 |
CN107818048B (zh) * | 2017-10-25 | 2020-06-05 | 携程旅游网络技术(上海)有限公司 | 计算机代码分支集成的质量检查方法及相关设备 |
CN109815136B (zh) * | 2019-01-02 | 2022-03-29 | 腾讯科技(武汉)有限公司 | 一种业务运营的数据处理方法和装置 |
CN113688028B (zh) * | 2020-05-19 | 2023-08-15 | 成都鼎桥通信技术有限公司 | 代码提交方法和装置 |
CN113190456B (zh) * | 2021-05-14 | 2024-03-26 | 中国农业银行股份有限公司 | 测试方法、测试装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101403965A (zh) * | 2008-11-18 | 2009-04-08 | 四川赛文纳克软件有限公司 | 集成式迭代化软件开发过程控制系统及方法 |
CN101515232A (zh) * | 2008-02-21 | 2009-08-26 | 卓望数码技术(深圳)有限公司 | 一种软件持续集成系统及方法 |
CN103220163A (zh) * | 2012-01-19 | 2013-07-24 | 阿里巴巴集团控股有限公司 | 配置信息的更新方法和系统 |
CN103577907A (zh) * | 2012-07-24 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 一种持续集成测试方法和系统 |
-
2014
- 2014-09-03 CN CN201410447085.8A patent/CN105468507B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515232A (zh) * | 2008-02-21 | 2009-08-26 | 卓望数码技术(深圳)有限公司 | 一种软件持续集成系统及方法 |
CN101403965A (zh) * | 2008-11-18 | 2009-04-08 | 四川赛文纳克软件有限公司 | 集成式迭代化软件开发过程控制系统及方法 |
CN103220163A (zh) * | 2012-01-19 | 2013-07-24 | 阿里巴巴集团控股有限公司 | 配置信息的更新方法和系统 |
CN103577907A (zh) * | 2012-07-24 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 一种持续集成测试方法和系统 |
Non-Patent Citations (1)
Title |
---|
"基于Hudson的持续集成方案的研究与实践";陈婧欣;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120615(第6期);正文第9-47页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105468507A (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107193750B (zh) | 一种脚本录制方法和装置 | |
CN105468507B (zh) | 分支达标检测方法及装置 | |
US9547579B1 (en) | Method and apparatus for automatically detecting defects | |
US8370816B2 (en) | Device, method and computer program product for evaluating a debugger script | |
CN109992498B (zh) | 测试用例的生成方法及系统、计算机系统 | |
CN111831321B (zh) | 代码覆盖率的分析方法、装置及其电子设备 | |
US9367427B2 (en) | Embedding and executing trace functions in code to gather trace data | |
CN108009080B (zh) | 一种代码扫描工具的评估方法及装置 | |
CN107729255B (zh) | 软件测试方法、装置及系统 | |
CN107025224B (zh) | 一种监控任务运行的方法和设备 | |
CN109995612B (zh) | 一种服务巡检方法、装置及电子设备 | |
CN114064208A (zh) | 检测应用服务状态的方法、装置、电子设备及存储介质 | |
CN110851471A (zh) | 分布式日志数据处理方法、装置以及系统 | |
CN109324959B (zh) | 一种自动转移数据的方法、服务器及计算机可读存储介质 | |
CN108153654B (zh) | 一种日志收集方法及装置 | |
CN107632909B (zh) | 用于自动测试设备功能的方法及系统 | |
CN112069070A (zh) | 一种页面检测方法、装置、服务器及计算机可读存储介质 | |
US20160314061A1 (en) | Software Defect Detection Identifying Location of Diverging Paths | |
US10599424B2 (en) | Committed program-code management | |
CN116599881A (zh) | 云平台租户建模测试的方法、装置、设备及存储介质 | |
CN115167896A (zh) | 一种更新软件版本的方法、装置、存储介质及电子设备 | |
CN115525568A (zh) | 代码覆盖率的巡检方法、装置、计算机设备及存储介质 | |
CN113282496A (zh) | 接口自动测试方法、装置、设备及存储介质 | |
CN110618943A (zh) | 安防服务测试方法、装置、电子设备及可读存储介质 | |
CN108845932B (zh) | 一种网络库的单元测试方法、装置、存储介质及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |