一种代码持续集成的方法

文档序号:6525306阅读:314来源:国知局
一种代码持续集成的方法【专利摘要】本发明涉及软件开发【
技术领域
】,特别是指一种代码持续集成的方法。本发明首先指定测试环境需要部署的服务器并部署其环境,确定其IP地址;然后,在对要测试的代码打基线;检出要测试的代码并进行编译,得到目标代码,并且对目标代码插桩;然后,在测试环境中执行测试用例,生成测试用例的执行结果、自动生成代码的测试覆盖率报告;然后,根据测试用例执行结果,修复代码缺陷;根据测试覆盖率报告重新调整测试用例;重复之前的集成的流程,直到测试用例全部通过并且测试覆盖率为100%为止。本发明解决了软件开发过程当中,从代码开发到测试,再到回归测试的过程中浪费大量时间的问题;可用于软件开发中。【专利说明】一种代码持续集成的方法【
技术领域
】[0001]本发明涉及软件开发【
技术领域
】,特别是指一种代码持续集成的方法。【
背景技术
】[0002]软件开发过程当中的特点是代码的更新管理需要人员,代码的更新、编译、分发到测试环境都需要人力和时间的投入等。[0003]但是,以上描述的大型Linux软件的发布方法存在如下的问题:[0004]1、需要做大量的工作以适配不同的开发版本。不同的软件开发版本的和使用的环境都需要不同的依赖,所有要跟随基线的发布来提供测试的环境,所以这个集成测试的环境可能对特定的版本的测试才会有效;[0005]2、此发布方法一般需要定时的修改编译的方式,需要更新的目标代码的内容,和所需要分发的测试机器的IP,这些都是限定条件,所以对特定版本才会有效。[0006]为了提升软件的部署效率,增强部署的快捷性和部署过程之中数据的安全性,需要一种通过一个节点进行代码的下载,更新,编译,并且分发到各个知道的测试环境当中更新环境,自动的进行测试用例的执行,反馈。【
发明内容】[0007]本发明解决的技术问题在于提供一种快速、安全稳定的代码持续集成的方法,解决了在测试环境部署和代码更新的时候所浪费的人力和时间,以及数据更新的安全性等问题。[0008]本发明解决上述技术问题的技术方案是:包括如下步骤:[0009]步骤1:部署指定的测试需要部署的机器,并提供测试机器IP;[0010]步骤2:在配置库当中对要测试的代码打基线,以确保代码部署的统一性和代码更改的最好记录;[0011]步骤3:对基线代码进行编译,得到目标代码;[0012]步骤4:对目标代码进行插桩,生成插桩信息文件;[0013]步骤5:把目标代码分发到测试服务器当中;[0014]步骤6:在测试环境中执行测试用例,生成测试用例的执行结果,同时由于插桩的原因,也自动生成代码覆盖信息文件;[0015]步骤7:开发人员根据测试用例的执行结果,修复代码缺陷,并提交到代码主干上;[0016]步骤8:插桩信息文件和代码覆盖信息文件进行对比,结合源代码生成一份代码覆盖率报告;测试人员根据测试覆盖率报告查看没有被覆盖到的代码,重新调整测试用例,完善测试的全面性;[0017]步骤9:重复步骤2到步骤8,持续开发、编译、测试的过程,直到测试用例全部通过并且测试覆盖率为100%为止。[0018]所述的对目标代码进行插桩,指的是在目标代码中插入记录代码覆盖信息的字节码,此字节码与目标代码同时执行,对目标代码执行到的代码行进行记录;[0019]所述的插桩信息文件指的是一个记录目标代码行信息的文件。[0020]所述的把目标代码分发到测试服务器当中指的是把插桩完成的代码部署到所有执行测试的服务器中。[0021]所述的代码覆盖信息文件指的是一个测试用例执行过程中被执行到的代码行的记录文件,代码覆盖信息文件是相对插桩信息文件的,将两个文件进行对比而确定本次测试用例执行过程中被覆盖到的代码有多少行,将代码覆盖信息文件结合向测试人员显示没有被执行到的代码行的内容,以便进行测试用例的改进。[0022]本发明通过一个节点进行代码的下载,更新,编译,并且分发到各个知道的测试环境当中更新环境,自动的进行测试用例的执行,反馈;可以提升软件的部署效率,增强部署的快捷性和部署过程之中数据的安全性。【专利附图】【附图说明】[0023]下面结合附图对本发明进一步说明:[0024]附图是本发明方法流程图。【具体实施方式】[0025]见附图所示,本发明方法流程步骤如下:[0026]I,确保测试环境的防火墙关闭,关闭方式如下:[0027]/etc/init.d/iptablesstop[0028]2,拷贝相应文件到集成环境[0029]将包含:exectesting.shIntegration-testing-GT.shscptotessingenv-10.0.55.3.shcovertest_sl.shcovertest_s2.shurltesting.sh这几个文件的目录拷贝到集成测试,[0030]3,对代码进行插桩[0031]执行covertest_sl.sh完成自动插桩(启动tomcat前做),会在/covertest目录自动生成各模块的覆盖率测试数据文件,其中all是所有数据文件的合并文件,gcloud是GCloud项目的数据文件,其他是各个模块的jar包数据文件[0032]coverttest_sl.sh的内容如下:[0033]【权利要求】1.一种持续集成的方法,其特征在于:包括如下步骤:步骤1:部署指定的测试需要部署的机器,并提供测试机器IP;步骤2:在配置库当中对要测试的代码打基线,以确保代码部署的统一性和代码更改的最好记录;步骤3:对基线代码进行编译,得到目标代码;步骤4:对目标代码进行插桩,生成插桩信息文件;步骤5:把目标代码分发到测试服务器当中;步骤6:在测试环境中执行测试用例,生成测试用例的执行结果,同时由于插桩的原因,也自动生成代码覆盖信息文件;步骤7:开发人员根据测试用例的执行结果,修复代码缺陷,并提交到代码主干上;步骤8:插桩信息文件和代码覆盖信息文件进行对比,结合源代码生成一份代码覆盖率报告;测试人员根据测试覆盖率报告查看没有被覆盖到的代码,重新调整测试用例,完善测试的全面性;步骤9:重复步骤2到步骤8,持续开发、编译、测试的过程,直到测试用例全部通过并且测试覆盖率为100%为止。2.根据权利要求1所述的持续集成的方法,其特征在于:所述的对目标代码进行插桩,指的是在目标代码中插入记录代码覆盖信息的字节码,此字节码与目标代码同时执行,对目标代码执行到的代码行进行记录;所述的插桩信息文件指的是一个记录目标代码行信息的文件。3.根据权利要求1所述的持续集成的方法,其特征在于:所述的把目标代码分发到测试服务器当中指的是把插桩完成的代码部署到所有执行测试的服务器中。4.根据权利要求2所述的持续集成的方法,其特征在于:所述的把目标代码分发到测试服务器当中指的是把插桩完成的代码部署到所有执行测试的服务器中。5.根据权利要求1至4任一项所述的持续集成的方法,其特征在于:所述的代码覆盖信息文件指的是一个测试用例执行过程中被执行到的代码行的记录文件,代码覆盖信息文件是相对插桩信息文件的,将两个文件进行对比而确定本次测试用例执行过程中被覆盖到的代码有多少行,将代码覆盖信息文件结合向测试人员显示没有被执行到的代码行的内容,以便进行测试用例的改进。【文档编号】G06F11/36GK103699385SQ201310719971【公开日】2014年4月2日申请日期:2013年12月23日优先权日:2013年12月23日【发明者】魏琳琳,杨松,莫展鹏,季统凯申请人:国云科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1