The invention discloses an automatic software system quality checking and fast iteration method. Firstly, the developer submits code to the branch to be audited. When the monitoring server detects that the branch has code changes, it triggers the static analysis task and automatically reviews the code. After the code review is passed, the automatic branch is merged into the trunk and triggers unit testing and online compilation tasks. When there is no problem with unit testing and online compilation, package and deploy, and start the automation system software testing at the same time. Finally, the software products that will be tested will be released. This method improves the automation level of software development, reduces the complexity of manual evaluation, establishes a multi-language automatic testing framework, reduces the cost of manual participation and saves human resources, and establishes a continuous feedback mechanism for each stage of software system development, and achieves the quality control of Engineering software.
【技术实现步骤摘要】
一种自动化软件系统质量检查和快速迭代方法
本专利技术专利属于软件开发与测试领域,面向复杂软件系统研制质量管理和效率需要,提供了一种自动化软件质量检测和快速迭代方法,支持软件的协同开发、代码质量管理、持续集成与测试。
技术介绍
随着软件设计技术的更新,软件或系统规模的扩大,软件产品复杂度不断提高,传统“模块开发-集成产品”的研发模式导致很多问题集中暴露在产品集成或发布阶段;与此同时,复杂软件系统在开发集成、测试以及产品迭代更新等方面越来越困难,耗时长且代价较高,并且难以保证产品质量和交付周期。持续集成是软件开发的一个重要实践[1,2]。持续集成是一种敏捷的开发方式[3],持续集成的引入,降低了软件开发的风险,提高软件开发效率,提高代码质量,使项目管理人员更好地了解项目的开发进度。每次集成过程包括编译、构建、部署、测试、发布等多个过程,每一个过程都可以进行优化和改进。张兆晨,罗铁坚[4]搭建了一个基于Docker容器的持续集成的构建系统,将持续集成环境容器化,可以大大提升软件开发效率。张高毓,张建强[5]提出一种提升软件产品服务质量的自动构建系统,实现软件产品的自动打 ...
【技术保护点】
1.一种自动化软件系统质量检查和快速迭代方法,其特征在于,包括以下步骤:(1)开发人员增量开发结束后将代码提交至源码服务器的待审核分支;(2)CI服务器通过触发检测插件检测到审核分支有代码变动时,自动触发静态分析任务,对当前提交的代码进行质量分析,得到质量分析结果;(3)根据预先设定的质量阀Qdefine,并对比本次检测的结果Qstatic,如果Qstatic满足Qdefine的判定条件则表示通过质量评审,此时通过插件实现自动评审,将本次提交自动合并至主干,并触发下一步任务;否则,中止后续步骤,并将结果反馈给开发人员;(4)根据项目的开发语言,选择不同的单元测试框架JUni ...
【技术特征摘要】
1.一种自动化软件系统质量检查和快速迭代方法,其特征在于,包括以下步骤:(1)开发人员增量开发结束后将代码提交至源码服务器的待审核分支;(2)CI服务器通过触发检测插件检测到审核分支有代码变动时,自动触发静态分析任务,对当前提交的代码进行质量分析,得到质量分析结果;(3)根据预先设定的质量阀Qdefine,并对比本次检测的结果Qstatic,如果Qstatic满足Qdefine的判定条件则表示通过质量评审,此时通过插件实现自动评审,将本次提交自动合并至主干,并触发下一步任务;否则,中止后续步骤,并将结果反馈给开发人员;(4)根据项目的开发语言,选择不同的单元测试框架JUnit或CppUnit,调度分布式构建节点,执行单元测试和在线构建任务,依据单元测试质量UTQ及构建是否成功决定是否进入步骤(5),否则中止后续步骤,并将结果反馈给开发人员;(5)将构建成功的产物进行归档存入制品库,自动执行部署任务,调度分布式分布节点,根据项目类型通过部署工具将其部署至目标测试环境或生产环境中,然后自动触发步骤(6);(6)选择不同的测试框架完成自动化软件测试,并将测试结果发送给相关人员;(7)自动化测试通过后,将本次提交合并至发布分支,进行产品发布。2....
【专利技术属性】
技术研发人员:岳才杰,刘亮,陆茜茜,陶家顺,费菲,
申请(专利权)人:中国科学院电子学研究所苏州研究院,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。