一种全流程自动化的持续集成管理方法及系统
技术领域
本发明涉及持续集成技术领域,具体涉及一种全流程自动化的持续集成管理方法及系统。
背景技术
目前,在持续集成领域的自动化构建和自动化测试是两个独立的系统,在自动化构建系统,主要完成代码的静态检查、代码量统计、自动化编译版本,自动化打包成发布版本,相关的数据只能在独立的页面中进行显示;而在自动化测试系统,主要完成版本的下载,目标板的软件版本更新,自动化测试,以及测试结果和日志的回收,相关的数据在独立的页面中进行显示;
现有的自动化构建以及自动化测试步骤相对独立,对于配置管理人员来说,管理操作相对比较繁琐,并且在维护时,需要对两套系统进行维护。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种全流程自动化的持续集成管理方法及系统,该方法将自动化构建以及自动化测试两个独立的系统进行组合,根据构建代码进行自动化构建后,立即进行自动化测试,简化了持续集成工作的流程,提高工作效率,节省人力成本。
为达到以上目的,本发明采取的技术方案是:
一种全流程自动化的持续集成管理方法,所述方法包括以下步骤:
编写构建代码,并存储至预设的代码库;
编写测试用例,并存储至预设的用例库;
根据构建代码对预设的目标板进行升级,获得待测板;
利用所述测试用例对待测板进行测试,生成测试日志。
在上述技术方案的基础上,所述根据构建代码对预设的目标板进行升级,获得待测板,具体包括以下步骤:
根据构建代码进行自动化构建,得到多个模块;
将各模块打包形成版本包;
依据版本包对预设的目标板进行升级,获得待测板。
在上述技术方案的基础上,所述利用测试用例对待测板进行测试,生成测试日志,包括以下步骤:
根据所述测试用例编写测试脚本,并存储至预设的代码库;
调用所述测试脚本,对所述测试板进行检测;
生成测试日志。
在上述技术方案的基础上,该方法还包括:对构建代码进行错误检查,获得检查扫描结果;
所述检查扫描结果包括代码中的告警信息以及告警信息的数量;
所述告警信息包括:提示信息、语法错误、内部错误。
在上述技术方案的基础上,该方法还包括:对构建代码进行数据统计,获得统计结果;
所述统计结果包括:总行数、语句数目、分支语句比例、注释比例、函数数目、平均每个函数包含的语句数目、函数圈复杂度、函数深度。
本发明还公开一种全流程自动化的持续集成管理系统,所述系统包括:
代码库,其用于存储预编写的构建代码;
用例库,其用于存储预编写的测试用例;
升级单元,其用于根据构建代码对预设的目标板进行升级,获得待测板
测试单元,其用于利用所述测试用例对待测板进行测试,生成测试日志。
在上述技术方案的基础上,所述升级单元包括:
模块构建模块,其用于根据构建代码进行自动化构建,得到多个模块;
版本包构建模块,其用于将各模块打包形成版本包;
目标板升级模块,其用于依据版本包对预设的目标板进行升级,获得待测板。
在上述技术方案的基础上,所述测试单元包括:
测试脚本构建模块,其用于根据所述测试用例编写测试脚本,并存储至预设的代码库;
测试模块,其用于调用所述测试脚本,对所述测试板进行检测;
日志生成模块,其用于生成测试日志。
在上述技术方案的基础上,所述系统还包括错误检查单元,其用于对构建代码进行错误检查,获得检查扫描结果;
所述检查扫描结果包括代码中的告警信息以及告警信息的数量;
所述告警信息包括:提示信息、语法错误、内部错误。
在上述技术方案的基础上,所述系统还包括代码统计单元,其用于对构建代码进行数据统计,获得统计结果;
所述统计结果包括:总行数、语句数目、分支语句比例、注释比例、函数数目、平均每个函数包含的语句数目、函数圈复杂度、函数深度。
与现有技术相比,本发明的优点在于:本发明将自动化构建以及自动化测试两个独立的系统进行组合,根据构建代码进行自动化构建后,立即进行自动化测试,简化了持续集成工作的流程,提高工作效率,节省人力成本。
附图说明
图1为本发明实施例1中全流程自动化的持续集成管理方法的步骤流程图;
图2为本发明实施例2中全流程自动化的持续集成管理方法的步骤S3的具体步骤流程图;
图3为本发明实施例3中全流程自动化的持续集成管理方法的步骤S4的具体步骤流程图;
图4为本发明实施例6中全流程自动化的持续集成管理系统的结构框图;
图5为本发明实施例中7全流程自动化的持续集成管理系统的升级单元的结构框图;
图6为本发明实施例中8全流程自动化的持续集成管理系统的测试单元的结构框图;
图7为本发明实施例9中全流程自动化的持续集成管理系统的结构框图;
图8为本发明实施例10中全流程自动化的持续集成管理系统的结构框图;
图中:1、代码库;2、用例库;3、升级单元;30、模块构建模块;31、版本包构建模块;32、目标板升级模块;4、测试单元;40、测试脚本构建模块;41、测试模块;42、日志生成模块;5、错误检查单元;6、代码统计单元。
具体实施方式
以下结合附图对本发明的实施例作进一步详细说明。
实施例1
参见图1所示,本发明实施例1提供一种全流程自动化的持续集成管理方法,该方法包括以下步骤:
S1、编写构建代码,并存储至预设的代码库;
S2、编写测试用例,并存储至预设的用例库;
S3、根据构建代码对预设的目标板进行升级,获得待测板;
S4、利用测试用例对待测板进行测试,生成测试日志。
本发明实施例,将自动化构建以及自动化测试两个独立的系统进行组合,根据构建代码进行自动化构建后,立即进行自动化测试,简化了持续集成工作的流程,提高工作效率,节省人力成本。
需要说明的是,测试日志包括测试执行过程以及测试结果。
在实际实施时,可使用jenkins调用编译脚本进行代码编译,获取编译的结果PASS或者FAIL。
实施例2
参见图2所示,本发明实施例2提供一种全流程自动化的持续集成管理方法,该方法包括以下步骤:
S1、编写构建代码,并存储至预设的代码库;
S2、编写测试用例,并存储至预设的用例库;
S3、根据构建代码对预设的目标板进行升级,获得待测板;
S4、利用测试用例对待测板进行测试,生成测试日志。
本发明实施例中,根据构建代码对预设的目标板进行升级,获得待测板,即步骤S3具体包括以下步骤:
A1、根据构建代码进行自动化构建,得到多个模块;
A2、将各模块打包形成版本包;
A3、依据版本包对预设的目标板进行升级,获得待测板。
本实施例中,根据构建代码进组自动化构建,组成多个模块,并形成版本包以便后期对目标板进行升级,即将构建代码进行实质性的体现,获得待测板,以便后续进行自动检测使用,该操作步骤方便快捷,适应性强,版本包便于使用者进行不同的工作。
实施例3
参见图3所示,本发明实施例提供一种全流程自动化的持续集成管理方法,该方法包括以下步骤:
S1、编写构建代码,并存储至预设的代码库;
S2、编写测试用例,并存储至预设的用例库;
S3、根据构建代码对预设的目标板进行升级,获得待测板;
S4、利用测试用例对待测板进行测试,生成测试日志。
本发明实施例中,利用测试用例对待测板进行测试,生成测试日志,即步骤S4具体包括以下步骤:
B1、根据测试用例编写测试脚本,并存储至预设的代码库;
B2、调用测试脚本,对测试板进行检测;
B3、生成测试日志。
本发明实施例中,从用例库中提取测试用例,进而编写测试脚本,存入代码库后,以便后续进行测试时,可以随时提取,便于工作人员随时使用,具有一定的便利性。
在实际实施时,可使用jenkins调用测试脚本,对被测环境进行测试,对于每一个测试用例,都记录测试过程的日志,以及测试的结果;最后,在主界面上对各个模块的测试结果进行展示,并链接到测试日志,方便问题定位。
实施例4
本发明实施例提供一种全流程自动化的持续集成管理方法,该方法包括以下步骤:
S1、编写构建代码,并存储至预设的代码库;
S2、编写测试用例,并存储至预设的用例库;
S3、根据构建代码对预设的目标板进行升级,获得待测板;
S4、利用测试用例对待测板进行测试,生成测试日志。
本发明实施例中,该方法还包括:对构建代码进行错误检查,获得检查扫描结果;
检查扫描结果包括代码中的告警信息以及告警信息的数量;
告警信息包括:提示信息、语法错误、内部错误;
本发明实施例中,对构建代码进行错误检查,避免代码出现错误,保证工作的正常进行。
必要时,当检查扫描结果中告警信息较多,可设置自动停止构建的功能,也可以告知工作人员,由工作人员进行手动停止构建。
在实际实施时,可以使用jenkins调用PCLINT工具扫描编译的代码,根据配置获得检查扫描结果。
实施例5
本发明实施例提供一种全流程自动化的持续集成管理方法,该方法包括以下步骤:
S1、编写构建代码,并存储至预设的代码库;
S2、编写测试用例,并存储至预设的用例库;
S3、根据构建代码对预设的目标板进行升级,获得待测板;
S4、利用测试用例对待测板进行测试,生成测试日志。
本发明实施例中,该方法还包括:对构建代码进行数据统计,获得统计结果;
统计结果包括:总行数、语句数目、分支语句比例、注释比例、函数数目、平均每个函数包含的语句数目、函数圈复杂度、函数深度。
本发明实施例中,对构建代码进行数据统计,以便工作人员能够对编写的构建代码的各种情况进行直观的了解,有助于自动构建的进行,也为本方法的顺利进行提供便利。
在实际使用时,可使用jenkins调用SourceMonitor工具扫描编译的代码,获取统计结果,统计结果包括:总行数(Lines)、语句数目(Statements)、分支语句比例(PercentBranch Statements)、注释比例(Percent Lines with Comments)、函数数目(Functions)、平均每个函数包含的语句数目(Average Statements per Function)、函数圈复杂度(Function Complexity)、函数深度(Block Depth)。
实施例6
参见图4所示,本发明实施例提供一种全流程自动化的持续集成管理系统,该系统包括:
代码库1,其用于存储预编写的构建代码;
用例库2,其用于存储预编写的测试用例;
升级单元3,其用于根据构建代码对预设的目标板进行升级,获得待测板
测试单元4,其用于利用测试用例对待测板进行测试,生成测试日志。
本发明实施例,将自动化构建以及自动化测试两个独立的系统进行组合,根据构建代码进行自动化构建后,立即进行自动化测试,简化了持续集成工作的流程,提高工作效率,节省人力成本。
实施例7
参见图5所示,本发明实施例提供一种全流程自动化的持续集成管理系统,该系统包括:
代码库1,其用于存储预编写的构建代码;
用例库2,其用于存储预编写的测试用例;
升级单元3,其用于根据构建代码对预设的目标板进行升级,获得待测板
测试单元4,其用于利用测试用例对待测板进行测试,生成测试日志。
本发明实施例中,升级单元3包括:
模块构建模块30,其用于根据构建代码进行自动化构建,得到多个模块;
版本包构建模块31,其用于将各模块打包形成版本包;
目标板升级模块32,其用于依据版本包对预设的目标板进行升级,获得待测板。
本发明实施例,将自动化构建以及自动化测试两个独立的系统进行组合,根据构建代码进行自动化构建后,立即进行自动化测试,简化了持续集成工作的流程,提高工作效率,节省人力成本。
实施例8
参见图6所示,本发明实施例提供一种全流程自动化的持续集成管理系统,该系统包括:
代码库1,其用于存储预编写的构建代码;
用例库2,其用于存储预编写的测试用例;
升级单元3,其用于根据构建代码对预设的目标板进行升级,获得待测板
测试单元4,其用于利用测试用例对待测板进行测试,生成测试日志。
本发明实施例中,测试单元4包括:
测试脚本构建模块40,其用于根据测试用例编写测试脚本,并存储至预设的代码库;
测试模块41,其用于调用测试脚本,对测试板进行检测;
日志生成模块42,其用于生成测试日志。
本发明实施例中,从用例库中提取测试用例,进而编写测试脚本,存入代码库后,以便后续进行测试时,可以随时提取,便于工作人员随时使用,具有一定的便利性。
实施例9
参见图7所示,本发明实施例提供一种全流程自动化的持续集成管理系统,该系统包括:
代码库1,其用于存储预编写的构建代码;
用例库2,其用于存储预编写的测试用例;
升级单元3,其用于根据构建代码对预设的目标板进行升级,获得待测板
测试单元4,其用于利用测试用例对待测板进行测试,生成测试日志。
本发明实施例中,该系统还包括错误检查单元5,其用于对构建代码进行错误检查,获得检查扫描结果;
检查扫描结果包括代码中的告警信息以及告警信息的数量;
告警信息包括:提示信息、语法错误、内部错误。
本发明实施例中,对构建代码进行错误检查,避免代码出现错误,保证工作的正常进行。
必要时,当检查扫描结果中告警信息较多,可设置自动停止构建的功能,也可以告知工作人员,由工作人员进行手动停止构建。
实施例10
参见图8所示,本发明实施例提供一种全流程自动化的持续集成管理系统,该系统包括:
代码库1,其用于存储预编写的构建代码;
用例库2,其用于存储预编写的测试用例;
升级单元3,其用于根据构建代码对预设的目标板进行升级,获得待测板
测试单元4,其用于利用测试用例对待测板进行测试,生成测试日志。
本发明实施例中,该系统还包括代码统计单元6,其用于对构建代码进行数据统计,获得统计结果;
统计结果包括:总行数、语句数目、分支语句比例、注释比例、函数数目、平均每个函数包含的语句数目、函数圈复杂度、函数深度。
本发明实施例中,对构建代码进行错误检查,避免代码出现错误,保证工作的正常进行。
必要时,当检查扫描结果中告警信息较多,可设置自动停止构建的功能,也可以告知工作人员,由工作人员进行手动停止构建。
本发明不仅局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本发明相同或相近似的技术方案,均在其保护范围之内。