CN113065737A - 一种基于DevOps的效能度量方法和系统 - Google Patents
一种基于DevOps的效能度量方法和系统 Download PDFInfo
- Publication number
- CN113065737A CN113065737A CN202110154931.7A CN202110154931A CN113065737A CN 113065737 A CN113065737 A CN 113065737A CN 202110154931 A CN202110154931 A CN 202110154931A CN 113065737 A CN113065737 A CN 113065737A
- Authority
- CN
- China
- Prior art keywords
- data
- devops
- platform
- splunk
- defect
- 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.)
- Pending
Links
- 238000000691 measurement method Methods 0.000 title claims abstract description 9
- 238000005259 measurement Methods 0.000 claims abstract description 55
- 238000007405 data analysis Methods 0.000 claims abstract description 46
- 230000007547 defect Effects 0.000 claims description 135
- 238000000034 method Methods 0.000 claims description 35
- 238000004458 analytical method Methods 0.000 claims description 20
- 238000010276 construction Methods 0.000 claims description 18
- 238000013480 data collection Methods 0.000 claims description 4
- 238000012827 research and development Methods 0.000 abstract description 10
- 230000000007 visual effect Effects 0.000 abstract description 8
- 230000006872 improvement Effects 0.000 abstract description 2
- 230000001737 promoting effect Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 17
- 238000004140 cleaning Methods 0.000 description 12
- 238000007619 statistical method Methods 0.000 description 12
- 238000012217 deletion Methods 0.000 description 11
- 230000037430 deletion Effects 0.000 description 11
- 238000001514 detection method Methods 0.000 description 10
- 238000011161 development Methods 0.000 description 9
- 238000012800 visualization Methods 0.000 description 8
- 230000018109 developmental process Effects 0.000 description 7
- 238000013079 data visualisation Methods 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003203 everyday effect Effects 0.000 description 4
- 230000008439 repair process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000002354 daily effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000275 quality assurance Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Probability & Statistics with Applications (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Fuzzy Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了基于DevOps的效能度量方法和系统,通过将DevOps平台的数据进行收集、分析,实现对研发人员的日常工作、系统质量、研发进度等进行动态化、可视化的描绘,不仅可以有效的度量研发人员的效能,而且可以促进工作效率、产品质量的提升。其技术方案为:采集DevOps平台的数据并进行统一格式的存储;Splunk转发器转发经统一格式存储的采集数据到Splunk平台;Splunk平台对转发的数据进行数据分析得到度量结果;Splunk平台或者DevOps平台将度量结果提供给登录用户查看。
Description
技术领域
本发明涉及一种效能度量技术,具体涉及基于DevOps(Development&Operations)实现的效能度量方法和系统。
背景技术
DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
DevOps包含三个部分:开发、测试和运维。换句话说,DevOps希望做到的是软件产品交付过程中IT工具链的打通,使得各个团队减少时间损耗,更加高效地协同工作。
Devops的实现需要打通工具链,主要包括代码管理(github、gitlab等)、数据库(mysql等)、构建工具(maven等)、持续集成(Jenkins等)、项目管理(jira等)等。各工具大都保存的研发人员的工作记录,包括:代码提交记录、缺陷记录、构建部署记录、测试用例执行记录等等,有了这些记录,便可以对其进行有效的利用,对研发者的效能进行有效的度量。有效可靠的度量不仅可以改进研发人员的工作效率,而且也可以提高产品质量。
度量可以对人度量,也可以对事度量。对于IT公司而言,对人的度量可以有代码量、代码质量、工作时长、发现缺陷总数等等。这种类型的度量较为简单,计算方法不会特别复杂。针对事度量的范畴和方法更加灵活。既包括简单的数值指标,如构建发布频率、交付周期等,也包括需要对比分析的多元指标,譬如需求在各阶段的停留时长、缺陷在各环境的漏测率等,对事度量经常需要将一组数据向上聚合(譬如整个部门、整个项目的情况)或者跨领域关联(譬如业务领域需求关联到相关代码提交情况),从而获得更宽的观察视角。
度量过程主要包括指标指定、数据收集、数据分析等过程,DevOps平台的数据可以从数据库、平台API接口等获得,方便自动化收集工具的开发,而且可以转换为统一的格式,方便后续数据分析。数据分析可以使用Python、Splunk等工具。便捷的数据收集以及数据分析工具,极大的方便了自动度量的实现。
DevOps平台可以促进开发、测试、保障的协同工作,而且大大提高的系统开发上线部署的效率。在系统交付上线之前,DevOps平台保留了研发人员大量的工作记录,git中的代码、jira中的缺陷,数据库中的操作记录等等,这些数据实实在在反应了研发人员的日常工作,但是并没有合理的利用起来,导致了数据的浪费。
因此,如何有效利用这些数据来促进IT开发效率和产品质量的提升,是目前业界亟待解决的问题。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
本发明的目的在于解决这一问题,提出了一种基于DevOps的效能度量方法和系统,通过将DevOps平台的数据进行收集、分析,实现对研发人员的日常工作、系统质量、研发进度等进行动态化、可视化的描绘,不仅可以有效的度量研发人员的效能,而且可以促进工作效率、产品质量的提升。
本发明的技术方案为:本发明还揭示了一种基于DevOps的效能度量方法,方法包括:
步骤1:采集DevOps平台的数据并进行统一格式的存储;
步骤2:Splunk转发器转发经统一格式存储的采集数据到Splunk平台;
步骤3:Splunk平台对转发的数据进行数据分析得到度量结果;
步骤4:Splunk平台或者DevOps平台将度量结果提供给登录用户查看。
根据本发明的基于DevOps的效能度量方法的一实施例,步骤1进一步包括:
自动定时收集多个工具软件的更新数据,然后统一存储成json格式,其中采集的数据包括git、MySQL、jira软件的数据,其中git数据用于记录各开发人员的代码提交记录,包括提交时间、增删代码量、提交意图,jira数据用于记录各系统的缺陷数量、缺陷解决时间、解决结果,MySQL用于记录DevOps平台的运行记录,包括构建、部署、发布。
根据本发明的基于DevOps的效能度量方法的一实施例,步骤3中的度量结果可视化展示,包括Splunk展板、报表。
根据本发明的基于DevOps的效能度量方法的一实施例,步骤3中的数据分析是通过编写Spl程序实现度量模型来完成代码分析数据。数据分析部分主要是对java工具自动收集的工具进行过滤、筛选,然后根据模型查出需要展示的数据。
根据本发明的基于DevOps的效能度量方法的一实施例,在步骤4中,还根据用户属性的不同设置不同的权限,根据设置的权限的不同展示不同的度量结果,从而实现定制化的度量及结果展示。
本发明还揭示了一种基于DevOps的效能度量系统,系统包括:
数据采集模块,采集DevOps平台的数据并进行统一格式的存储;
数据转发模块,Splunk转发器转发经统一格式存储的采集数据到Splunk平台;
数据分析模块,Splunk平台对转发的数据进行数据分析得到度量结果;
结果查看模块,Splunk平台或者DevOps平台将度量结果提供给登录用户查看。
根据本发明的基于DevOps的效能度量系统的一实施例,数据采集模块进一步配置为自动定时收集多个工具软件的更新数据,然后统一存储成json格式,其中采集的数据包括git、MySQL、jira软件的数据,其中git数据用于记录各开发人员的代码提交记录,包括提交时间、增删代码量、提交意图,jira数据用于记录各系统的缺陷数量、缺陷解决时间、解决结果,MySQL用于记录DevOps平台的运行记录,包括构建、部署、发布。
根据本发明的基于DevOps的效能度量系统的一实施例,数据分析模块中的度量结果可视化展示,包括Splunk展板、报表。
根据本发明的基于DevOps的效能度量系统的一实施例,数据分析模块中的数据分析是通过编写Spl程序实现度量模型来完成代码分析数据。
根据本发明的基于DevOps的效能度量系统的一实施例,结果查看模块还包括根据用户属性的不同设置不同的权限,根据设置的权限的不同展示不同的度量结果,从而实现定制化的度量及结果展示。
本发明对比现有技术有如下的有益效果:本发明解决了git、mysql、jira等软件之间的数据隔离问题,能够将数据进行统一收集、统一处理。本发明还能够基于DevOps平台,根据度量模型,将平台运行数据进行可视化展示,有效的度量人员效能、系统质量。此外,本发明结合用户中心,设置不同的权限,可进行定制化的度量和结果展示。
附图说明
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
图1示出了本发明的基于DevOps的效能度量方法的一实施例的流程图。
图2示出了本发明的基于DevOps的效能度量系统的一实施例的原理图。
图3示出了本发明中的git代码度量模型的原理图。
图4示出了本发明中的jira缺陷度量模型的原理图。
图5示出了本发明中的Devops平台度量模型的原理图。
具体实施方式
以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。
图1示出了本发明的基于DevOps的效能度量方法的一实施例的流程。请参见图1,本实施例的方法的实施步骤详述如下。
步骤1:采集DevOps平台的数据并进行统一格式的存储,其中数据包括git、MySQL、jira等。
在本步骤中,数据采集主要涉及到git、jira、mysql等平台软件工具,git中记录了各开发人员的代码提交记录,包括提交时间、增删代码量、提交意图等等,jira中记录了各系统的缺陷数量、缺陷解决时间、解决结果等等,mysql中记录了DevOps平台的运行记录,包括构建、部署、发布等信息。
通过自动化收集工具,定时收集各工具软件的更新数据,然后统一存储成json格式,从而解决了不同软件之间的数据隔离问题。自动收集工具为java编写,其中git、jira数据主要是调用git、jira等自身api接口实现数据获取,mysql中数据主要通过直接查询数据库的方式获取。
步骤2:Splunk转发器转发经统一格式存储的采集数据到Splunk平台。
步骤3:Splunk平台对转发的数据进行数据分析得到度量结果,度量结果可视化展示。
数据分析主要包括两部分,一部分是代码分析数据,一部分是可视化展示分析结果。
数据分析部分主要是对java工具自动收集的工具进行过滤、筛选,然后根据模型查出需要展示的数据。数据分析的处理在Splunk平台完成,通过编写Spl程序实现模型来完成代码分析数据。本实施例的模型主要包括三部分,一部分是git代码度量模型,一部分是jira缺陷度量模型,另外一部分是DevOps运行度量模型。
git代码度量模型主要涉及到数据输入、数据清洗、数据分析、数据展示四部分。数据分析用于根据过滤的数据进行不同维度的统计,其中所涉及到的统计条件都在git提交信息中,通过正则表达式提取出有效信息,进行分类统计分析,然后整合不同的统计结果,进行可视化展示。其中涉及代码净增量,代码有效增、减量主要计算公式如下:
上式中,line为单次提交的增加、删除代码行数,Lines为计算后的有效增、减行数。
RL=addLines-delLines
其中RL为单次提交的代码净增行数,addLines和delLines分别为单次提交的有效增加行数以及有效删除行数。
代码提交量主要是是根据条件(部门、用户、时间、项目)对提交次数进行求和。
图3示出了本发明中的git代码度量模型的原理,输入的数据经过图3所示的数据清洗和预处理的过程,在数据分析的过程中基于git代码度量模型进行处理,具体包括图示的按部门、时间统计代码新增、删除量和代码提交量,按部门统计提交次数、新增代码、删除代码、净增加代码趋势,按人员、项目统计代码提交量、新增删除代码趋势,按人员统计代码提交量、新增删除量,按部门、提交类型统计提交量、代码新增删除量。在后续的数据可视化的过程中可视化展示以下内容:公司每天代码分析结果,部门每天、每月、不同项目代码分析结果,人员代码分析结果,项目代码分析结果。
jira缺陷度量模型包括数据输入、数据清洗、数据分析、数据展示四部分。数据分析用于计算缺陷探测率、缺陷密度、各缺陷占比(有效缺陷、遗留缺陷、重开缺陷占总缺陷比例)、缺陷修复速率。
其中有效缺陷主要包括缺陷解决结果为:解决、未解决、未完成、延迟解决、不解决5种。遗留缺陷主要包括缺陷解决结果为:延迟解决和不解决2种缺陷。线上缺陷以及重开缺陷可以通过缺陷标识位可以进行区分。
缺陷探测率表示发现有效缺陷的能力,计算公式如下:
br=efr(efr+evr)*100%
上式中,efr为有效缺陷数量,evr为线上缺陷数量,br为缺陷探测率。
缺陷密度(千行代码缺陷数量)计算方法为:
上式中,erf为有效缺陷数量,l为代码总行数,bd为缺陷密度。
涉及到的缺陷总数主要是根据不同的条件对缺陷数量求和。涉及到的缺陷占比主要是各缺陷占总发现缺陷的比例。缺陷修复速率主要统计解决缺陷耗时天数的分布,耗时为缺陷解决日期-缺陷创建日期。
图4示出了本发明的jira缺陷度量模型的原理,输入的数据经过图4所示的数据清洗和预处理的过程,在数据分析的过程中基于jira缺陷度量模型进行处理,包括按部门、时间统计有效缺陷、线上缺陷、遗留缺陷、重开缺陷、缺陷密度、缺陷探测率、各缺陷占比,按部门、缺陷严重级别进行统计分析,按部门、缺陷类型进行统计分析,按测试人员、开发人员、项目进行统计分析,按项目代码量、项目缺陷量进行统计分析。在后续的数据可视化的过程中可视化展示以下内容:部门缺陷总数、有效缺陷、线上缺陷、遗留缺陷、重开缺陷、缺陷密度、缺陷探测率、缺陷占比,部门缺陷修复速率,部门缺陷走势,缺陷严重级别、缺陷类型分布,缺陷关系图(测试、项目-开发对应关系图)
图5示出了本发明的Devops平台度量模型的原理,主要包括数据输入、数据清洗、数据分析、数据展示四部分。输入的数据经过图5所示的数据清洗和预处理的过程,在数据分析过程中主要对构建、部署、发布情况进行分析,具体包括按部门、时间统计构建、发布、部署次数,按项目、时间统计构建、发布、部署次数。在后续的数据可视化的过程中可视化展示以下内容:部门构建、发布、部署情况(总量、趋势)展示,项目构建、发布、部署情况(总量、趋势)展示。
另一部分的可视化展示分析结果是通过Splunk展板、报表来进行。具体而言,可视化部分基于现有Splunk仪表板以及Splunk可视化插件来实现,只需要根据相应的可视化模块的数据格式要求输出相应的数据即可进行可视化展示。
步骤4:Splunk平台或者DevOps平台将度量结果提供给登录用户查看。
由于git,jira等平台没有用户数据,所有的用户数据在统一的认证中心,因为还涉及到Splunk平台与认证中心的对接,例如可以通过用户邮箱来进行关联,可以根据部门、用户等维度进行分析。而且可根据用户属性的不同设置不同的权限,根据权限的不同展示不同的度量结果,从而实现定制化的度量及结果展示。
图2示出了本发明的基于DevOps的效能度量系统的一实施例的原理。请参见图2,本实施例的系统包括:数据采集模块、数据转发模块、数据分析模块、结果查看模块。
数据采集模块用于采集DevOps平台的数据并进行统一格式的存储。数据采集模块进一步配置为自动定时收集多个工具软件的更新数据,然后统一存储成json格式,从而解决了不同软件之间的数据隔离问题。其中采集的数据包括git、MySQL、jira软件的数据,其中git数据用于记录各开发人员的代码提交记录,包括提交时间、增删代码量、提交意图,jira数据用于记录各系统的缺陷数量、缺陷解决时间、解决结果,MySQL用于记录DevOps平台的运行记录,包括构建、部署、发布。
自动定时收集多个工具软件是通过java编写的自动收集工具来实现,其中git、jira数据主要是调用git、jira等自身api接口实现数据获取,mysql中数据主要通过直接查询数据库的方式获取。
数据转发模块配置为Splunk转发器转发经统一格式存储的采集数据到Splunk平台。
数据分析模块配置为Splunk平台对转发的数据进行数据分析得到度量结果。数据分析模块中的数据分析是通过编写Spl程序实现度量模型来完成代码分析数据,度量结果可视化展示,包括Splunk展板、报表。
数据分析主要包括两部分,一部分是代码分析数据,一部分是可视化展示分析结果。
数据分析部分主要是对java工具自动收集的工具进行过滤、筛选,然后根据模型查出需要展示的数据。数据分析的处理在Splunk平台完成,通过编写Spl程序实现模型来完成代码分析数据。本实施例的模型主要包括三部分,一部分是git代码度量模型,一部分是jira缺陷度量模型,另外一部分是DevOps运行度量模型。
git代码度量模型主要涉及到数据输入、数据清洗、数据分析、数据展示四部分。数据分析用于根据过滤的数据进行不同维度的统计,其中所涉及到的统计条件都在git提交信息中,通过正则表达式提取出有效信息,进行分类统计分析,然后整合不同的统计结果,进行可视化展示。其中涉及代码净增量,代码有效增、减量主要计算公式如下:
上式中,line为单次提交的增加、删除代码行数,Lines为计算后的有效增、减行数。
RL=addLines-delLines
其中RL为单次提交的代码净增行数,addLines和delLines分别为单次提交的有效增加行数以及有效删除行数。
代码提交量主要是是根据条件(部门、用户、时间、项目)对提交次数进行求和。
图3示出了本发明中的git代码度量模型的原理,输入的数据经过图3所示的数据清洗和预处理的过程,在数据分析的过程中基于git代码度量模型进行处理,具体包括图示的按部门、时间统计代码新增、删除量和代码提交量,按部门统计提交次数、新增代码、删除代码、净增加代码趋势,按人员、项目统计代码提交量、新增删除代码趋势,按人员统计代码提交量、新增删除量,按部门、提交类型统计提交量、代码新增删除量。在后续的数据可视化的过程中可视化展示以下内容:公司每天代码分析结果,部门每天、每月、不同项目代码分析结果,人员代码分析结果,项目代码分析结果。
jira缺陷度量模型包括数据输入、数据清洗、数据分析、数据展示四部分。数据分析用于计算缺陷探测率、缺陷密度、各缺陷占比(有效缺陷、遗留缺陷、重开缺陷占总缺陷比例)、缺陷修复速率。
其中有效缺陷主要包括缺陷解决结果为:解决、未解决、未完成、延迟解决、不解决5种。遗留缺陷主要包括缺陷解决结果为:延迟解决和不解决2种缺陷。线上缺陷以及重开缺陷可以通过缺陷标识位可以进行区分。
缺陷探测率表示发现有效缺陷的能力,计算公式如下:
br=efr(efr+evr)*100%
上式中,efr为有效缺陷数量,evr为线上缺陷数量,br为缺陷探测率。
缺陷密度(千行代码缺陷数量)计算方法为:
上式中,erf为有效缺陷数量,l为代码总行数,bd为缺陷密度。
涉及到的缺陷总数主要是根据不同的条件对缺陷数量求和。涉及到的缺陷占比主要是各缺陷占总发现缺陷的比例。缺陷修复速率主要统计解决缺陷耗时天数的分布,耗时为缺陷解决日期-缺陷创建日期。
图4示出了本发明的jira缺陷度量模型的原理,输入的数据经过图4所示的数据清洗和预处理的过程,在数据分析的过程中基于jira缺陷度量模型进行处理,包括按部门、时间统计有效缺陷、线上缺陷、遗留缺陷、重开缺陷、缺陷密度、缺陷探测率、各缺陷占比,按部门、缺陷严重级别进行统计分析,按部门、缺陷类型进行统计分析,按测试人员、开发人员、项目进行统计分析,按项目代码量、项目缺陷量进行统计分析。在后续的数据可视化的过程中可视化展示以下内容:部门缺陷总数、有效缺陷、线上缺陷、遗留缺陷、重开缺陷、缺陷密度、缺陷探测率、缺陷占比,部门缺陷修复速率,部门缺陷走势,缺陷严重级别、缺陷类型分布,缺陷关系图(测试、项目-开发对应关系图)
图5示出了本发明的Devops平台度量模型的原理,主要包括数据输入、数据清洗、数据分析、数据展示四部分。输入的数据经过图5所示的数据清洗和预处理的过程,在数据分析过程中主要对构建、部署、发布情况进行分析,具体包括按部门、时间统计构建、发布、部署次数,按项目、时间统计构建、发布、部署次数。在后续的数据可视化的过程中可视化展示以下内容:部门构建、发布、部署情况(总量、趋势)展示,项目构建、发布、部署情况(总量、趋势)展示。
另一部分的可视化展示分析结果是通过Splunk展板、报表来进行。具体而言,可视化部分基于现有Splunk仪表板以及Splunk可视化插件来实现,只需要根据相应的可视化模块的数据格式要求输出相应的数据即可进行可视化展示。
结果查看模块配置为Splunk平台或者DevOps平台将度量结果提供给登录用户查看。结果查看模块还配置根据用户属性的不同设置不同的权限,根据设置的权限的不同展示不同的度量结果,从而实现定制化的度量及结果展示。
尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
Claims (10)
1.一种基于DevOps的效能度量方法,其特征在于,方法包括:
步骤1:采集DevOps平台的数据并进行统一格式的存储;
步骤2:Splunk转发器转发经统一格式存储的采集数据到Splunk平台;
步骤3:Splunk平台对转发的数据进行数据分析得到度量结果;
步骤4:Splunk平台或者DevOps平台将度量结果提供给登录用户查看。
2.根据权利要求1所述的基于DevOps的效能度量方法,其特征在于,步骤1进一步包括:
自动定时收集多个工具软件的更新数据,然后统一存储成json格式,其中采集的数据包括git、MySQL、jira软件的数据,其中git数据用于记录各开发人员的代码提交记录,包括提交时间、增删代码量、提交意图,jira数据用于记录各系统的缺陷数量、缺陷解决时间、解决结果,MySQL用于记录DevOps平台的运行记录,包括构建、部署、发布。
3.根据权利要求1所述的基于DevOps的效能度量方法,其特征在于,步骤3中的度量结果可视化展示,包括Splunk展板、报表。
4.根据权利要求1所述的基于DevOps的效能度量方法,其特征在于,步骤3中的数据分析是通过编写Spl程序实现度量模型来完成代码分析数据。
5.根据权利要求1所述的基于DevOps的效能度量方法,其特征在于,在步骤4中,还根据用户属性的不同设置不同的权限,根据设置的权限的不同展示不同的度量结果,从而实现定制化的度量及结果展示。
6.一种基于DevOps的效能度量系统,其特征在于,系统包括:
数据采集模块,采集DevOps平台的数据并进行统一格式的存储;
数据转发模块,Splunk转发器转发经统一格式存储的采集数据到Splunk平台;
数据分析模块,Splunk平台对转发的数据进行数据分析得到度量结果;
结果查看模块,Splunk平台或者DevOps平台将度量结果提供给登录用户查看。
7.根据权利要求6所述的基于DevOps的效能度量系统,其特征在于,数据采集模块进一步配置为自动定时收集多个工具软件的更新数据,然后统一存储成json格式,其中采集的数据包括git、MySQL、jira软件的数据,其中git数据用于记录各开发人员的代码提交记录,包括提交时间、增删代码量、提交意图,jira数据用于记录各系统的缺陷数量、缺陷解决时间、解决结果,MySQL用于记录DevOps平台的运行记录,包括构建、部署、发布。
8.根据权利要求6所述的基于DevOps的效能度量系统,其特征在于,数据分析模块中的度量结果可视化展示,包括Splunk展板、报表。
9.根据权利要求6所述的基于DevOps的效能度量系统,其特征在于,数据分析模块中的数据分析是通过编写Spl程序实现度量模型来完成代码分析数据。
10.根据权利要求6所述的基于DevOps的效能度量系统,其特征在于,结果查看模块还包括根据用户属性的不同设置不同的权限,根据设置的权限的不同展示不同的度量结果,从而实现定制化的度量及结果展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110154931.7A CN113065737A (zh) | 2021-02-04 | 2021-02-04 | 一种基于DevOps的效能度量方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110154931.7A CN113065737A (zh) | 2021-02-04 | 2021-02-04 | 一种基于DevOps的效能度量方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113065737A true CN113065737A (zh) | 2021-07-02 |
Family
ID=76558654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110154931.7A Pending CN113065737A (zh) | 2021-02-04 | 2021-02-04 | 一种基于DevOps的效能度量方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113065737A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327670A (zh) * | 2021-12-03 | 2022-04-12 | 上海金仕达软件科技有限公司 | 一体化配置处理的方法、装置以及存储介质 |
CN117131036A (zh) * | 2023-10-26 | 2023-11-28 | 环球数科集团有限公司 | 一种基于大数据和人工智能的数据维护系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959433A (zh) * | 2018-06-11 | 2018-12-07 | 北京大学 | 一种从软件项目数据中提取知识图谱并问答的方法与系统 |
CN109583839A (zh) * | 2018-12-03 | 2019-04-05 | 广东鸭梨科技集团股份有限公司 | 一种基于DevOps的研发管理系统和方法 |
CN109902279A (zh) * | 2019-01-15 | 2019-06-18 | 新智云数据服务有限公司 | 数据处理方法、装置、设备和存储介质 |
CN110532019A (zh) * | 2019-06-27 | 2019-12-03 | 北京大学 | 一种软件代码片段历史追溯的方法 |
CN111080257A (zh) * | 2019-12-17 | 2020-04-28 | 苏州博纳讯动软件有限公司 | 基于DevOps端到端在线研发管理的系统和方法 |
CN111581104A (zh) * | 2020-05-11 | 2020-08-25 | 雷涛 | 一种基于DevOps研发运营一体化的度量方法 |
CN112181954A (zh) * | 2020-08-31 | 2021-01-05 | 苏宁消费金融有限公司 | 一种以软件交付全链路数据进行度量设计的系统及方法 |
CN112184040A (zh) * | 2020-09-30 | 2021-01-05 | 南京大学 | 基于行为与学习数据进行软件工程能力评估的平台 |
-
2021
- 2021-02-04 CN CN202110154931.7A patent/CN113065737A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959433A (zh) * | 2018-06-11 | 2018-12-07 | 北京大学 | 一种从软件项目数据中提取知识图谱并问答的方法与系统 |
CN109583839A (zh) * | 2018-12-03 | 2019-04-05 | 广东鸭梨科技集团股份有限公司 | 一种基于DevOps的研发管理系统和方法 |
CN109902279A (zh) * | 2019-01-15 | 2019-06-18 | 新智云数据服务有限公司 | 数据处理方法、装置、设备和存储介质 |
CN110532019A (zh) * | 2019-06-27 | 2019-12-03 | 北京大学 | 一种软件代码片段历史追溯的方法 |
CN111080257A (zh) * | 2019-12-17 | 2020-04-28 | 苏州博纳讯动软件有限公司 | 基于DevOps端到端在线研发管理的系统和方法 |
CN111581104A (zh) * | 2020-05-11 | 2020-08-25 | 雷涛 | 一种基于DevOps研发运营一体化的度量方法 |
CN112181954A (zh) * | 2020-08-31 | 2021-01-05 | 苏宁消费金融有限公司 | 一种以软件交付全链路数据进行度量设计的系统及方法 |
CN112184040A (zh) * | 2020-09-30 | 2021-01-05 | 南京大学 | 基于行为与学习数据进行软件工程能力评估的平台 |
Non-Patent Citations (3)
Title |
---|
张思民: "《跨平台移动APP设计及应用》", 31 August 2017, 北京:中国铁道出版社, pages: 107 * |
张硕 等: "《软件测试实用案例教程》", 31 January 2020, 武汉:华中科技大学出版社, pages: 9 * |
邹艳珍 等: "基于大数据的软件项目知识图谱构造及问答方法", 大数据, 31 January 2021 (2021-01-31), pages 3 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327670A (zh) * | 2021-12-03 | 2022-04-12 | 上海金仕达软件科技有限公司 | 一体化配置处理的方法、装置以及存储介质 |
CN117131036A (zh) * | 2023-10-26 | 2023-11-28 | 环球数科集团有限公司 | 一种基于大数据和人工智能的数据维护系统 |
CN117131036B (zh) * | 2023-10-26 | 2023-12-22 | 环球数科集团有限公司 | 一种基于大数据和人工智能的数据维护系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110161132A1 (en) | Method and system for extracting process sequences | |
CN113065737A (zh) | 一种基于DevOps的效能度量方法和系统 | |
CN111898853A (zh) | 一种工程施工精细化管理系统 | |
CN110728422A (zh) | 用于施工项目的建筑信息模型、方法、装置和结算系统 | |
CN114281877A (zh) | 一种数据管理系统及方法 | |
CN114124743B (zh) | 一种数据应用全链路检查规则执行方法及系统 | |
US20030093720A1 (en) | Analytical server, program analysis network system, and program analysis method | |
CN107480188A (zh) | 一种审计业务数据处理方法和计算机设备 | |
CN112148587A (zh) | 一种软件测试管理系统和方法 | |
JP2013186768A (ja) | プロジェクト進捗管理システム及びプログラムを格納した記憶媒体 | |
CN113934406B (zh) | 基于迭代增量方式开发智能流程的电力工程审计系统及方法 | |
JP2003308421A (ja) | ビジネスプロセス可視化サービス | |
CN113919761A (zh) | 一种诉讼案件管理方法、系统及装置 | |
CN114418369A (zh) | 一种基于bim模型的计量支付方法和系统 | |
CN114138628A (zh) | 一种基于分层测试模型选取回归测试用例的方法、装置 | |
TWI550531B (zh) | 企業資源規劃績效評估系統及方法 | |
RU126858U1 (ru) | Автоматизированная система информационной поддержки системы качества при производстве конструкционно сложных изделий | |
CN116611798A (zh) | 一种矿用安全产品检测检验综合应用管理平台 | |
CN117610996A (zh) | 智能信息考核系统及其考核方法 | |
Dolák et al. | POSIBILITY OF USING LOGS FROM ERP SYSTEMS FOR PROCESS MINING ANALYSIS | |
JP2017187975A (ja) | 生産シミュレーション装置および生産シミュレーション方法 | |
CN114153486A (zh) | 一种软件开发质量管控方法、装置、电子设备及存储介质 | |
Gruber et al. | Tool Support for ISO 14598 based code quality assessments | |
Prasetyo | Measuring the Maturity Level of Core System Development Project in a Financial Company Using CMMI-DEV | |
CN117539775A (zh) | 一种软件开发测试质量度量方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |