本发明涉及一种基于devops的完整生命周期管理平台及方法。适用于it行业软件研发、产品管理、产品交付、产品运维等领域。
背景技术:
随着互联网不断的发展,目前大多数的企业都普遍存在研发过程中管理能力不足、已有的流程规范无法有效落实、团队效率低下,跨部门协作难,交付质量差的难题。因此,如何让提高整个研发团队的开发测试效率,保证产品的质量成了软件研发的一个重要课题。
目前业界有多个独立的工具,但没有统一的标准流程或者完整的生命周期、系统的解决方案,比如项目管理软件,有jira、禅道、sonar、jenkins等,但这些工具只能单独的解决某一环节的问题痛点,无法在一套系统上面解决项目管理、环境部署,代码检查,自动化测试等问题。
技术实现要素:
本发明要解决的技术问题是:针对上述存在的问题,提供一种基于devops的完整生命周期管理平台及方法,以提高企业研发管理效率。
本发明所采用的技术方案是:一种基于devops的完整生命周期管理平台,其特征在于,包括:
产品管理服务模块,用于需求的收集、规划,并生成相应的测试和开发任务;
持续集成服务模块;用于提供可视化、可定制的一体化功能。支持一键式部署,并行部署服务、与流水线无缝集成;
代码自检服务模块,用于在编码完成后执行多语言的代码静态检查和安全检查,获取全面的质量报告,并提供缺陷的改进建议和趋势分析;
测试管理服务模块,用于提供多场景的接口、性能、自动化测试;
产品仓库服务,用于提供软件发布的服务,存放部署包、测试报告和产品白皮书等产品资料文档,便于用户在同一个平台即可获取不同产品的资料。
所述产品管理服务模块,包括:
工作台:用户登录后,默认展示工作台界面,可以用于日常的工作处理包括缺陷、任务、需求、工作日志的填写等操作;
需求池模块,用于需求和外部缺陷的收集、排序和处理;
决策分析模块,用于对产品和版本进行数据分析;
周报模块:用于汇总部门个人本周的工作情况和下周的工作安排;
产品管理模块,用于创建产品和版本,根据产品线划分产品,并分为产品卡片和产品列表两种展示方式;
需求管理模块,用于在版本下创建和规划该版本的需求,并对需求进一步的处理,包括分解任务、测试用例、提测;
计划管理模块,用于为产品目标规划多个里程碑,将需求和缺陷合理安排工期;
任务管理模块,具有任务支持列表和看板的模式,用于一键生成任务,以及将任务积分自动推送绩效考核系统;
提测单模块,用于在需求开发完成后,对需求进行提测,确认提测后,跟进需求内容自动生成测试任务;
测试用例模块,用于按照统一规范,撰写用例,为用例设置等级和维护人,使用灵活的层级分类,轻松组织测试用例库;
缺陷管理模块,用于在执行测试阶段,获取测试人员发现并录入的缺陷,并发送给开发人员;并在开发人员处理缺陷后,供测试人员跟进缺陷的解决情况来关闭缺陷。
所述持续集成服务模块,包括:
流水线模块,用于按需定制流水线流程;
编译打包模块,支持maven和ant两张打包方式,用于自动获取代码,提供可视化界面查看日志信息;
部署任务模块,支持多种语言部署,支持用户自定义shell脚本部署,也支持用户进行容器部署;
服务列表模块,用于监控所运行的服务状态及对服务进行启动、停止、重启操作。
所述代码自检服务模块,包括:
findbugs模块,用于批量过滤缺陷,分级分类快速处理,执行过程中提供实时的日志监控及完成后的消息通知;
代码检查模块,用于提供近千条典型检查规则,提供多维度质量统计报表及检查趋势图。
所述测试管理服务模块,包括:
接口测试模块,用于在页面和功能没有完全完成之前,检验接口的正确性;
性能测试模块,用于在线性能测试,支持http或https协议,模拟多用户并发场景,适用各类压测场景,帮助用户提前发现性能问题;
ui自动化测试模块,以插件的形式安装,支持在线录制和回放脚本,可通过定制场景,根据系统测试需要,批量添加脚本,有计划地智能回归测试系统;
配置管理模块,用于配置性能测试和持续集成中所需的主机管理。
所述产品仓库服务服务模块,包括:
测试仓库模块,用于测试仓库存放编译过程中推送过来的软件包,默认推送到测试仓库;
正式仓库模块,用于存放测试仓库推送过来的软件包;
知识沉淀模块,用于沉淀汇总文档资料、设计资产、版本信息和更新记录。
一种利用所述管理平台的管理方法,其特征在于:
s1、需求收集,需求方在需求池中录入需求,由需求对接人规划需求的优先等级,有序落实需求,最后由产品经理根据优先级对需求进行规划处理;
s2、规划版本,产品经理或者项目经理录入版本的开始与截止时间,并录入版本目标;
s3、需求整理,产品经理根据需求方录入的需求并结合系统本身的需求进行整理,形成需求清单;
s4、评审,进行需求评审确定要完成的需求;
s5、计划制定,产品经理或者项目经理根据需求方的要求制定出项目的整体计划;
s6、任务分解,相关负责人对需求进行任务拆分;
s7、原型设计,产品经理根据需求实现需求的静态或者动态原型的设计,并编写需求文档;
s8、界面设计,原型评审通过后,产品经理进行需求讲解,并交由美工进行界面设计;界面设计完成后,由产品经理进行界面的验收,验收通过后,交由前端人员开发;
s9、前端实现,前端人员接收到界面后,进行前端代码的编写;编写完成后,由产品经理进行界面的验收,验收通过后,在交由后端人员开发;
s10、编码实现,开发人员根据需求规格说明书及概要设计进行功能的开发,开发完成后,需要进行自测,自测通过后,交由产品经理验收;
s11、验收提测,开发人员完成开发后,不仅需要测试人员对产品进行测试,产品经理也需要对其进行验收;产品经理验收通过后,由开发负责人/产品经理进行提测;
s12、环境部署,提测后由测试人员按照提测单中提供的补丁文件、sql脚本、版本发布说明、部署说明并利用持续集成进行环境的部署;
s13、测试阶段,部署通过后,冒烟测试通过后,测试人员根据测试计划及用例安排进行功能测试,测试过程中持续更新用例状态;测试过程中记录缺陷,并提交给对应开发人员;
s14、缺陷修复,开发人员完成缺陷修复,修复后提交测试人员进行验证,直到验证通过为止;
s15、回归测试,功能全部开发完成且功能测试缺陷修复满足要求后,测试人员进行回归;
s16、验收上线,若达到发布标准后,则由测试人员进行相关文档补充,并通知需求方。
s17、需求确认关闭,需求方最后根据需求的完成情况对需求进行确认关闭。
本发明的有益效果是:1、敏捷开发:融入敏捷的设计理念,可快速完成敏捷迭代计划,缩短迭代周期,降低了沟通成本,提高了工作效率。2、管理者助手:可视化进度跟踪,决策分析让产品动态一目了然,从不同维度对产品进行分析,随时了解代码规范程度和测试进度。3、信息化建设:功能关联产品和版本,变更可记录,经验可传承,对接rtx消息,项目动态及时掌控。4、自动化:按需定制流水线,指定任务并行/串行执行,可一键触发,亦可定时触发,帮助企业缩短交付周期,提升交付效率。4、高安全:多方位系统安全加固,核心研发数据加密传输和存储,全面保障企业研发数据的安全。
附图说明
图1为实施例中的系统结构图。
图2为实施例中的系统流程图。
图3为实施例中的持续集成流程图。
具体实施方式
本实施例为一种基于devops的完整生命周期管理平台,从需求的收集到需求规划,生成相应的测试和开发任务,最后集成jenkins、sonar等开源平台搭建一套持续集成平台。
本例通过集成产品管理、代码检查、应用部署、自动化测试、流水线、性能测试、接口测试等模块建设一体的一站式平台,项目数据多维度展示,所有功能使用持续集成打通,做到自动化,加速迭代周期,提升团队成熟度,实现更快、更高质量、更高用户体验的业务需求。
本实施例中管理平台建设内容包括产品管理服务模块、持续集成服务模块、代码自检服务模块、测试管理服务模块和产品仓库服务模块。
本实施例中产品管理服务模块用于需求的收集、排期、处理、关闭操作,适用于敏捷交付和外部协作管理。产品管理服务包括:需求池模块、决策分析模块、周报模块、产品管理模块、需求管理模块、计划管理模块、任务管理模块、提测单模块、测试用例模块和缺陷管理模块。
本例中需求池模块用于需求和外部缺陷的收集、排序和处理,轻松跟进需求的进展情况。决策分析模块用于对产品和版本进行数据分析,包括需求、任务、工时、缺陷等数据的分析;领导通过决策分析可随时掌握项目的整体情况,及时化解潜在风险。周报模块自动生成周报内容,用于汇总部门个人本周的工作情况和下周的工作安排。产品管理模块用于创建产品和版本,根据产品线划分产品,并分为产品卡片和产品列表两种展示方式。需求管理模块在版本下创建和规划该版本的需求,并对需求进一步的处理,可分解任务、测试用例、提测等操作;便于产品经理对产品当前版本的需求和产品进度的把控。计划管理模块为产品目标规划多个里程碑,将需求和缺陷合理安排工期,团队成员清晰了解版本进度。任务管理模块具有任务支持列表和看板的模式,一键生成任务,任务积分自动推送绩效考核系统,为最后的绩效提供依据。提测单模块需求开发完成后,可对需求进行提测,在需求管理界面可单独提测,也可批量进行提测;确认提测后,跟进需求内容自动生成测试任务。测试用例模块按照统一规范,快速优雅地撰写用例,为用例设置等级和维护人;使用灵活的层级分类,轻松组织测试用例库。缺陷管理模块在执行测试阶段,测试人员发现并录入缺陷,开发人员收到缺陷后,处理缺陷,最后由测试人员跟进缺陷的解决情况来关闭缺陷。
本实施例中持续集成服务模块,集成业界主流研发工具,为用户提供可视化、可定制的一体化功能;支持一键式部署,并行部署服务和流水线无缝集成。
持续集成强调开发人员提交了新代码之后,立刻进行构建、代码检查,根据检查结果,可以确定新代码和原有代码能否正确地集成在一起。持续部署是通过自动化的构建、测试和部署循环来快速交付高质量的产品。集成是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题;部署是代码尽快向可运行的开发/测试节点交付,以便尽早测试;交付是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题。持续就是说每完成一个完整的部分,就向下个环节交付,发现问题可以马上调整。使得问题不会放大到其他部分和后面的环节才被发现。
本实施例中持续集成服务模块包括:流水线模块、编译打包模块、部署任务模块和服务列表模块。
本例中流水线模块可按需定制流水线流程及其他任务,并可指定任务串行/并行执行,亦可设置自动执行。编译打包模块支持maven和ant两张打包方式,自动获取代码,可视化界面查看日志信息。部署任务模块支持多种语言java、python、nodejs等部署,支持用户自定义shell脚本部署,也支持用户进行容器部署。服务列表模块用于监控所运行的服务状态及对服务进行启动、停止、重启等操作。
本实施例中代码自检服务模块为用户提供在编码完成后执行多语言的代码静态检查和安全检查,获取全面的质量报告,并提供缺陷的改进建议和趋势分析。
本例中代码自检服务模块包括findbugs模块和代码检查模块,其中findbugs模块,任务一键执行,批量过滤缺陷,分级分类快速处理,执行过程中提供实时的日志监控及完成后的消息通知;代码检查模块:提供近千条典型检查规则,提供多维度质量统计报表及近5次检查趋势图,缺陷自动分配用户,精确定位缺陷,提供修复指导。
本实施例中测试管理服务模块,为用户提供多场景的接口、性能、自动化测试,将界面做到可视化,简洁化,方便用户操作,以插件的形式安装方便快捷,并支持在线录制回放脚本,确保测试步骤的准确性。
本例中测试管理服务包括:接口测试模块,为用户提供在页面和功能没有完全完成之前,检验接口的正确性;性能测试模块,在线性能测试平台,有别于传统工具的反复,支持http或https协议,模拟多用户并发场景,适用各类压测场景,帮助用户提前发现性能问题;ui自动化测试模块,以插件的形式安装,方便快捷,并支持在线录制和回放脚本,用户还可以通过定制场景,根据系统测试需要,批量添加脚本,有计划地智能回归测试系统;配置管理模块,配置性能测试和持续集成中所需的主机管理。
本实施例中产品仓库服务模块,面向用户提供软件发布的服务,存放部署包、测试报告和产品白皮书等文档,便于用户在同一个平台即可获取不同产品的资料。
本例中产品仓库服务服务包括:测试仓库模块,测试仓库存放编译过程中推送过来的软件包,默认推送到测试仓库;正式仓库模块,正式仓库除了存放测试仓库推送过来的软件包,还能上传其他相关资料;知识沉淀模块,沉淀汇总文档资料、设计资产、版本信息和更新记录等,文档资料设计资产不在散落在邮件、云盘和个人电脑中,可在线编辑所有成员都能轻松找到所需文件,版本信息和更新记录都清晰可见。
本实施例中平台整体功能架构总体分为2个层次,分别为:
一、后端管理平台
后端管理平台主要包括用户中心、模块管理、权限管理、门户管理、资源管理等主要功能。用户中心主要用于获取平台的用户及组织架构。模块管理是对前端应用平台的模块进行维护。权限管理是对平台各个角色的权限进行维护。门户管理主要针对用户个性化设置。资源管理用于管理平台的图片、文档资源的编辑及查看等服务。
二、前端应用平台
前端应用平台主要包括产品管理、持续集成、测试管理、知识沉淀四大主要功能模块,将项目需求、开发测试、部署进行统一的管理,实现研发运行一体化闭环管理,大幅提升研发运行效率,其中各功能模块子系统主要功能描述如下:
1、产品管理,用于项目过程中需求、计划、任务、缺陷、测试用例的收集、排期、处理、关闭等操作,适用于敏捷交付和外部协作管理,可视化跟踪迭代的进度,任务进度一目了然。
2、持续集成,集成业界主流研发工具,为用户提供可视化、可定制的一体化功能。支持一键式部署,并行部署服务和流水线无缝集成。帮助企业缩短交付周期,提升交付效率。
3、测试管理,为用户提供多场景的接口、性能、自动化测试,将界面做到可视化,简洁化,方便用户操作,以插件的形式安装方便快捷,并支持在线录制回放脚本,确保测试步骤的准确性。
4、知识沉淀,面向用户提供软件发布的服务,存放部署包、测试报告和产品白皮书等文档,便于用户在同一个平台即可获取不同产品的资料。
采用本实施例基于devops的完整生命周期管理平台的完整生命周期管理方法,包括以下步骤:
s1、需求收集,需求方在需求池中录入需求,由需求对接人规划需求的优先等级,有序落实需求,最后由产品经理根据优先级对需求进行规划处理。
s2、规划版本,产品经理或者项目经理录入版本的开始与截止时间,并录入版本目标。
s3、需求整理,产品经理根据需求方录入的需求并结合系统本身的需求进行整理,最终形成需求清单。
s4、评审,由产品经理或者项目经理通知项目成员进行需求评审确定本次要完成的需求。
s5、计划制定,产品经理或者项目经理根据需求方的要求制定出项目的整体计划,包括ui设计完成时间、开发完成时间等。
s6、任务分解,相关负责人对需求进行任务拆分,可拆分为产品、美工、前端、开发、测试等任务,任务进行实时跟踪。
本实施例中在任务完成后,会生成任务积分推送至考核系统,并同步生成个人的周报、月报等。
s7、原型设计,产品经理根据需求实现需求的静态或者动态原型的设计,并编写需求文档。
s8、界面设计,原型评审通过后,产品经理进行需求讲解,并交由美工进行界面设计。界面设计完成后,由产品经理进行界面的验收,没有问题后,在交由前端人员开发。
s9、前端实现,前端人员接收到界面后,进行前端代码的编写,编写完成后,由产品经理进行界面的验收,没有问题后,在交由后端人员开发。
s10、编码实现,开发人员根据需求规格说明书及概要设计进行功能的开发,开发完成后,需要进行自测,自测通过后,交由产品经理验收。
s11、验收提测,开发人员完成开发后,不仅需要测试同学对产品进行测试,产品经理也需要对其进行验收。开发完的产品不可避免的会与产品定义出现偏差。若产品经理验收通过后,主流程没有问题,可由开发负责人/产品经理进行提测。
s12、环境部署,提测后由测试人员按照提测单中提供的补丁文件、sql脚本、版本发布说明、部署说明并利用持续集成进行环境的部署。
s13、测试阶段,部署通过后,冒烟(接口)测试通过后,测试人员根据测试计划及用例安排进行功能测试,测试过程中持续更新用例状态,避免漏测。测试过程中记录缺陷,并提交给对应开发人员。
s14、缺陷修复,开发人员完成缺陷修复,修复后提交测试人员进行验证,直到验证通过为止。
s15、回归测试,功能全部开发完成且功能测试缺陷修复满足要求后,测试人员进行回归(自动化、性能、安全测试)等。
s16、验收上线,若达到发布标准后,则由测试人员进行相关文档补充,并通知需求方。
s17、需求确认关闭,需求方最后根据需求的完成情况对需求进行确认关闭。
1.一种基于devops的完整生命周期管理平台,其特征在于,包括:
产品管理服务模块,用于需求的收集、规划,并生成相应的测试和开发任务;
持续集成服务模块;用于提供可视化、可定制的一体化功能,支持一键式部署,并行部署服务、与流水线无缝集成;
代码自检服务模块,用于在编码完成后执行多语言的代码静态检查和安全检查,获取全面的质量报告,并提供缺陷的改进建议和趋势分析;
测试管理服务模块,用于提供多场景的接口、性能、自动化测试;
产品仓库服务,用于提供软件发布的服务,存放部署包、测试报告和产品白皮书等产品资料文档,便于用户在同一个平台即可获取不同产品的资料。
2.根据权利要求1所述的基于devops的完整生命周期管理平台,其特征在于,所述产品管理服务模块,包括:
工作台:用户登录后,默认展示工作台界面,可以用于日常的工作处理包括缺陷、任务、需求、工作日志的填写等操作;
需求池模块,用于需求和外部缺陷的收集、排序和处理;
决策分析模块,用于对产品和版本进行数据分析;
周报模块:用于汇总部门个人本周的工作情况和下周的工作安排;
产品管理模块,用于创建产品和版本,根据产品线划分产品,并分为产品卡片和产品列表两种展示方式;
需求管理模块,用于在版本下创建和规划该版本的需求,并对需求进一步的处理,包括分解任务、测试用例、提测;
计划管理模块,用于为产品目标规划多个里程碑,将需求和缺陷合理安排工期;
任务管理模块,具有任务支持列表和看板的模式,用于一键生成任务,以及将任务积分自动推送绩效考核系统;
提测单模块,用于在需求开发完成后,对需求进行提测,确认提测后,跟进需求内容自动生成测试任务;
测试用例模块,用于按照统一规范,撰写用例,为用例设置等级和维护人,使用灵活的层级分类,轻松组织测试用例库;
缺陷管理模块,用于在执行测试阶段,获取测试人员发现并录入的缺陷,并发送给开发人员;并在开发人员处理缺陷后,供测试人员跟进缺陷的解决情况来关闭缺陷。
3.根据权利要求1所述的所述的基于devops的完整生命周期管理平台,其特征在于,所述持续集成服务模块,包括:
流水线模块,用于按需定制流水线流程;
编译打包模块,支持maven和ant两张打包方式,用于自动获取代码,提供可视化界面查看日志信息;
部署任务模块,支持多种语言部署,支持用户自定义shell脚本部署,也支持用户进行容器部署;
服务列表模块,用于监控所运行的服务状态及对服务进行启动、停止、重启操作。
4.根据权利要求1所述的所述的基于devops的完整生命周期管理平台,其特征在于,所述代码自检服务模块,包括:
findbugs模块,用于批量过滤缺陷,分级分类快速处理,执行过程中提供实时的日志监控及完成后的消息通知;
代码检查模块,用于提供近千条典型检查规则,提供多维度质量统计报表及检查趋势图。
5.根据权利要求1所述的所述的基于devops的完整生命周期管理平台,其特征在于,所述测试管理服务模块,包括:
接口测试模块,用于在页面和功能没有完全完成之前,检验接口的正确性;
性能测试模块,用于在线性能测试,支持http或https协议,模拟多用户并发场景,适用各类压测场景,帮助用户提前发现性能问题;
ui自动化测试模块,以插件的形式安装,支持在线录制和回放脚本,可通过定制场景,根据系统测试需要,批量添加脚本,有计划地智能回归测试系统;
配置管理模块,用于配置性能测试和持续集成中所需的主机管理。
6.根据权利要求1所述的所述的基于devops的完整生命周期管理平台,其特征在于,所述产品仓库服务服务模块,包括:
测试仓库模块,用于测试仓库存放编译过程中推送过来的软件包,默认推送到测试仓库;
正式仓库模块,用于存放测试仓库推送过来的软件包;
知识沉淀模块,用于沉淀汇总文档资料、设计资产、版本信息和更新记录。
7.一种利用权利要求1~6任意一项所述管理平台的管理方法,其特征在于:
s1、需求收集,需求方在需求池中录入需求,由需求对接人规划需求的优先等级,有序落实需求,最后由产品经理根据优先级对需求进行规划处理;
s2、规划版本,产品经理或者项目经理录入版本的开始与截止时间,并录入版本目标;
s3、需求整理,产品经理根据需求方录入的需求并结合系统本身的需求进行整理,形成需求清单;
s4、评审,进行需求评审确定要完成的需求;
s5、计划制定,产品经理或者项目经理根据需求方的要求制定出项目的整体计划;
s6、任务分解,相关负责人对需求进行任务拆分;
s7、原型设计,产品经理根据需求实现需求的静态或者动态原型的设计,并编写需求文档;
s8、界面设计,原型评审通过后,产品经理进行需求讲解,并交由美工进行界面设计;界面设计完成后,由产品经理进行界面的验收,验收通过后,交由前端人员开发;
s9、前端实现,前端人员接收到界面后,进行前端代码的编写;编写完成后,由产品经理进行界面的验收,验收通过后,在交由后端人员开发;
s10、编码实现,开发人员根据需求规格说明书及概要设计进行功能的开发,开发完成后,需要进行自测,自测通过后,交由产品经理验收;
s11、验收提测,开发人员完成开发后,不仅需要测试人员对产品进行测试,产品经理也需要对其进行验收;产品经理验收通过后,由开发负责人/产品经理进行提测;
s12、环境部署,提测后由测试人员按照提测单中提供的补丁文件、sql脚本、版本发布说明、部署说明并利用持续集成进行环境的部署;
s13、测试阶段,部署通过后,冒烟测试通过后,测试人员根据测试计划及用例安排进行功能测试,测试过程中持续更新用例状态;测试过程中记录缺陷,并提交给对应开发人员;
s14、缺陷修复,开发人员完成缺陷修复,修复后提交测试人员进行验证,直到验证通过为止;
s15、回归测试,功能全部开发完成且功能测试缺陷修复满足要求后,测试人员进行回归;
s16、验收上线,若达到发布标准后,则由测试人员进行相关文档补充,并通知需求方。
s17、需求确认关闭,需求方最后根据需求的完成情况对需求进行确认关闭。
技术总结