一种自动化构建软件版本的方法与装置制造方法及图纸

技术编号:16365337 阅读:38 留言:0更新日期:2017-10-10 21:19
本发明专利技术实施例公开了一种自动化构建软件版本的方法与装置,软件版本构建系统会自动获取最新提交的源代码;利用单元测试用例集合对源代码进行单元测试;当单元测试失败后,则将源代码回滚至上一次代码版本,并对该代码版本进行单元测试。当单元测试成功后,则编译源代码生成程序包,并利用模块测试用例集合对程序包进行模块测试;当模块测试失败时,则将源代码回滚至上一次代码版本,执行单元测试的步骤。当模块测试成功后,则依据程序包构建软件版本。系统自动化进行单元测试和模块测试,可以大大节省开发时间,缩短软件版本的开发周期,提高了研发效率,并且利用代码自动回滚功能,可以有效保证每一次构建出来的软件版本都是可用的版本。

Method and device for automatically constructing software version

The embodiment of the invention discloses a method and a device for automatic construction of software version of the software version of the build system will automatically get the latest source code submitted; the unit test cases are used to test the source code set; when the unit test failed, it will roll back the supremacy of a source code version, and unit the test of the code version. When the unit test is successful, the source code generation package is compiled, and the module of the test case set of package module testing module; when the test fails, the source code of a rollback first code version, perform unit testing steps. When the module tests are successful, the software version is built according to the package. Automation system for unit testing and module testing, can greatly save development time, shorten the software version of the development cycle, improve the efficiency of research and development, and the use of code automatic rollback function, can effectively ensure that every constructed version of the software is available in this version.

【技术实现步骤摘要】
一种自动化构建软件版本的方法与装置
本专利技术涉及软件版本
,特别是涉及一种自动化构建软件版本的方法与装置。
技术介绍
在软件开发中,对软件进行完整的版本构建很重要,而且这一过程也成为软件开发过程中每天都必不可少的一个环节。面对每天不断新增的软件代码,要保证每天新合入的代码不会出错,且运行效率高效,就必须对软件版本进行每日构建,来保证软件代码在快速更新后的可靠性,提高研发效率。目前较为普遍的软件开发过程是,开发人员在提交代码前必须要进行详细的动态测试和静态测试后才能提交代码到版本机上,然后再进行每日构建版本。这里的动态测试是指开发人员编写测试用例,对代码的基本单元的功能、性能及业务逻辑进行测试;静态测试是指开发人员根据一定的编码规则,对代码的语法、结构、过程、接口进行测试。在这种方式中,每日构建工作做的只是获取源代码、编译源代码,并生成可用的软件版本,同时,必须通过人工来完成动态测试和静态测试,从而降低了开发的效率且增加了测试出错或者遗漏或部分遗漏测试的概率。现有技术中,通过在构建流程中加入单元测试及代码规则检测相关测试,以提升开发效率。但是如果整个软件版本构建由于新增代码错误导致的构建中断,是没有解决措施的,如果由于新增代码错误导致构建中断,最终生成一个不可用软件版本,而软件构建目的就是最终构建出一个可用软件版本。可见,如何保证构建软件版本的正确性,是本领域技术人员亟待解决的问题。
技术实现思路
本专利技术实施例的目的是提供一种自动化构建软件版本的方法与装置,可以保证构建软件版本的正确性。为解决上述技术问题,本专利技术实施例提供一种自动化构建软件版本的方法,包括:S10:获取源代码;S11:利用预先存储的单元测试用例集合对所述源代码进行单元测试;S12:判断所述单元测试是否成功;若否,则执行S13;若是,则执行S14;S13:将所述源代码回滚至上一次代码版本,并将所述代码版本作为源代码,返回所述S11;S14:编译所述源代码生成程序包;S15:利用预先存储的模块测试用例集合对所述程序包进行模块测试;S16:判断所述模块测试是否成功;若否,则返回所述S13;若是,则执行S17;S17:依据所述程序包,构建软件版本。可选的,在所述S12之后还包括:当判断出所述单元测试失败时,则向预先存储的邮箱地址发送单元测试失败的通知信息。可选的,在所述S12之后还包括:当判断出所述单元测试成功时,则向预先存储的邮箱地址发送单元测试通过的通知信息。可选的,在所述S16之后还包括:当判断出所述模块测试失败时,则向预先存储的邮箱地址发送模块测试失败的通知信息。可选的,在所述S16之后还包括:当判断出所述模块测试失败时,则清除所述S14中编译所述源代码过程中生成的系统文件。本专利技术实施例还提供了一种自动化构建软件版本的装置,包括获取单元、测试单元、判断单元、回滚单元、编译单元和构建单元,所述获取单元,用于获取源代码;所述测试单元,用于利用预先存储的单元测试用例集合对所述源代码进行单元测试;所述判断单元,用于判断所述单元测试是否成功;若否,则触发所述回滚单元,所述回滚单元,用于将所述源代码回滚至上一次代码版本,并将所述代码版本作为源代码,触发所述测试单元;若是,则触发所述编译单元,所述编译单元,用于编译所述源代码生成程序包;所述测试单元还用于利用预先存储的模块测试用例集合对所述程序包进行模块测试;所述判断单元还用于判断所述模块测试是否成功;若否,则触发所述回滚单元;若是,则触发所述构建单元,所述构建单元,用于依据所述程序包,构建软件版本。可选的,还包括发送单元,所述发送单元,用于在所述判断单元判断出所述单元测试失败之后,向预先存储的邮箱地址发送单元测试失败的通知信息。可选的,所述发送单元还用于在所述判断单元判断出所述单元测试成功之后,向预先存储的邮箱地址发送单元测试通过的通知信息。可选的,所述发送单元还用于在所述判断单元判断出所述模块测试失败之后,向预先存储的邮箱地址发送模块测试失败的通知信息。可选的,还包括清除单元,所述清除单元,用于在所述判断单元判断出所述模块测试失败之后,清除所述编译单元在编译所述源代码过程中生成的系统文件。由上述技术方案可以看出,软件版本构建系统会自动获取最新提交的源代码;利用预先存储的单元测试用例集合对所述源代码进行单元测试;当单元测试失败时,则说明源代码存在问题,此时可以将源代码回滚至上一次代码版本,并将所述代码版本作为源代码,对其进行单元测试,从而可以有效的保证源代码的正确性。将通过单元测试的源代码进行编译处理生成程序包;利用预先存储的模块测试用例集合对所述程序包进行模块测试。当模块测试失败时,则说明源代码存在问题,此时可以将源代码回滚至上一次代码版本,并将所述代码版本作为源代码,返回单元测试的步骤。当模块测试成功后,则说明该程序包可以实现相应的测试功能,则可以依据所述程序包,构建软件版本。系统自动化进行单元测试和模块测试,可以大大节省开发人员的开发时间,缩短软件版本的开发周期,提高了研发效率,并且利用代码自动回滚功能,可以有效保证每一次构建出来的软件版本都是可用的版本。附图说明为了更清楚地说明本专利技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种自动化构建软件版本的方法的流程图;图2为本专利技术实施例提供的一种自动化构建软件版本的装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本专利技术保护范围。为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。接下来,详细介绍本专利技术实施例所提供的一种自动化构建软件版本的方法。图1为本专利技术实施例提供的一种自动化构建软件版本的方法的流程图,该方法包括:S10:获取源代码。软件版本构建系统可以自动化的获取到最新提交的源代码。S11:利用预先存储的单元测试用例集合对所述源代码进行单元测试。单元测试可以是对源代码的语法、结构、过程、接口等进行测试。单元测试用例是开发者编写的一段代码程序,为了使得软件版本构建系统可以自动化的对源代码进行单元测试,可以在系统中预先存储单元测试用例集合。该单元测试用例集合中包含有可以实现相应单元测试的单元测试用例。S12:判断所述单元测试是否成功。对源代码进行单元测试,如果单元测试失败,则说明源代码的语法、结构、过程或者接口等可能存在问题,则执行S13;如果单元测试成功,则可以说明源代码编写正确,则执行S14。S13:将所述源代码回滚至上一次代码版本,并将所述代码版本作为源代码,返回所述S11。在本专利技术实施例中,当单元测试失败,可以采用代码回滚的方式,将代码版本自动回滚到上一次提交状态,即将上一次提交的代码作为源代码,然后重新进行单元测试。S14:编译所述源代码生成程序包。当源代码通过单元测试后,可以对源代本文档来自技高网
...
一种自动化构建软件版本的方法与装置

