CN112540912A - 一种软件质量评价方法及系统 - Google Patents
一种软件质量评价方法及系统 Download PDFInfo
- Publication number
- CN112540912A CN112540912A CN202011311518.9A CN202011311518A CN112540912A CN 112540912 A CN112540912 A CN 112540912A CN 202011311518 A CN202011311518 A CN 202011311518A CN 112540912 A CN112540912 A CN 112540912A
- Authority
- CN
- China
- Prior art keywords
- software
- evaluation
- score
- maturity
- quality evaluation
- 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
- 238000000034 method Methods 0.000 title claims abstract description 130
- 238000011156 evaluation Methods 0.000 claims abstract description 173
- 238000012360 testing method Methods 0.000 claims abstract description 84
- 230000008569 process Effects 0.000 claims abstract description 80
- 238000011161 development Methods 0.000 claims abstract description 58
- 238000012552 review Methods 0.000 claims description 45
- 238000013441 quality evaluation Methods 0.000 abstract description 4
- 238000013522 software testing Methods 0.000 abstract description 3
- 238000005259 measurement Methods 0.000 description 14
- 238000013461 design Methods 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 13
- 230000008520 organization Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000006872 improvement Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000007689 inspection Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013077 scoring method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000004064 dysfunction Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 239000013585 weight reducing agent Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- 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/06395—Quality analysis or management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Strategic Management (AREA)
- Educational Administration (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Software Systems (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种基于过程评估和测试结果的软件质量评价方法及系统,该方法包括:软件获取步骤,用于获取待评价软件;软件质量评价模型建立步骤,用于基于软件的研制过程评估与测试结果构建一软件质量评价模型;软件质量评价步骤,用于基于所述软件质量评价模型对所述待评价软件的研制过程评估与测试结果进行量化评分,并计算得到所述待识别软件质量的评价总评分。本发明采用上述方案,通过建立软件质量评价模型基于软件研制过程中的质量评审问题和软件测试过程中的问题实现快速估算软件质量。
Description
技术领域
本申请涉及软件质量评估技术领域,具体涉及一种基于过程评估和测试结果的软件质量评价方法及系统。
背景技术
目前,针对软件的质量评估主要依靠软件测试的结果来进行。国内外软件质量评价理论研究中,基于测试结果对软件质量进行评价的模型很多。ISO 25000系列标准、GB/T29831至29836系列标准等,均采用的是给出软件质量度量指标体系,再进一步给出各指标的度量方法和测试方法,依据测试方法的要求,通过大量针对性软件测试得到对应各度量指标的测试值,再根据度量方法计算得出度量元的度量值,最后根据各度量元的权重,加权平均得出对应质量子特性乃至软件的质量度量值。
现有的软件质量评估方法针对的一般都是已经完成开发的成品软件,且需要对其进行大量全面的软件测试之后,通过繁复的计算才能得出,实施质量评估的工作量极大,而在软件研制开发和测试过程中所积累的大量原始数据没有被考虑进去,对软件开发过程影响软件质量的因素和机制尚缺乏有效研究。
软件的质量是在软件研制过程中逐步得到实现的。软件质量的度量活动在整个软件开发过程中均存在,并不断持续地进行改进,而不是仅在软件开发完成后对其进行一次静态的评估。因此,将对软件研制过程的监控与评价作为软件质量评价的一部分参数,利用各阶段的测试结果实现对软件全生命周期的质量进行度量和评价,是目前亟待解决的问题。
发明内容
本申请实施例提供了一种基于过程评估和测试结果的软件质量评价方法及系统,本申请实施例通过建立软件质量评价模型基于软件研制过程中的质量评审问题和软件测试过程中的问题实现快速估算软件质量。
第一方面,本申请实施例提供了一种软件质量评价方法,包括:
软件获取步骤,用于获取待评价软件;
软件质量评价模型建立步骤,用于基于软件的研制过程评估与测试结果构建一软件质量评价模型;
软件质量评价步骤,用于基于所述软件质量评价模型对所述待评价软件的研制过程评估与测试结果进行量化评分,并计算得到所述待识别软件质量的评价总评分。
通过上述步骤,本申请实施例结合软件的研制过程评估及测试结果评估实现软件质量度量,两个方面共同作用,实现软件质量的快速评价。
在其中一些实施例中,所述软件质量评价模型包括:过程评估参数、测试结果参数及所述过程评估参数和测试结果参数中各项参数对应的权重值;
所述过程评估参数至少包括:软件项目的基线评审结果、软件研制单位的研制能力成熟度及年审调整;
所述测试结果参数至少包括:软件问题的严重等级、引入阶段及发现难易程度。
在其中一些实施例中,所述软件质量评价步骤进一步包括:
研制过程评估步骤,用于获取所述过程评估参数中的基线评审结果、研制能力成熟度及年审结果,并计算得到待评价软件的基线评审评分及成熟度评分;
测试结果评估步骤,用于基于所述软件质量评价模型获取软件问题的不同严重等级、引入阶段及发现难易程度对应的权重值,并根据所述不同严重等级、引入阶段及发现难易程度对应的权重值计算得到待评价软件的测试结果总评分;
评价结果获取步骤,用于基于所述软件质量评价模型获取所述基线评审评分、成熟度评分及测试结果总评分对应的权重值,并计算根据所述基线评审评分、成熟度评分及测试结果总评分对应的权重值得到所述评价总评分。
在其中一些实施例中,所述研制过程评估步骤进一步包括:
基线评审结果评分步骤,用于根据所述基线评审结果,以一同类软件平均基准值作为参考,计算得到所述基线评审评分;所述基线至少包括需求基线、设计基线及产品基线其一或其任意组合;
研制能力成熟度评分步骤,用于根据所述软件质量评价模型获取不同所述成熟度等级对应的权重值,根据所述成熟度等级对应的权重值及成熟度评分计算得到成熟度评分。具体的,获取一评价机构对所述待评价软件的研制组织的软件研制能力成熟度评分,可选的,所述权重的初始值可以采用主观赋权法和/ 或客观赋权法确定,所述评价机构的评分方式使用SCAMPI方法(Standard CMMI Appraisal Method for Process Improvement,中文全称为用于过程改进的 CMMI标准评估方法,简称为CMMI评估方法)。
考虑到在软件研制过程中,对应基线产品的历次质量评审中的意见个数与更改比例,是软件研制过程质量的一项重要体现。通过上述步骤,本申请实施例能有效的评审出问题,并根据评审意见进行了修改,对促进软件研制能力的提升有正面帮助。
在其中一些实施例中,所述研制过程评估步骤还包括:
成熟度评分调整步骤,用于根据所述软件质量评价模型获取不同所述年审结果对应的权重值,根据所述不同所述年审结果对应的权重值计算得到更新后的所述成熟度评分。
在其中一些实施例中,所述评价结果获取步骤利用如下表达式得到所述评价总评分Q1:
其中,P1、P2、P3分别用于指代所述基线评审评分PJX、成熟度评分PSCM_1及测试结果总评分PJF,W1、W2、W3分别为所述基线评审评分、成熟度评分及测试结果总评分对应的权重值,且满足W1+W2+W3=1。
在其中一些实施例中,所述基线评审结果评分步骤利用如下表达式得到所述基线评审评分:
其中,n为基线评审结果中的评审阶段,mi为待评价软件的基线评审意见第i个阶段的评审意见数,mi0为所述同类软件在第i个阶段的平均基准值。
在其中一些实施例中,所述研制能力成熟度评分步骤利用如下表达式得到所述成熟度评分PSCM_1:
其中,A为所述待评价软件研制单位研制能力成熟度评分,A的取值范围在(6,8)之间,N0为所述待评价软件研制单位研制能力成熟度等级,p0为权重系数,p0的初始值采用主观赋权法和/或客观赋权法确定。
在其中一些实施例中,成熟度评分调整步骤利用如下表达式得到的测试结果总评分:
其中,设所述待评价软件在测试过程中共计发现k个问题,Pdj_k、Pjd_k、Pnd_k分别为第k个问题所对应的严重等级、引入阶段及发现难易程度参考值。
第二方面,本申请实施例提供了一种软件质量评价系统,用于执行如上述第一方面所述的软件质量评价方法,包括:
软件获取模块,用于获取待评价软件;
软件质量评价模型建立模块,用于基于软件的研制过程评估与测试结果构建一软件质量评价模型;
软件质量评价模块,用于基于所述软件质量评价模型对所述待评价软件的研制过程评估与测试结果进行量化评分,并计算得到所述待识别软件质量的评价总评分。
在其中一些实施例中,所述软件质量评价模型包括:过程评估参数、测试结果参数及所述过程评估参数和测试结果参数中各项参数对应的权重值;
所述过程评估参数至少包括:软件项目的基线评审结果、软件研制单位的研制能力成熟度及年审调整;
所述测试结果参数至少包括:软件问题的严重等级、引入阶段及发现难易程度。
在其中一些实施例中,所述软件质量评价模块进一步包括:
研制过程评估模块,用于获取所述过程评估参数中的基线评审结果、研制能力成熟度及年审结果,并计算得到待评价软件的基线评审评分及成熟度评分;
测试结果评估模块,用于基于所述软件质量评价模型获取软件问题的不同严重等级、引入阶段及发现难易程度对应的权重值,并根据所述不同严重等级、引入阶段及发现难易程度对应的权重值计算得到待评价软件的测试结果总评分;
评价结果获取模块,用于基于所述软件质量评价模型获取所述基线评审评分、成熟度评分及测试结果总评分对应的权重值,并计算根据所述基线评审评分、成熟度评分及测试结果总评分对应的权重值得到所述评价总评分。
在其中一些实施例中,所述研制过程评估模块进一步包括:
基线评审结果评分模块,用于根据所述基线评审结果,以一同类软件平均基准值作为参考,计算得到所述基线评审评分;所述基线至少包括需求基线、设计基线及产品基线其一或其任意组合;
研制能力成熟度评分模块,用于根据所述软件质量评价模型获取不同所述成熟度等级对应的权重值,根据所述成熟度等级对应的权重值及成熟度评分计算得到成熟度评分。具体的,获取一评价机构对所述待评价软件的研制组织的软件研制能力成熟度评分,可选的,所述权重的初始值可以采用主观赋权法和/ 或客观赋权法确定,所述评价机构的评分方式使用SCAMPI方法。
在其中一些实施例中,所述研制过程评估模块还包括:
成熟度评分调整模块,用于根据所述软件质量评价模型获取不同所述年审结果对应的权重值,根据所述不同所述年审结果对应的权重值计算得到更新后的所述成熟度评分。
通过上述模块,本申请实施例结合软件的研制过程评估及测试结果评估实现软件质量度量,两个方面共同作用,实现软件质量的快速评价。
相比于相关技术,本申请实施例提供的基于过程评估和测试结果的软件质量评价方法及系统,将软件的研制过程评估纳入了软件质量度量中,使软件质量评价包括过程评估和测试结果两个方面的综合度量,其中过程评估将软件项目基线各次评审的结果和软件研制组织的研制能力成熟度及年审结果调整纳入了考虑,测试结果则针对研制过程中所有问题的严重等级、引入阶段和发现难易程度三个维度来综合度量;两个方面共同作用,实现软件质量的快速评价。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的软件质量评价方法的流程示意图;
图2是根据本申请实施例的软件质量评价方法的分步骤流程示意图;
图3是根据本申请实施例的软件质量评价系统的结构框;
图4是根据本申请实施例的软件质量评价模型结构示意图。
附图说明:
1、软件获取模块;2、软件质量评价模型建立模块;3、软件质量评价模块;
31、研制过程评估模块;32、测试结果评估模块;33、评价结果获取模块;
311、基线评审结果评分模块;312、研制能力成熟度评分模块;
313、成熟度评分调整模块。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本实施例提供了一种软件质量评价方法。图1-2是根据本申请实施例的软件质量评价方法的流程示意图,如图1-2所示,该流程包括如下步骤:
软件获取步骤S1,用于获取待评价软件;
软件质量评价模型建立步骤S2,用于基于软件的研制过程评估与测试结果构建一软件质量评价模型;图4是根据本申请实施例的软件质量评价模型结构示意图,参考图4所示,软件质量评价模型包括:过程评估参数、测试结果参数及过程评估参数和测试结果参数中各项参数对应的权重值;过程评估参数至少包括:软件项目的基线评审结果、软件研制单位的研制能力成熟度及年审调整;测试结果参数至少包括:软件问题的严重等级、引入阶段及发现难易程度。
软件质量评价步骤S3,用于基于软件质量评价模型对待评价软件的研制过程评估与测试结果进行量化评分,并计算得到待识别软件质量的评价总评分,评价总评分Q1表达式如下所示:
其中,P1、P2、P3分别用于指代基线评审评分PJX、成熟度评分PSCM_1及测试结果总评分PJF,W1、W2、W3分别为基线评审评分、成熟度评分及测试结果总评分对应的权重值,且满足W1+W2+W3=1。
其中,软件质量评价步骤S3进一步包括:
研制过程评估步骤S31,用于获取过程评估参数中的基线评审结果、研制能力成熟度及年审结果,并计算得到待评价软件的基线评审评分及成熟度评分,基线评审评分表达式如下所示:
其中,n为基线评审结果中的评审阶段,mi为待评价软件的基线评审意见第i个阶段的评审意见数,mi0为同类软件在第i个阶段的平均基准值。
成熟度评分表达式如下所示:
其中,A为待评价软件研制单位研制能力成熟度评分,A的取值范围在(6, 8)之间,N0为待评价软件研制单位研制能力成熟度等级,p0为权重系数,p0的初始值采用主观赋权法和/或客观赋权法确定。
测试结果评估步骤S32,用于基于软件质量评价模型获取软件问题的不同严重等级、引入阶段及发现难易程度对应的权重值,并根据不同严重等级、引入阶段及发现难易程度对应的权重值计算得到待评价软件的测试结果总评分,测试结果总评分表达式如下所示:
其中,设待评价软件在测试过程中共计发现k个问题,Pdj_k、Pjd_k、Pnd_k分别为第k个问题所对应的严重等级、引入阶段及发现难易程度参考值。
评价结果获取步骤S33,用于基于软件质量评价模型获取基线评审评分、成熟度评分及测试结果总评分对应的权重值,并计算根据基线评审评分、成熟度评分及测试结果总评分对应的权重值得到评价总评分。
通过上述步骤,本申请实施例结合软件的研制过程评估及测试结果评估实现软件质量度量,两个方面共同作用,实现软件质量的快速评价。
在其中一些实施例中,研制过程评估步骤S31进一步包括:
基线评审结果评分步骤S311,用于根据基线评审结果,以一同类软件平均基准值作为参考,计算得到基线评审评分;基线至少包括需求基线、设计基线及产品基线其一或其任意组合;
研制能力成熟度评分步骤S312,用于根据软件质量评价模型获取不同成熟度等级对应的权重值,根据成熟度等级对应的权重值及成熟度评分计算得到成熟度评分。具体的,获取一评价机构对待评价软件的研制组织的软件研制能力成熟度评分,可选的,权重的初始值可以采用主观赋权法和/或客观赋权法确定,评价机构的评分方式使用SCAMPI方法。
成熟度评分调整步骤S313,用于根据软件质量评价模型获取不同年审结果对应的权重值,根据不同年审结果对应的权重值计算得到更新后的成熟度评分。
下面通过优选实施例对本申请实施例进行描述和说明。
首先,经软件获取步骤S1获取待评价软件。
然后,经软件质量评价模型建立步骤S2构建基于过程评估和测试结果的软件质量评价模型,如图4所示。
随后,根据软件质量评价步骤S3获取评价结果。具体如下:
经基线评审结果评分步骤S311获取软件项目的基线评审评分。具体的,以同类的软件平均基准值作为参考,记第n个阶段基线评审中提出了m10、m20、 m30…mn0条意见,当前项目的实测值为a1、a2、a3…条意见。如下表所示:
需求评审 | 设计评审 | 产品评审 |
基准值:提出m<sub>10</sub>条意见 | 基准值:提出m<sub>20</sub>条意见 | 基准值:提出m<sub>30</sub>条意见 |
提出m<sub>1</sub>条需求相关意见 | 提出m<sub>2</sub>条意见 | 提出m<sub>3</sub>条意见 |
将上述参数代入到公式(2)中即可计算得到基线评审评分PJX,PJX的范围在 (0,1)之间。上述公式(2)还可以进一步精细化处理。考虑到根据质量评审中所提出意见的严重程度,以及与其对应阶段之间的关系,还可有不同权重予以计算。例如,在设计评审阶段发现了需求中的问题(本应在需求评审中提出并修改),其严重性应大于在需求评审中所发现的同类问题,其折合扣分权重也应更高。基于此,根据本申请对上述公式(2)作出的变形也在本申请实施例的保护范围。
然后,经研制能力成熟度评分步骤S312根据软件质量评价模型获取不同成熟度等级对应的权重值,根据成熟度等级对应的权重值及成熟度评分计算得到成熟度评分。
一般的,一个具有较高等级软件研制能力成熟度评价的单位组织,能开发出更高质量的软件,因此我们可获取评价机构对该待评价软件研制单位的软件研制能力成熟度评分的成绩,并根据其成熟度等级设置其权重值对分数进行调整,举例而非限制,当读入的分数成绩相同时,成熟度三级的单位得分成绩比成熟度二级的得分更高。可选的,评价机构对软件研制能力成熟度的评分方式使用SCAMPI方法进行,由被评单位自行提供自己的四个项目来进行度量,根据这些项目的相关质量数据,对每个实践域进行评价,给出每个实践以S/L/P/NY的分值。最终的统计评分采用木桶原理式,以短板作为能力的记录点。一个目标未实现,则整体过程域评价为不通过;一个过程域不通过,则本级别评价不通过。那么,通过对应级别软件研制能力成熟度的单位,统计其所有实践,最终得到的得分成绩记为A。A大于6分,最大能得到8分。设获取的某单位的软件研制能力成熟度成绩为A,该单位的成熟度等级为N0。
考虑到软件研制能力成熟度共分为5个等级,我们设置成熟度等级5级的权重为1.0,成熟度成绩保持为读入的原始值。当成熟度等级降低,权重也随之降低,记每降低一级所减少的权重为p0,可选的,p0的初始值可以采用专家打分法来确定,专家打分法为主观赋权法的一种,后期积累大量历史数据后,也可采用客观赋权法来确定其权重值。由此得到研制单位的软件研制能力成熟度评分值对软件质量的影响度量初始计算公式,即为:
PSCM=A*(1-p0*(5-N0))
,其中,A的取值范围在(6,8)之间,则PSCM的取值范围也在(6,8)之间。对PSCM进行归一化处理,得到上述成熟度评分表达式(3)。
成熟度评分调整步骤S313,考虑到评价机构对研制单位的软件研制能力成熟度评审并打分完后,每年还要组织对该软件研制单位进行年度监督,本申请实施例基于年度结果对上述公式(3)进行调整。一般的年度监督时评价机构会对软件研制单位提出若干条年检意见。年检问题的严重等级是评估该软件研制单位的研制过程质量非常重要的参数,能直接的反应研制单位当前(而不是过往)的软件研制项目过程管理水平。基于此,具体调整机制如下所示:
当年检结果中存在严重不符合项时,认为该单位的软件研制能力与其初始成熟度评分极不相称,考虑对成熟度评分做清零处理,即为:PSCM_final=0。
当年检结果中均为改进项,认为该单位的软件研制能力与初始成熟度评分基本相符,但仍有待改进处,需要对初始成熟度评分做一定减分处理,但保证其最终的得分比年检问题存在一般不符合的得分高,具体的,需要参考当前软件研制单位年审改进项的个数多少,及是否存在重复性问题,来进行调整。提出的改进建议越多得分越低,改进建议中重复问题越多得分越低。记最近一次软件研制单位的年审改进项的个数为m条,一年内各软件研制单位年审改进项个数的均值为n条,当每比均值多一条改进项,则权重减少的比例为p1;这m 条改进项中,有l条改进项在本单位以往年审中曾经出现过,记每多一个重复问题的扣除权重比例为p2,则对初始成熟度评分调整即为:
其中,p1和p2初始值可以根据专家经验确定,后期有历史数据可根据实际数据和评价结果进行调整。
当年检结果中无改进建议,则得分依旧为PSCM_1。
经过上述调整后的成熟度评分作为更新后的成熟度评分,用于计算评价总评分。
然后,经测试结果评估步骤S32根据不同严重等级、引入阶段及发现难易程度对应的权重值计算得到待评价软件的测试结果总评分。具体的,软件问题的严重等级分为五个等级,分别为:
1)致命问题,导致系统/设备任务完全失败,系统/设备安全性和安全保密性丧失,甚至危害及人身安全;
2)严重问题,会影响/潜在影响设计/需求文档中所规定的主要功能的完成或没有实现设计/需求文档中规定的功能;
3)一般问题,会对设计文档中规定的主要功能的完成产生不利/潜在不利的影响,从而导致功能障碍的代码问题;
4)轻微问题,不会影响设计/需求文档共规定的主要功能的完成,但对运行或操作会产生轻微影响/潜在影响。
5)改进建议,对主要功能的完成,以及运行或操作均无影响,但从代码可读性和结构化程度等方面可以进一步改进优化。
记发现的问题严重等级为N1。当发现的问题严重等级每降低一个等级(对应的值增加),则权重增加p3。
软件问题的严重等级对当前问题的参考值为:
Pdj=(1-p3*(5-N1+1))
另外,在发现软件问题的时候,同时也能定位到该软件问题是从生命周期的哪个阶段引入的。如果软件研制过程受控,软件测试及交付时应只发现编码阶段引入的问题。如果在测试时发现存在设计阶段的问题,例如设计存在漏项,未覆盖需求,则这类问题的权重值需要增加。
设发现问题发生阶段包括方案、需求、设计、编码、使用等一共S个阶段,按阶段先后顺序对应的标注值为1、2、3、…、NS,当软件问题引入阶段越早 (而一直未发现),则该问题的权重值越高。记软件编码阶段引入的问题权重值为1.0,问题引入阶段每向前一个阶段,则对应权重增加p4。则软件问题的引入阶段对当前问题的参考值为:
Pjd=(1-p4*(S-Ns+1))
另外,发现软件问题是需要一定的技术手段的。设发现问题难度包括1、2、 3、4、5五个等级,表示问题的发现难度逐渐增加。发现问题难度为增加一个 5等级,则权重增加p5,发现的问题难度等级为N2,则发现问题难度对当前问题的参考值为:
Pnd=(1-p5*(5-N2+1))
设该软件在测试过程中共计发现k个问题。第k个问题所对应的三个方向参考值分别为Pdj_k×Pjd_k×Pnd_k,则当前软件测试结果总评分表达式(1)具体为:
其中,p3、p4、p5初始值可以根据专家经验确定,后期有历史数据可根据实际数据和评价结果进行调整。由此,得到上述测试结果总评分表达式(4)的具体表达式。
最后,经评价结果获取步骤S33对上述项目基线评审结果、成熟度评分和软件测试结果代入公式(1)中进行加权平均,得到最终质量评价评分结果。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,举例而非限制,图2中基线评审结果评分步骤S311也可在成熟度评分步骤 S313完成后执行,对本申请实施例的各工作步骤进行的顺序上的调整也是可能并被构想的。
本实施例还提供了一种软件质量评价系统,该系统用于实现上述实施例及优选实施方式的评价方法,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本申请实施例的软件质量评价系统的结构框图,如图3所示,该系统包括:
软件获取模块1,用于获取待评价软件;
软件质量评价模型建立模块2,用于基于软件的研制过程评估与测试结果构建一软件质量评价模型,其中,软件质量评价模型包括:过程评估参数、测试结果参数及过程评估参数和测试结果参数中各项参数对应的权重值;过程评估参数至少包括:软件项目的基线评审结果、软件研制单位的研制能力成熟度及年审调整;测试结果参数至少包括:软件问题的严重等级、引入阶段及发现难易程度;
软件质量评价模块3,用于基于软件质量评价模型对待评价软件的研制过程评估与测试结果进行量化评分,并计算得到待识别软件质量的评价总评分。软件质量评价模块3进一步包括:
研制过程评估模块31,用于获取过程评估参数中的基线评审结果、研制能力成熟度及年审结果,并计算得到待评价软件的基线评审评分及成熟度评分;测试结果评估模块32,用于基于软件质量评价模型获取软件问题的不同严重等级、引入阶段及发现难易程度对应的权重值,并根据不同严重等级、引入阶段及发现难易程度对应的权重值计算得到待评价软件的测试结果总评分;评价结果获取模块33,用于基于软件质量评价模型获取基线评审评分、成熟度评分及测试结果总评分对应的权重值,并计算根据基线评审评分、成熟度评分及测试结果总评分对应的权重值得到评价总评分。
其中,研制过程评估模块31进一步包括:
基线评审结果评分模块311,用于根据基线评审结果,以一同类软件平均基准值作为参考,计算得到基线评审评分;基线至少包括需求基线、设计基线及产品基线其一或其任意组合;
研制能力成熟度评分模块312,用于根据软件质量评价模型获取不同成熟度等级对应的权重值,根据成熟度等级对应的权重值及成熟度评分计算得到成熟度评分。具体的,获取一评价机构对待评价软件的研制组织的软件研制能力成熟度评分,可选的,权重的初始值可以采用主观赋权法和/或客观赋权法确定,评价机构的评分方式使用SCAMPI方法。
成熟度评分调整模块313,用于根据软件质量评价模型获取不同年审结果对应的权重值,根据不同年审结果对应的权重值计算得到更新后的成熟度评分。
通过上述模块,本申请实施例结合软件的研制过程评估及测试结果评估实现软件质量度量,两个方面共同作用,实现软件质量的快速评价。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种软件质量评价方法,其特征在于,包括:
软件获取步骤,用于获取待评价软件;
软件质量评价模型建立步骤,用于基于软件的研制过程评估与测试结果构建一软件质量评价模型;
软件质量评价步骤,用于基于所述软件质量评价模型对所述待评价软件的研制过程评估与测试结果进行量化评分,并计算得到所述待识别软件质量的评价总评分。
2.根据权利要求1所述的软件质量评价方法,其特征在于,所述软件质量评价模型包括:过程评估参数、测试结果参数及所述过程评估参数和测试结果参数中各项参数对应的权重值;
所述过程评估参数至少包括:软件项目的基线评审结果、软件研制单位的研制能力成熟度及年审调整;
所述测试结果参数至少包括:软件问题的严重等级、引入阶段及发现难易程度。
3.根据权利要求2所述的软件质量评价方法,其特征在于,所述软件质量评价步骤进一步包括:
研制过程评估步骤,用于获取所述过程评估参数中的基线评审结果、研制能力成熟度及年审结果,并计算得到待评价软件的基线评审评分及成熟度评分;
测试结果评估步骤,用于基于所述软件质量评价模型获取软件问题的不同严重等级、引入阶段及发现难易程度对应的权重值,并根据所述不同严重等级、引入阶段及发现难易程度对应的权重值计算得到待评价软件的测试结果总评分;
评价结果获取步骤,用于基于所述软件质量评价模型获取所述基线评审评分、成熟度评分及测试结果总评分对应的权重值,并计算根据所述基线评审评分、成熟度评分及测试结果总评分对应的权重值得到所述评价总评分。
4.根据权利要求3所述的软件质量评价方法,其特征在于,所述研制过程评估步骤进一步包括:
基线评审结果评分步骤,用于根据所述基线评审结果,以一同类软件平均基准值作为参考,计算得到所述基线评审评分;
研制能力成熟度评分步骤,用于根据所述软件质量评价模型获取不同所述成熟度等级对应的权重值,根据所述成熟度等级对应的权重值及成熟度评分计算得到成熟度评分。
5.根据权利要求4所述的软件质量评价方法,其特征在于,所述研制过程评估步骤还包括:
成熟度评分调整步骤,用于根据所述软件质量评价模型获取不同所述年审结果对应的权重值,根据所述不同所述年审结果对应的权重值计算得到更新后的所述成熟度评分。
10.一种执行如权利要求1-9中任一项所述的软件质量评价方法的软件质量评价系统,其特征在于,包括:
软件获取模块,用于获取待评价软件;
软件质量评价模型建立模块,用于基于软件的研制过程评估与测试结果构建一软件质量评价模型;
软件质量评价模块,用于基于所述软件质量评价模型对所述待评价软件的研制过程评估与测试结果进行量化评分,并计算得到所述待识别软件质量的评价总评分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011311518.9A CN112540912A (zh) | 2020-11-20 | 2020-11-20 | 一种软件质量评价方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011311518.9A CN112540912A (zh) | 2020-11-20 | 2020-11-20 | 一种软件质量评价方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112540912A true CN112540912A (zh) | 2021-03-23 |
Family
ID=75014510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011311518.9A Pending CN112540912A (zh) | 2020-11-20 | 2020-11-20 | 一种软件质量评价方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112540912A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546841A (zh) * | 2022-02-09 | 2022-05-27 | 上海天好信息技术股份有限公司 | 基于云计算的软件质量评估方法 |
CN114610599A (zh) * | 2022-01-18 | 2022-06-10 | 阿里云计算有限公司 | 测试方法以及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868888A (zh) * | 2016-03-23 | 2016-08-17 | 中国电子科技集团公司第十研究所 | 软件测试质量评价方法 |
CN108563563A (zh) * | 2018-03-26 | 2018-09-21 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 航空机载软件测试质量评价方法 |
CN109146402A (zh) * | 2018-07-13 | 2019-01-04 | 成都颠峰科创信息技术有限公司 | 一种软件开发供应商交付质量的评估方法 |
CN109582557A (zh) * | 2017-09-29 | 2019-04-05 | 中国石油化工股份有限公司 | 基于代价的测试质量评估方法及系统 |
CN110910044A (zh) * | 2019-12-04 | 2020-03-24 | 江苏智谋科技有限公司 | 一种基于cmmi模型的软件研发过程改进系统及方法 |
RU2733485C1 (ru) * | 2020-02-04 | 2020-10-01 | Алексей Валерьевич Комаров | Система и способ обработки данных для комплексной оценки зрелости научно-технологического проекта на основе использования набора параметров |
CN111949316A (zh) * | 2020-08-18 | 2020-11-17 | 中国信息通信研究院 | 一种用于评估软件研发运营成熟度的方法、装置、系统和计算机可读存储介质 |
-
2020
- 2020-11-20 CN CN202011311518.9A patent/CN112540912A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868888A (zh) * | 2016-03-23 | 2016-08-17 | 中国电子科技集团公司第十研究所 | 软件测试质量评价方法 |
CN109582557A (zh) * | 2017-09-29 | 2019-04-05 | 中国石油化工股份有限公司 | 基于代价的测试质量评估方法及系统 |
CN108563563A (zh) * | 2018-03-26 | 2018-09-21 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 航空机载软件测试质量评价方法 |
CN109146402A (zh) * | 2018-07-13 | 2019-01-04 | 成都颠峰科创信息技术有限公司 | 一种软件开发供应商交付质量的评估方法 |
CN110910044A (zh) * | 2019-12-04 | 2020-03-24 | 江苏智谋科技有限公司 | 一种基于cmmi模型的软件研发过程改进系统及方法 |
RU2733485C1 (ru) * | 2020-02-04 | 2020-10-01 | Алексей Валерьевич Комаров | Система и способ обработки данных для комплексной оценки зрелости научно-технологического проекта на основе использования набора параметров |
CN111949316A (zh) * | 2020-08-18 | 2020-11-17 | 中国信息通信研究院 | 一种用于评估软件研发运营成熟度的方法、装置、系统和计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
张波;郭巍;林鹏;: "航天测控软件动态质量评估模型研究", 质量与可靠性, no. 04, 15 August 2018 (2018-08-15) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114610599A (zh) * | 2022-01-18 | 2022-06-10 | 阿里云计算有限公司 | 测试方法以及系统 |
CN114546841A (zh) * | 2022-02-09 | 2022-05-27 | 上海天好信息技术股份有限公司 | 基于云计算的软件质量评估方法 |
CN114546841B (zh) * | 2022-02-09 | 2023-10-27 | 上海天好信息技术股份有限公司 | 基于云计算的软件质量评估方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Leimu et al. | Cumulative meta–analysis: a new tool for detection of temporal trends and publication bias in ecology | |
CN112540912A (zh) | 一种软件质量评价方法及系统 | |
CN111126759B (zh) | 一种基于异常事件故障关联度的电能表状态评估方法 | |
Chowdhury et al. | Incident ESRD among participants in a lead surveillance program | |
CN103750552A (zh) | 一种智能取样方法及其在香烟质量控制的应用 | |
CN113409150A (zh) | 经营风险及信用风险评估方法、装置及计算机存储介质 | |
CN111930601A (zh) | 一种基于深度学习的数据库状态综合评分方法及其系统 | |
CN114628033A (zh) | 疾病风险预测方法、装置、设备及存储介质 | |
CN113793057A (zh) | 一种基于回归分析模型的建筑招投标数据生成方法 | |
Beiles et al. | Cumulative sum control charts for assessing performance in arterial surgery | |
CN110993100B (zh) | 一种青少年儿童近视预测系统的缺失值填补方法及使用该方法的系统 | |
CN117035872A (zh) | 一种基于大数据的数据处理管理方法 | |
CN112168188A (zh) | 一种用于压力检测数据的处理方法和装置 | |
CN114546841B (zh) | 基于云计算的软件质量评估方法 | |
Liu et al. | Research on software quality evaluation method based on process evaluation and test results | |
CN110390999B (zh) | 一种临床数据的值域计算方法、装置、可读介质及电子设备 | |
CN114387545A (zh) | 基于前馈网络的角膜生物力学特性的智能检测方法 | |
CN113379326A (zh) | 一种基于深度神经网络的电网灾情应急演练管理系统 | |
CN106502893B (zh) | 一种对软件功能进行测试的方法及装置 | |
CN111858332A (zh) | 一种分布式系统的计算资源弹性测试方法和装置 | |
Xu et al. | Statistical methods for clinical study site selection | |
CN113257380B (zh) | 一种差值核查及差值核查规则的制订方法和装置 | |
Lin et al. | A Learning-to-Rank Based Approach for Improving Regression Test Case Prioritization | |
CN115145586A (zh) | 一种军用软件研发过程符合度的计算方法及系统 | |
CN107785056A (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 |