CN104156224A - 一种软件构建持续集成方法及*** - Google Patents
一种软件构建持续集成方法及*** Download PDFInfo
- Publication number
- CN104156224A CN104156224A CN201310176646.0A CN201310176646A CN104156224A CN 104156224 A CN104156224 A CN 104156224A CN 201310176646 A CN201310176646 A CN 201310176646A CN 104156224 A CN104156224 A CN 104156224A
- Authority
- CN
- China
- Prior art keywords
- version control
- control repository
- test result
- running
- file
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种软件构建持续集成方法,包括:启动版本控制库,建立整个构建所运行的环境,提取版本控制库中的输入和输出元数据;对相关数据文件进行解析和转换,以生成最终的输出结果;将所述输出结果打包成完整的可安装文件形式;将构建迁移到运行环境,执行功能集成测试,并将测试结果进行记录存储,所述测试结果包括各步骤的运行时长、运行状态、运行结果及运行日志;将所述测试结果生成一个入口html文件,并对所述html文件进行压缩打包,通过邮件的方式自动发送给开发用户。本发明还公开了一种软件构建持续集成***。采用本发明,可及时发现软件缺陷或更新,并修复软件缺陷或启动更新程序,其能大大提高开发效率及降低错误率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种软件构建持续集成方法及***。
背景技术
软件持续集成是一种自动化的软件创建与测试过程,持续集成过程中,开发团队可以每天多次构建他们的软件。作为一种软件实践,持续集成可让开发团队在软件构建时持续收到反馈,及时发现软件缺陷,并对其进行修复,而不必等到开发周期后期才寻找和修复缺陷,因此,其可对软件的开发效率和投入成本造成不同的影响。
现有的软件持续集成***运行时,不能自动实现流程启动,需人工按照实际需要手动启动相应步骤,因此开发效率较低,开发人员工作量大,成本较高,且有可能因人为原因,而造成漏掉必要步骤的启动,以致造成需后期返工的结果。
发明内容
本发明所要解决的技术问题在于,提供一种软件构建持续集成方法及***,可根据实际需要预设各步骤的执行顺序及执行方式,使各步骤流程能自启动,同时,也可将测试结果自动发送给开发用户,其能大大提高开发效率及降低错误率,另外,还可对版本控制库进行实时监控,当发现版本控制库有变化时,即可自动或手动启动相应的构建步骤,其能及时发现软件缺陷并修复,有便于进一步提高开发效率。
为了解决上述技术问题,本发明提供了一种软件构建持续集成方法,包括:启动版本控制库,建立整个构建所运行的环境,提取版本控制库中的输入和输出元数据,所述版本控制库中包括创建、更新、创建基线及报告数据信息,所述构建所运行的环境包括添加初始化模板、设置各步骤的执行顺序及执行方式;对相关数据文件进行解析和转换,以生成最终的输出结果,所述相关数据文件包括数据库中的应用元数据及所述版本控制库中的输入和输出元数据;将所述输出结果打包成完整的可安装文件形式;将构建迁移到运行环境,执行功能集成测试,并将测试结果进行记录存储,所述测试结果包括各步骤的运行时长、运行状态、运行结果及运行日志;将所述测试结果生成一个入口html(Hypertext Markup Language,超文本标记语言)文件,并对所述html文件进行压缩打包,通过邮件的方式自动发送给开发用户。
作为上述方案的改进,所述软件构建持续集成方法还包括:将所述相关数据文件转换为可直接运行的可执行文件或中间对象;对所述可执行文件或中间对象进行单元测试,并将单元测试结果进行记录存储。
作为上述方案的改进,所述软件构建持续集成方法还包括:将经过转换和/或解析处理的源代码进行代码覆盖率测试,以评估出代码测试覆盖情况。
作为上述方案的改进,所述软件构建持续集成方法还包括:进行代码静态分析,检查所有代码的编译是否符合特定编程规范或标准的,并将检查结果进行记录存储。
作为上述方案的改进,所述软件构建持续集成方法还包括:对版本控制库进行实时监控,并判断版本控制库是否有变化,当判断为是时,自动或手动执行启动版本控制库,建立整个构建所运行的环境,提取版本控制库中的输入和输出元数据的步骤。
相应地,本发明还提供了一种软件构建持续集成***,包括:数据构建提取装置,用于启动版本控制库,建立整个构建所运行的环境,提取版本控制库中的输入和输出元数据,所述版本控制库中包括创建、更新、创建基线及报告数据信息,所述构建所运行的环境包括添加初始化模板、设置各步骤的执行顺序及执行方式;数据处理装置,用于对相关数据文件进行解析和转换,以生成最终的输出结果,所述相关数据文件包括数据库中的应用元数据及所述版本控制库中的输入和输出元数据;打包装置,用于将所述输出结果打包成完整的可安装文件形式;迁移装置,用于将构建迁移到运行环境,执行功能集成测试,并将测试结果进行记录存储,所述测试结果包括各步骤的运行时长、运行状态、运行结果及运行日志;报告发送装置,将所述测试结果生成一个入口html文件,并对所述html文件进行压缩打包,通过邮件的方式自动发送给开发用户。
作为上述方案的改进,所述软件构建持续集成***还包括:数据转换装置,用于将所述相关数据文件转换为可直接运行的可执行文件或中间对象;单元测试装置,用于对所述可执行文件或中间对象进行单元测试,并将单元测试结果进行记录存储。
作为上述方案的改进,所述软件构建持续集成***还包括:代码覆盖率测试装置,用于将经过转换和/或解析处理的源代码进行代码覆盖率测试,以评估出代码测试覆盖情况。
作为上述方案的改进,所述软件构建持续集成***还包括:代码静态分析装置,用于进行代码静态分析,检查所有代码的编译是否符合特定编程规范或标准的,并将检查结果进行记录存储。
作为上述方案的改进,所述软件构建持续集成***还包括:监控判断装置,用于对版本控制库进行实时监控,并判断版本控制库是否有变化,当判断为是时,自动或手动启动所述数据构建提取装置。
实施本发明的有益效果在于:本发明可建立整个构建所运行的环境,所述构建所运行的环境包括添加初始化模板、设置各步骤的执行顺序及执行方式,开发用户可根据实际需要预设各步骤的执行顺序及执行方式,使各步骤流程能自启动运行,按照预设的执行顺序自动运行,其减少了工作量,降低了开发成本,提高了开发效率;同时,本发明可将所述测试结果生成一个入口html文件,并对所述html文件进行压缩打包,通过邮件的方式自动发送给开发用户,所述测试结果包括各步骤的运行时长、运行状态、运行结果及运行日志,开发用户可全面了解掌握各步骤的相关信息,及时发现缺陷并进行修复,避免错误缺陷一直延续至后期,给后期的工作带来更严重错误,因此,其可降低错误率,大大提高了开发效率;另外,本发明还可对版本控制库进行实时监控,当发现版本控制库有变化时,即可自动或手动启动相应的构建步骤,其能及时发现软件缺陷并修复,有便于进一步提高开发效率。
附图说明
图1是本发明一种软件构建持续集成方法的第一实施例流程示意图;
图2是本发明一种软件构建持续集成方法的第二实施例流程示意图;
图3是本发明一种软件构建持续集成方法的第三实施例流程示意图;
图4是本发明一种软件构建持续集成方法的第四实施例流程示意图;
图5是本发明一种软件构建持续集成方法的第五实施例流程示意图;
图6是本发明一种软件构建持续集成***1的结构示意图;
图7是本发明一种软件构建持续集成***1的另一结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
图1是本发明一种软件构建持续集成方法的第一实施例流程示意图,包括:
S100,启动版本控制库,建立整个构建所运行的环境,提取版本控制库中的输入和输出元数据。
所述版本控制库中包括创建、更新、创建基线及报告数据信息,所述构建所运行的环境包括添加初始化模板、设置各步骤的执行顺序及执行方式。
需要说明的是,在添加初始化模块时,会连同步骤一起自动创建,然后再根据实际需要对各步骤的执行顺序及执行方式进行相应的修改或设置;另外,该步骤可确保构建的可重复性及可靠性。
S101,对相关数据文件进行解析和转换,以生成最终的输出结果。
所述相关数据文件包括数据库中的应用元数据及所述版本控制库中的输入和输出元数据。
需要说明的是,对于数据库中的应用元数据主要是与其的设置相关,其需通过解析与转换,另外,所述相关数据文件主要是指可直接运行的脚本语言形式的数据文件。
S102,将所述输出结果打包成完整的可安装文件形式。
需要说明的是,该步骤过程是产品的包装过程,打包后的结果又称为分发文件,以Java为例打包就是将Java类以及库文件打包为 JAR或EAR文件从而使其可安装在服务器上。
S103,将构建迁移到运行环境,执行功能集成测试,并将测试结果进行记录存储。
所述测试结果包括各步骤的运行时长、运行状态、运行结果及运行日志。
需要说明的是,该步骤过程可检测出各步骤相关情况,例如,步骤中存在的缺陷错误等,其可为是否能进行进一步工作提供必要的依据。
S104,将所述测试结果生成一个入口html文件,并对所述html文件进行压缩打包,通过邮件的方式自动发送给开发用户。
需要说明的是,可将述html文件压缩打包成zip格式的压缩包,将所述测试结果通过邮件的方式自动发送给开发用户,可使开发用户全面了解掌握各步骤的相关信息,及时发现缺陷并进行修复,避免错误缺陷一直延续至后期,给后期的工作带来更严重错误,因此,其可降低错误率,能大大提高开发效率。
图2是本发明一种软件构建持续集成方法的第二实施例流程示意图,包括:
S200,启动版本控制库,建立整个构建所运行的环境,提取版本控制库中的输入和输出元数据。
所述版本控制库中包括创建、更新、创建基线及报告数据信息,所述构建所运行的环境包括添加初始化模板、设置各步骤的执行顺序及执行方式。
需要说明的是,在添加初始化模块时,会连同步骤一起自动创建,然后再根据实际需要对各步骤的执行顺序及执行方式进行相应的修改或设置;另外,该步骤可确保构建的可重复性及可靠性。
S201,将所述相关数据文件转换为可直接运行的可执行文件或中间对象。
S202,对所述可执行文件或中间对象进行单元测试,并将单元测试结果进行记录存储。
需要说明的是,单元测试需进行用例设计测试,其可检验各开发人员的工作成果是否可相互兼容配合,确保构建的质量。
S203,对相关数据文件进行解析和转换,以生成最终的输出结果。
所述相关数据文件包括数据库中的应用元数据及所述版本控制库中的输入和输出元数据。
需要说明的是,对于数据库中的应用元数据主要是与其的设置相关,其需通过解析与转换。
S204,将所述输出结果打包成完整的可安装文件形式。
需要说明的是,该步骤过程是产品的包装过程,打包后的结果又称为分发文件,以Java为例打包就是将Java类以及库文件打包为 JAR或EAR文件从而使其可安装在服务器上。
S205,将构建迁移到运行环境,执行功能集成测试,并将测试结果进行记录存储。
所述测试结果包括各步骤的运行时长、运行状态、运行结果及运行日志。
需要说明的是,该步骤过程可检测出各步骤相关情况,例如,步骤中存在的缺陷错误等,其可为是否能进行进一步工作提供必要的依据。
S206,将所述测试结果生成一个入口html文件,并对所述html文件进行压缩打包,通过邮件的方式自动发送给开发用户。
需要说明的是,可将述html文件压缩打包成zip格式的压缩包,将所述测试结果通过邮件的方式自动发送给开发用户,可使开发用户全面了解掌握各步骤的相关信息,及时发现缺陷并进行修复,避免错误缺陷一直延续至后期,给后期的工作带来更严重错误,另外,单元测试结果也可通过邮件的方式自动发送给开发用户,因此,其可降低错误率,能大大提高开发效率。
图3是本发明一种软件构建持续集成方法的第三实施例流程示意图,包括:
S300,启动版本控制库,建立整个构建所运行的环境,提取版本控制库中的输入和输出元数据。
所述版本控制库中包括创建、更新、创建基线及报告数据信息,所述构建所运行的环境包括添加初始化模板、设置各步骤的执行顺序及执行方式。
需要说明的是,在添加初始化模块时,会连同步骤一起自动创建,然后再根据实际需要对各步骤的执行顺序及执行方式进行相应的修改或设置;另外,该步骤可确保构建的可重复性及可靠性。
S301,将所述相关数据文件转换为可直接运行的可执行文件或中间对象。
S302,对所述可执行文件或中间对象进行单元测试,并将单元测试结果进行记录存储。
需要说明的是,单元测试需进行用例设计测试,其可检验各开发人员的工作成果是否可相互兼容配合,确保构建的质量。
S303,对相关数据文件进行解析和转换,以生成最终的输出结果。
所述相关数据文件包括数据库中的应用元数据及所述版本控制库中的输入和输出元数据。
需要说明的是,对于数据库中的应用元数据主要是与其的设置相关,其需通过解析与转换。
S304,将所述输出结果打包成完整的可安装文件形式。
需要说明的是,该步骤过程是产品的包装过程,打包后的结果又称为分发文件,以Java为例打包就是将Java类以及库文件打包为 JAR或EAR文件从而使其可安装在服务器上。
S305,将构建迁移到运行环境,执行功能集成测试,并将测试结果进行记录存储。
所述测试结果包括各步骤的运行时长、运行状态、运行结果及运行日志。
需要说明的是,该步骤过程可检测出各步骤相关情况,例如,步骤中存在的缺陷错误等,其可为是否能进行进一步工作提供必要的依据。
S306,将经过转换和/或解析处理的源代码进行代码覆盖率测试,以评估出代码测试覆盖情况。
需要说明的是,该步骤是对功能集成测试及单元测试的一个有效补充,其可评估出有多少代码经过了测试,以明确其他功能测试应侧重的方向。
S307,将所述测试结果生成一个入口html文件,并对所述html文件进行压缩打包,通过邮件的方式自动发送给开发用户。
需要说明的是,可将述html文件压缩打包成zip格式的压缩包,将所述测试结果通过邮件的方式自动发送给开发用户,可使开发用户全面了解掌握各步骤的相关信息,及时发现缺陷并进行修复,避免错误缺陷一直延续至后期,给后期的工作带来更严重错误,另外,单元测试结果及代码覆盖率测试结果也可通过邮件的方式自动发送给开发用户,因此,其可降低错误率,能大大提高开发效率。
图4是本发明一种软件构建持续集成方法的第四实施例流程示意图,包括:
S400,启动版本控制库,建立整个构建所运行的环境,提取版本控制库中的输入和输出元数据。
所述版本控制库中包括创建、更新、创建基线及报告数据信息,所述构建所运行的环境包括添加初始化模板、设置各步骤的执行顺序及执行方式。
需要说明的是,在添加初始化模块时,会连同步骤一起自动创建,然后再根据实际需要对各步骤的执行顺序及执行方式进行相应的修改或设置;另外,该步骤可确保构建的可重复性及可靠性。
S401,进行代码静态分析,检查所有代码的编译是否符合特定编程规范或标准的,并将检查结果进行记录存储。
需要说明的是,该步骤过程可确保编译的代码能被开发团队的所有成员进行修改和阅读,其实现了编译语言等规范或标准的一致性。
S402,将所述相关数据文件转换为可直接运行的可执行文件或中间对象。
S403,对所述可执行文件或中间对象进行单元测试,并将单元测试结果进行记录存储。
需要说明的是,单元测试需进行用例设计测试,其可检验各开发人员的工作成果是否可相互兼容配合,确保构建的质量。
S404,对相关数据文件进行解析和转换,以生成最终的输出结果。
所述相关数据文件包括数据库中的应用元数据及所述版本控制库中的输入和输出元数据。
需要说明的是,对于数据库中的应用元数据主要是与其的设置相关,其需通过解析与转换。
S405,将所述输出结果打包成完整的可安装文件形式。
需要说明的是,该步骤过程是产品的包装过程,打包后的结果又称为分发文件,以Java为例打包就是将Java类以及库文件打包为 JAR或EAR文件从而使其可安装在服务器上。
S406,将构建迁移到运行环境,执行功能集成测试,并将测试结果进行记录存储。
所述测试结果包括各步骤的运行时长、运行状态、运行结果及运行日志。
需要说明的是,该步骤过程可检测出各步骤相关情况,例如,步骤中存在的缺陷错误等,其可为是否能进行进一步工作提供必要的依据。
S407,将经过转换和/或解析处理的源代码进行代码覆盖率测试,以评估出代码测试覆盖情况。
需要说明的是,该步骤是对功能集成测试及单元测试的一个有效补充,其可评估出有多少代码经过了测试,以明确其他功能测试应侧重的方向。
S408,将所述测试结果生成一个入口html文件,并对所述html文件进行压缩打包,通过邮件的方式自动发送给开发用户。
需要说明的是,可将述html文件压缩打包成zip格式的压缩包,将所述测试结果通过邮件的方式自动发送给开发用户,可使开发用户全面了解掌握各步骤的相关信息,及时发现缺陷并进行修复,避免错误缺陷一直延续至后期,给后期的工作带来更严重错误,另外,单元测试结果、代码静态分析结果及代码覆盖率测试结果也可通过邮件的方式自动发送给开发用户,因此,其可降低错误率,能大大提高开发效率。
图5是本发明一种软件构建持续集成方法的第五实施例流程示意图,包括:
S500,对版本控制库进行实时监控,并判断版本控制库是否有变化,当判断为是时,执行S501步骤,当判断为否时,结束流程。
需要说明的是,当判断为是时,可自动执行S501步骤,也可设置成手动执行S501步骤;该步骤能及时发现软件缺陷或更新,以便及时修复或启动更新程序,其有便于进一步提高开发效率。
S501,启动版本控制库,建立整个构建所运行的环境,提取版本控制库中的输入和输出元数据。
所述版本控制库中包括创建、更新、创建基线及报告数据信息,所述构建所运行的环境包括添加初始化模板、设置各步骤的执行顺序及执行方式。
需要说明的是,在添加初始化模块时,会连同步骤一起自动创建,然后再根据实际需要对各步骤的执行顺序及执行方式进行相应的修改或设置;另外,该步骤可确保构建的可重复性及可靠性。
S502,进行代码静态分析,检查所有代码的编译是否符合特定编程规范或标准的,并将检查结果进行记录存储。
需要说明的是,该步骤过程可确保编译的代码能被开发团队的所有成员进行修改和阅读,其有利于实现编译语言等规范或标准的一致性。
S503,将所述相关数据文件转换为可直接运行的可执行文件或中间对象。
S504,对所述可执行文件或中间对象进行单元测试,并将单元测试结果进行记录存储。
需要说明的是,单元测试需进行用例设计测试,其可检验各开发人员的工作成果是否可相互兼容配合,确保构建的质量。
S505,对相关数据文件进行解析和转换,以生成最终的输出结果。
所述相关数据文件包括数据库中的应用元数据及所述版本控制库中的输入和输出元数据。
需要说明的是,对于数据库中的应用元数据主要是与其的设置相关,其需通过解析与转换。
S506,将所述输出结果打包成完整的可安装文件形式。
需要说明的是,该步骤过程是产品的包装过程,打包后的结果又称为分发文件,以Java为例打包就是将Java类以及库文件打包为 JAR或EAR文件从而使其可安装在服务器上。
S507,将构建迁移到运行环境,执行功能集成测试,并将测试结果进行记录存储。
所述测试结果包括各步骤的运行时长、运行状态、运行结果及运行日志。
需要说明的是,该步骤过程可检测出各步骤相关情况,例如,步骤中存在的缺陷错误等,其可为是否能进行进一步工作提供必要的依据。
S508,将经过转换和/或解析处理的源代码进行代码覆盖率测试,以评估出代码测试覆盖情况。
需要说明的是,该步骤是对功能集成测试及单元测试的一个有效补充,其可评估出有多少代码经过了测试,以明确其他功能测试应侧重的方向。
S509,将所述测试结果生成一个入口html文件,并对所述html文件进行压缩打包,通过邮件的方式自动发送给开发用户。
需要说明的是,可将述html文件压缩打包成zip格式的压缩包,将所述测试结果通过邮件的方式自动发送给开发用户,可使开发用户全面了解掌握各步骤的相关信息,及时发现缺陷并进行修复,避免错误缺陷一直延续至后期,给后期的工作带来更严重错误,另外,单元测试结果、代码静态分析结果及代码覆盖率测试结果也可通过邮件的方式自动发送给开发用户,因此,其可降低错误率,能大大提高开发效率。
图6是本发明一种软件构建持续集成***1的结构示意图,包括:
数据构建提取装置2,用于启动版本控制库,建立整个构建所运行的环境,提取版本控制库中的输入和输出元数据,所述版本控制库中包括创建、更新、创建基线及报告数据信息,所述构建所运行的环境包括添加初始化模板、设置各步骤的执行顺序及执行方式。
需要说明的是,可根据实际需要通过数据构建提取装置2对各步骤的执行顺序及执行方式进行相应的修改或设置;同时,其可确保构建的可重复性及可靠性。
数据处理装置3,用于对相关数据文件进行解析和转换,以生成最终的输出结果,所述相关数据文件包括数据库中的应用元数据及所述版本控制库中的输入和输出元数据。
打包装置4,用于将所述输出结果打包成完整的可安装文件形式。
需要说明的是,通过打包装置4打包后的结果又称为分发文件,以Java为例打包就是将Java类以及库文件打包为 JAR或EAR文件从而使其可安装在服务器上。
迁移装置5,用于将构建迁移到运行环境,执行功能集成测试,并将测试结果进行记录存储,所述测试结果包括各步骤的运行时长、运行状态、运行结果及运行日志。
需要说明的是,迁移装置5可检测出各步骤相关情况,例如,步骤中存在的缺陷错误等,其可为是否能进行进一步工作提供必要的依据。
报告发送装置6,将所述测试结果生成一个入口html文件,并对所述html文件进行压缩打包,通过邮件的方式自动发送给开发用户。
需要说明的是,可通过报告发送装置6将述html文件压缩打包成zip格式的压缩包,将所述测试结果通过邮件的方式自动发送给开发用户,其可使开发用户全面了解掌握各步骤的相关信息,及时发现缺陷并进行修复,避免错误缺陷一直延续至后期,给后期的工作带来更严重错误,因此,其可降低错误率,能大大提高开发效率。
由上可知,本发明可通过数据构建提取装置2建立整个构建所运行的环境,所述构建所运行的环境包括添加初始化模板、设置各步骤的执行顺序及执行方式,开发用户可根据实际需要预设各步骤的执行顺序及执行方式,使各步骤流程能自启动运行,按照预设的执行顺序自动运行,其减少了工作量,降低了开发成本,提高了开发效率;同时,本发明可通过报告发送装置6将所述测试结果生成一个入口html文件,并对所述html文件进行压缩打包,通过邮件的方式自动发送给开发用户,所述测试结果包括各步骤的运行时长、运行状态、运行结果及运行日志,开发用户可全面了解掌握各步骤的相关信息,及时发现缺陷并进行修复,避免错误缺陷一直延续至后期,给后期的工作带来更严重错误,因此,其可降低错误率,大大提高了开发效率。
图7是本发明一种软件构建持续集成***1的另一结构示意图,所述软件构建持续集成***1还包括:
数据转换装置7,用于将所述相关数据文件转换为可直接运行的可执行文件或中间对象。
单元测试装置8,用于对所述可执行文件或中间对象进行单元测试,并将单元测试结果进行记录存储。
需要说明的是,单元测试装置8可进行用例设计测试,其可检验各开发人员的工作成果是否可相互兼容配合,确保构建的质量。
更佳地,所述软件构建持续集成***1还包括:代码覆盖率测试装置9,用于将经过转换和/或解析处理的源代码进行代码覆盖率测试,以评估出代码测试覆盖情况。
需要说明的是,代码覆盖率测试装置9可评估出有多少代码经过了测试,是对功能集成测试及单元测试的一个有效补充,可明确其他功能测试应侧重的方向。
更佳地,所述软件构建持续集成***1还包括:代码静态分析装置11,用于进行代码静态分析,检查所有代码的编译是否符合特定编程规范或标准的,并将检查结果进行记录存储。
需要说明的是,代码静态分析装置11可确保编译的代码能被开发团队的所有成员进行修改和阅读,其有利于实现编译语言等规范或标准的一致性。
更佳地,所述软件构建持续集成***1还包括:监控判断装置12,用于对版本控制库进行实时监控,并判断版本控制库是否有变化,当判断为是时,自动或手动启动所述数据构建提取装置2。
需要说明的是,监控判断装置12对版本控制库进行实时监控,以及时发现软件缺陷或更新,并及时修复或启动更新程序,其有便于进一步提高开发效率。
另外,通过单元测试装置8得出的单元测试结果、通过代码覆盖率测试装置9得出的代码覆盖率测试结果及通过代码静态分析装置11得出的代码静态分析结果皆可通过邮件的方式自动发送给开发用户。
由上可知,本发明可通过数据构建提取装置2建立整个构建所运行的环境,所述构建所运行的环境包括添加初始化模板、设置各步骤的执行顺序及执行方式,开发用户可根据实际需要预设各步骤的执行顺序及执行方式,使各步骤流程能自启动运行,按照预设的执行顺序自动运行,其减少了工作量,降低了开发成本,提高了开发效率;同时,本发明可通过报告发送装置6将所述测试结果生成一个入口html文件,并对所述html文件进行压缩打包,通过邮件的方式自动发送给开发用户,所述测试结果包括各步骤的运行时长、运行状态、运行结果及运行日志,开发用户可全面了解掌握各步骤的相关信息,及时发现缺陷并进行修复,避免错误缺陷一直延续至后期,给后期的工作带来更严重错误,因此,其可降低错误率,大大提高了开发效率;另外,本发明还可通过监控判断装置12对版本控制库进行实时监控,当发现版本控制库有变化时,即可自动或手动启动相应的构建步骤,其能及时发现软件缺陷或更新,并及时修复或启动更新程序,有便于进一步提高开发效率。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种软件构建持续集成方法,其特征在于,包括:
启动版本控制库,建立整个构建所运行的环境,提取版本控制库中的输入和输出元数据,所述版本控制库中包括创建、更新、创建基线及报告数据信息,所述构建所运行的环境包括添加初始化模板、设置各步骤的执行顺序及执行方式;
对相关数据文件进行解析和转换,以生成最终的输出结果,所述相关数据文件包括数据库中的应用元数据及所述版本控制库中的输入和输出元数据;
将所述输出结果打包成完整的可安装文件形式;
将构建迁移到运行环境,执行功能集成测试,并将测试结果进行记录存储,所述测试结果包括各步骤的运行时长、运行状态、运行结果及运行日志;
将所述测试结果生成一个入口html文件,并对所述html文件进行压缩打包,通过邮件的方式自动发送给开发用户。
2.如权利要求1所述的软件构建持续集成方法,其特征在于,还包括:
将所述相关数据文件转换为可直接运行的可执行文件或中间对象;
对所述可执行文件或中间对象进行单元测试,并将单元测试结果进行记录存储。
3.如权利要求1或2所述的软件构建持续集成方法,其特征在于,还包括:
将经过转换和/或解析处理的源代码进行代码覆盖率测试,以评估出代码测试覆盖情况。
4.如权利要求1所述的软件构建持续集成方法,其特征在于,还包括:
进行代码静态分析,检查所有代码的编译是否符合特定编程规范或标准的,并将检查结果进行记录存储。
5.如权利要求1或2或4所述的软件构建持续集成方法,其特征在于,还包括:
对版本控制库进行实时监控,并判断版本控制库是否有变化,当判断为是时,自动或手动执行启动版本控制库,建立整个构建所运行的环境,提取版本控制库中的输入和输出元数据的步骤。
6.一种软件构建持续集成***,其特征在于,包括:
数据构建提取装置,用于启动版本控制库,建立整个构建所运行的环境,提取版本控制库中的输入和输出元数据,所述版本控制库中包括创建、更新、创建基线及报告数据信息,所述构建所运行的环境包括添加初始化模板、设置各步骤的执行顺序及执行方式;
数据处理装置,用于对相关数据文件进行解析和转换,以生成最终的输出结果,所述相关数据文件包括数据库中的应用元数据及所述版本控制库中的输入和输出元数据;
打包装置,用于将所述输出结果打包成完整的可安装文件形式;
迁移装置,用于将构建迁移到运行环境,执行功能集成测试,并将测试结果进行记录存储,所述测试结果包括各步骤的运行时长、运行状态、运行结果及运行日志;
报告发送装置,将所述测试结果生成一个入口html文件,并对所述html文件进行压缩打包,通过邮件的方式自动发送给开发用户。
7.如权利要求6所述的软件构建持续集成***,其特征在于,还包括:
数据转换装置,用于将所述相关数据文件转换为可直接运行的可执行文件或中间对象;
单元测试装置,用于对所述可执行文件或中间对象进行单元测试,并将单元测试结果进行记录存储。
8.如权利要求6或7所述的软件构建持续集成***,其特征在于,还包括:
代码覆盖率测试装置,用于将经过转换和/或解析处理的源代码进行代码覆盖率测试,以评估出代码测试覆盖情况。
9.如权利要求6所述的软件构建持续集成***,其特征在于,还包括:
代码静态分析装置,用于进行代码静态分析,检查所有代码的编译是否符合特定编程规范或标准的,并将检查结果进行记录存储。
10.如权利要求6或7或9所述的软件构建持续集成***,其特征在于,还包括:
监控判断装置,用于对版本控制库进行实时监控,并判断版本控制库是否有变化,当判断为是时,自动或手动启动所述数据构建提取装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310176646.0A CN104156224B (zh) | 2013-05-14 | 2013-05-14 | 一种软件构建持续集成方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310176646.0A CN104156224B (zh) | 2013-05-14 | 2013-05-14 | 一种软件构建持续集成方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104156224A true CN104156224A (zh) | 2014-11-19 |
CN104156224B CN104156224B (zh) | 2017-11-07 |
Family
ID=51881731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310176646.0A Active CN104156224B (zh) | 2013-05-14 | 2013-05-14 | 一种软件构建持续集成方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104156224B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293811A (zh) * | 2016-07-28 | 2017-01-04 | 北京中电普华信息技术有限公司 | 一种自动打包发布方法及装置 |
CN106326110A (zh) * | 2016-08-10 | 2017-01-11 | 浪潮(北京)电子信息产业有限公司 | 一种***版本开发过程中bug缺陷的修复方法及*** |
CN106874205A (zh) * | 2017-02-27 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种持续集成中的自动化功能测试装置及其方法 |
CN107179988A (zh) * | 2017-05-15 | 2017-09-19 | 杭州时趣信息技术有限公司 | 一种软件项目迭代保障体系 |
CN107450933A (zh) * | 2017-08-18 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种软件持续集成方法和*** |
CN107621944A (zh) * | 2017-09-22 | 2018-01-23 | 天翼电子商务有限公司 | 基于自动化运维的持续集成流水线***及其方法 |
CN108011974A (zh) * | 2017-12-25 | 2018-05-08 | 苏州赛源微电子有限公司 | 一种软件构建持续集成*** |
CN108062220A (zh) * | 2017-11-17 | 2018-05-22 | 南京轩世琪源软件科技有限公司 | 一种快速构建信息***软件的构架 |
CN108241502A (zh) * | 2016-12-26 | 2018-07-03 | 航天信息股份有限公司 | 一种代码持续集成的方法及装置 |
CN109976994A (zh) * | 2017-12-27 | 2019-07-05 | 航天信息股份有限公司 | Java项目的白盒测试方法、装置、计算机设备 |
CN112328259A (zh) * | 2020-11-26 | 2021-02-05 | 北京五八信息技术有限公司 | 一种编译时长的处理方法和装置 |
CN113032240A (zh) * | 2019-12-09 | 2021-06-25 | 中车时代电动汽车股份有限公司 | 一种软件测试自动化管理***及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515232A (zh) * | 2008-02-21 | 2009-08-26 | 卓望数码技术(深圳)有限公司 | 一种软件持续集成***及方法 |
US20110307860A1 (en) * | 2010-06-09 | 2011-12-15 | Hong Seong Park | Simulation-based interface testing automation system and method for robot software components |
CN102708051A (zh) * | 2012-07-12 | 2012-10-03 | 加弘科技咨询(上海)有限公司 | 程序持续集成的方法及*** |
CN102799515A (zh) * | 2011-05-24 | 2012-11-28 | 腾讯科技(深圳)有限公司 | 应用程序测试方法及装置 |
CN102880546A (zh) * | 2012-09-03 | 2013-01-16 | 上海方正数字出版技术有限公司 | 一种基于xml数据库的软件集成测试方法及*** |
-
2013
- 2013-05-14 CN CN201310176646.0A patent/CN104156224B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515232A (zh) * | 2008-02-21 | 2009-08-26 | 卓望数码技术(深圳)有限公司 | 一种软件持续集成***及方法 |
US20110307860A1 (en) * | 2010-06-09 | 2011-12-15 | Hong Seong Park | Simulation-based interface testing automation system and method for robot software components |
CN102799515A (zh) * | 2011-05-24 | 2012-11-28 | 腾讯科技(深圳)有限公司 | 应用程序测试方法及装置 |
CN102708051A (zh) * | 2012-07-12 | 2012-10-03 | 加弘科技咨询(上海)有限公司 | 程序持续集成的方法及*** |
CN102880546A (zh) * | 2012-09-03 | 2013-01-16 | 上海方正数字出版技术有限公司 | 一种基于xml数据库的软件集成测试方法及*** |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293811A (zh) * | 2016-07-28 | 2017-01-04 | 北京中电普华信息技术有限公司 | 一种自动打包发布方法及装置 |
CN106326110A (zh) * | 2016-08-10 | 2017-01-11 | 浪潮(北京)电子信息产业有限公司 | 一种***版本开发过程中bug缺陷的修复方法及*** |
CN108241502A (zh) * | 2016-12-26 | 2018-07-03 | 航天信息股份有限公司 | 一种代码持续集成的方法及装置 |
CN108241502B (zh) * | 2016-12-26 | 2021-04-16 | 航天信息股份有限公司 | 一种代码持续集成的方法及装置 |
CN106874205A (zh) * | 2017-02-27 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种持续集成中的自动化功能测试装置及其方法 |
CN107179988A (zh) * | 2017-05-15 | 2017-09-19 | 杭州时趣信息技术有限公司 | 一种软件项目迭代保障体系 |
CN107450933A (zh) * | 2017-08-18 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种软件持续集成方法和*** |
CN107621944A (zh) * | 2017-09-22 | 2018-01-23 | 天翼电子商务有限公司 | 基于自动化运维的持续集成流水线***及其方法 |
CN108062220B (zh) * | 2017-11-17 | 2019-05-24 | 内蒙古博微计算机有限公司 | 一种快速构建信息***软件的构架 |
CN108062220A (zh) * | 2017-11-17 | 2018-05-22 | 南京轩世琪源软件科技有限公司 | 一种快速构建信息***软件的构架 |
CN108011974A (zh) * | 2017-12-25 | 2018-05-08 | 苏州赛源微电子有限公司 | 一种软件构建持续集成*** |
CN109976994A (zh) * | 2017-12-27 | 2019-07-05 | 航天信息股份有限公司 | Java项目的白盒测试方法、装置、计算机设备 |
CN113032240A (zh) * | 2019-12-09 | 2021-06-25 | 中车时代电动汽车股份有限公司 | 一种软件测试自动化管理***及方法 |
CN112328259A (zh) * | 2020-11-26 | 2021-02-05 | 北京五八信息技术有限公司 | 一种编译时长的处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104156224B (zh) | 2017-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104156224A (zh) | 一种软件构建持续集成方法及*** | |
CN109302522B (zh) | 测试方法、装置以及计算机***和介质 | |
US20210011840A1 (en) | Software testing method, system, apparatus, device medium, and computer program product | |
KR101132560B1 (ko) | 로봇 소프트웨어 컴포넌트를 위한 시뮬레이션 기반 인터페이스 테스팅 자동화 시스템 및 그 방법 | |
CN104077140B (zh) | 用于持续集成的自动化编译方法和编译装置 | |
CN104407980B (zh) | 移动应用自动化测试装置和方法 | |
CN103019928B (zh) | 一种自动化测试方法和*** | |
US8473916B2 (en) | Method and system for providing a testing framework | |
CN108845940B (zh) | 一种企业级信息***自动化功能测试方法和*** | |
CN108073400A (zh) | 软件自动化构建方法、服务器及存储介质 | |
CN105608012A (zh) | 一种自动化测试方法及*** | |
CN102567164A (zh) | 用于处理器的指令集批量测试装置与方法 | |
Fritzson et al. | The OpenModelica integrated modeling, simulation and optimization environment | |
CN104424088A (zh) | 软件的测试方法及装置 | |
KR20120121950A (ko) | 애플리케이션 그래픽 유저인터페이스 테스트 자동화 시스템 및 그 방법 | |
CN100451986C (zh) | 网络芯片的自动化验证方法 | |
CN102479152A (zh) | 基于Android平台获取工具自动测试结果的方法及装置 | |
CN103186463B (zh) | 确定软件的测试范围的方法和*** | |
CN103399814A (zh) | 自动化测试的方法及装置 | |
Tufano et al. | Methods2Test: A dataset of focal methods mapped to test cases | |
CN103064780B (zh) | 一种软件测试的方法及装置 | |
US10846059B2 (en) | Automated generation of software bindings | |
CN106371868A (zh) | 一种自动化测试方法、***及测试机器 | |
CN116483730A (zh) | 基于国产软硬件和开源测试工具的业务***自动测试方法 | |
CN111966587A (zh) | 数据采集方法、装置和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 510000 eighteen, building 8, 6, Donggang Road, Yuexiu District, Guangzhou, Guangdong. Patentee after: GUANGDONG POWER GRID CO., LTD. INFORMATION CENTER Address before: 510080 18 18, Shui Gang Gang, Dongfeng East Road, Yuexiu District, Guangzhou, Guangdong. Patentee before: Information Center of Guangdong Power Grid Corporation |