【技术保护点】
一种自动化构建软件版本的方法,其特征在于,包括:S10:获取源代码;S11:利用预先存储的单元测试用例集合对所述源代码进行单元测试;S12:判断所述单元测试是否成功;若否,则执行S13;若是,则执行S14;S13:将所述源代码回滚至上一次代码版本,并将所述代码版本作为源代码,返回所述S11;S14:编译所述源代码生成程序包;S15:利用预先存储的模块测试用例集合对所述程序包进行模块测试;S16:判断所述模块测试是否成功;若否,则返回所述S13;若是,则执行S17;S17:依据所述程序包,构建软件版本。

【技术特征摘要】
1.一种自动化构建软件版本的方法,其特征在于,包括:S10:获取源代码;S11:利用预先存储的单元测试用例集合对所述源代码进行单元测试;S12:判断所述单元测试是否成功;若否,则执行S13;若是,则执行S14;S13:将所述源代码回滚至上一次代码版本,并将所述代码版本作为源代码,返回所述S11;S14:编译所述源代码生成程序包;S15:利用预先存储的模块测试用例集合对所述程序包进行模块测试;S16:判断所述模块测试是否成功;若否,则返回所述S13;若是,则执行S17;S17:依据所述程序包,构建软件版本。2.根据权利要求1所述的方法,其特征在于,在所述S12之后还包括:当判断出所述单元测试失败时,则向预先存储的邮箱地址发送单元测试失败的通知信息。3.根据权利要求2所述的方法,其特征在于,在所述S12之后还包括:当判断出所述单元测试成功时,则向预先存储的邮箱地址发送单元测试通过的通知信息。4.根据权利要求3所述的方法,其特征在于,在所述S16之后还包括:当判断出所述模块测试失败时,则向预先存储的邮箱地址发送模块测试失败的通知信息。5.根据权利要求1-4任意一项所述的方法,其特征在于,在所述S16之后还包括:当判断出所述模块测试失败时,则清除所述S14中编译所述源代码过程中生成的系统文件。6.一种自动化构建软件版本的装置,其特征在于,包括获取单元、测试单元、判断单元、回滚单元、编译单元和构建单元,...

【专利技术属性】
技术研发人员:张月辉耿东崔新民
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1