CN111813657A - 一种软件系统质量评估方法及装置 - Google Patents
一种软件系统质量评估方法及装置 Download PDFInfo
- Publication number
- CN111813657A CN111813657A CN202010509568.1A CN202010509568A CN111813657A CN 111813657 A CN111813657 A CN 111813657A CN 202010509568 A CN202010509568 A CN 202010509568A CN 111813657 A CN111813657 A CN 111813657A
- Authority
- CN
- China
- Prior art keywords
- module
- quality
- score
- evaluation
- determining
- 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.)
- Granted
Links
- 238000013441 quality evaluation Methods 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000011156 evaluation Methods 0.000 claims abstract description 217
- 238000012360 testing method Methods 0.000 claims abstract description 206
- 230000036541 health Effects 0.000 claims abstract description 103
- 239000011159 matrix material Substances 0.000 claims abstract description 84
- 230000007547 defect Effects 0.000 claims abstract description 75
- 230000015654 memory Effects 0.000 claims description 22
- 230000008439 repair process Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 11
- 238000001303 quality assessment method Methods 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 4
- 230000033772 system development Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000010606 normalization Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000013522 software testing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012795 verification Methods 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
- G06F11/3692—Test management for test results analysis
-
- 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
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种软件系统质量评估方法及装置,用以解决现有软件测试中对系统质量评估的评估数据局限性、系统开发周期内评估实时性问题。所述软件系统质量评估方法,包括:获取待评估系统的各模块的历史故障数据、测试执行数据和测试缺陷数据;针对每一模块,根据该模块的历史故障数据、测试执行数据和测试缺陷数据构建评价因素集;确定各因素对应的权重,构建权重矩阵;确定从评价因素集到由预设质量等级构成的评语集的模糊关系矩阵;根据权重矩阵和模糊关系矩阵确定模块的质量等级评价结果,根据模块的质量等级评价结果确定模块的健康度评分;根据各模块的健康度评分以及各模块的重要性权重确定待评估系统的健康度评分。
Description
技术领域
本发明涉及系统质量评估技术领域,尤其涉及一种软件系统质量评估方法及装置。
背景技术
软件测试,描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程,即:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
随着软件测试越来越被重视,软件测试原则、测试方法和测试策略方面都有很多成熟的理论与方法可以给予测试人员很多指导。然而,软件测试中质量评估的方法还不够成熟,现有软件测试针对系统的质量评估大多是基于测试某个指标的分析对系统质量或者系统模块的质量进行评估,局限于系统内部测试人员反馈的测试数据,而且大多是在软件系统开发完成后针对系统整体进行被动质量评估,缺少在研发周期内进行实时主动评估与预测,并指导测试进行更高效的测试保证系统质量。
发明内容
为了解决现有软件测试中对系统质量评估的评估数据局限性、系统开发周期内评估实时性问题,对软件测试策略提供依据,保证高效测试与提升系统质量,本发明实施例提供了一种软件系统质量评估方法及装置。
第一方面,本发明实施例提供了一种软件系统质量评估的方法,包括:
获取待评估系统的各模块的历史故障数据、测试执行数据和测试缺陷数据;
针对每一模块,根据该模块的历史故障数据、测试执行数据和测试缺陷数据构建评价因素集,其中,所述评价因素集为模块质量的影响因素的集合,所述历史故障数据、所述测试执行数据和所述测试缺陷数据为所述评价因素集的因素;
确定各因素对应的权重,并根据各权重构建权重矩阵;
根据预设评价规则确定从所述评价因素集到由预设质量等级构成的评语集的模糊关系矩阵,所述评语集为模块质量的评价标准的集合;
根据所述权重矩阵和所述模糊关系矩阵确定所述模块的质量等级评价结果,根据所述模块的质量等级评价结果确定所述模块的健康度评分;
根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分。
本发明实施例提供的软件系统质量评估方法中,服务器获取待评估系统的各模块的历史故障数据、测试执行数据和测试缺陷数据后,针对每一模块,根据该模块的历史故障数据、测试执行数据和测试缺陷数据构建评价因素集,所述评价因素集为模块质量的影响因素的集合,所述历史故障数据、所述测试执行数据和所述测试缺陷数据为所述评价因素集的因素,确定各因素对应的权重,并根据各权重构建权重矩阵,根据预设评价规则确定从所述评价因素集到评语集的模糊关系矩阵,评语集为模块质量评价标准的集合,评语集由预设质量等级构成,进而,根据所述权重矩阵和所述模糊关系矩阵确定该模块的质量等级评价结果,根据该模块的质量等级评价结果确定模块的健康度评分,进而,根据所述待评估系统的各模块的健康度评分结合各模板的重要性权重确定待评估系统的健康度评分,上述软件系统质量评估方法,收集待评估系统各模块软件测试相关数据,从历史故障数据、测试执行数据和测试缺陷数据三个维度,结合模糊算法对待评估系统健康状态进行评估预测,以对所述待评估系统进行质量评估,评估准确度更高,而且,上述软件系统质量评估方法,在待评估系统开发过程中即可实时进行系统各模块各阶段质量的评估,对可能发生的系统故障进行提前预测,给予测试人员在测试过程中的指导,使得测试效果更加高效,提升系统质量。
较佳地,根据预设评价规则确定从所述评价因素集到由预设质量等级构成的评语集的模糊关系矩阵,具体包括:
根据预设评价规则分别确定所述各因素针对评语的隶属度为所述评语集上的模糊子集;
将各模糊子集组成从所述评价因素集到所述评语集的模糊关系矩阵。
较佳地,所述历史故障数据包括指定时间段内模块的历史反馈bug数和历史重构次数;所述测试执行数据包括模块的测试用例执行率、测试用例通过率和需求实现率;所述测试缺陷数据包括模块的bug增长率、bug占比、bug修复率、bug年龄和bug严重级别占比;
根据预设评价规则分别确定所述各因素针对评语的隶属度为所述评语集上的模糊子集,具体包括:
针对所述评价因素集的因素历史故障数据,根据预设的反馈bug数、重构次数和质量等级的对应关系,获得所述历史故障数据针对所述评语集中各质量等级的第一评分,根据所述第一评分确定所述历史故障数据针对评语的隶属度为所述评语集上的模糊子集;
针对所述评价因素集的因素测试执行数据,根据预设的测试用例执行率、测试用例通过率、需求实现率和质量等级的对应关系,获得所述测试执行数据针对所述评语集中各质量等级的第二评分,根据所述第二评分确定所述测试执行数据针对评语的隶属度为所述评语集上的模糊子集;
针对所述评价因素集的因素测试缺陷数据,根据预设的bug增长率、bug 占比、bug修复率、bug年龄、bug严重级别占比和质量等级的对应关系,获得所述测试缺陷数据针对所述评语集中各质量等级的第三评分,根据所述第三评分确定所述测试缺陷数据针对评语的隶属度为所述评语集上的模糊子集。
较佳地,所述模块的质量等级评价结果包括模块的质量等级和模块的质量评分;
根据所述模块的质量等级评价结果确定所述模块的健康度评分,具体包括:
将所述模块的质量评分进行归一化处理,获得所述模块归一化后的质量评分;
根据所述模块归一化后的质量评分和所述模块的质量等级确定所述模块的健康度评分。
较佳地,针对每一模块,通过以下公式确定所述模块的质量评分:
B=max(A*R)
其中,B表示模块的质量评分;
A表示评价因素集U中各因素对应的权重组成的权重矩阵,U={ui},i= 1,2,......,m,ui表示评价因素集U中的第i个因素,m为评价因素集U中的因素个数,A=[ωi],ωi表示评价因素集U中第i个因素的权重;
R表示从评价因素集U到评语集V的模糊关系矩阵,V表示由预设质量等级构成的评语集,V={vj},j=1,2,......,n,n为预设质量等级的个数,vj表示第j个预设质量等级,Ri=(rij)=(ri1,ri2,......,rin),Ri表示评价因素集U中的第i个因素的隶属度为评语集V上的模糊子集,rij表示评价因素集U中的第i个因素针对评语集V中的第j个质量等级的评分,以及通过以下方式确定所述模块的质量等级:
将所述模块的质量评分B在矩阵(A*R)与在评语集V中相同位置处对应的质量等级确定为所述模块的质量等级。
较佳地,根据所述模块归一化后的质量评分和所述模块的质量等级确定所述模块的健康度评分,具体包括:
根据预设的质量等级与分值范围的对应关系,确定所述模块的质量等级对应的最小分值和最大分值;
根据所述最小分值、最大分值与所述模块归一化后的质量评分确定所述模块的健康度评分。
较佳地,根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分,具体包括:
针对每一模块,根据预设权重评价指标确定所述模块的重要性权重,所述模块的重要性权重表征所述模块在所述待评估系统中的重要性程度;
根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分。
较佳地,通过以下公式确定所述待评估系统的健康度评分:
其中,Hs表示待评估系统的健康度评分;
Wk表示待评估系统的第k个模块的重要性权重,k=1,2,……,N,N表示待评估系统的模块总数;
Mk表示待评估系统的第k个模块的健康度评分。
第二方面,本发明实施例提供了一种软件系统质量评估装置,包括:
获取单元,用于获取待评估系统的各模块的历史故障数据、测试执行数据和测试缺陷数据;
评价因素集构建单元,用于针对每一模块,根据该模块的历史故障数据、测试执行数据和测试缺陷数据构建评价因素集,其中,所述评价因素集为模块质量的影响因素的集合,所述历史故障数据、所述测试执行数据和所述测试缺陷数据为所述评价因素集的因素;
权重矩阵构建单元,用于确定各因素对应的权重,并根据各权重构建权重矩阵;
第一确定单元,用于根据预设评价规则确定从所述评价因素集到由预设质量等级构成的评语集的模糊关系矩阵,所述评语集为模块质量的评价标准的集合;
第二确定单元,用于根据所述权重矩阵和所述模糊关系矩阵确定所述模块的质量等级评价结果,根据所述模块的质量等级评价结果确定所述模块的健康度评分;
第三确定单元,用于根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分。
较佳地,所述第一确定单元,具体用于根据预设评价规则分别确定所述各因素针对评语的隶属度为所述评语集上的模糊子集;将各模糊子集组成从所述评价因素集到所述评语集的模糊关系矩阵。
较佳地,所述历史故障数据包括指定时间段内模块的历史反馈bug数和历史重构次数;所述测试执行数据包括模块的测试用例执行率、测试用例通过率和需求实现率;所述测试缺陷数据包括模块的bug增长率、bug占比、bug修复率、bug年龄和bug严重级别占比;
所述第一确定单元,具体用于针对所述评价因素集的因素历史故障数据,根据预设的反馈bug数、重构次数和质量等级的对应关系,获得所述历史故障数据针对所述评语集中各质量等级的第一评分,根据所述第一评分确定所述历史故障数据针对评语的隶属度为所述评语集上的模糊子集;针对所述评价因素集的因素测试执行数据,根据预设的测试用例执行率、测试用例通过率、需求实现率和质量等级的对应关系,获得所述测试执行数据针对所述评语集中各质量等级的第二评分,根据所述第二评分确定所述测试执行数据针对评语的隶属度为所述评语集上的模糊子集;针对所述评价因素集的因素测试缺陷数据,根据预设的bug增长率、bug占比、bug修复率、bug年龄、bug严重级别占比和质量等级的对应关系,获得所述测试缺陷数据针对所述评语集中各质量等级的第三评分,根据所述第三评分确定所述测试缺陷数据针对评语的隶属度为所述评语集上的模糊子集。
较佳地,所述模块的质量等级评价结果包括模块的质量等级和模块的质量评分;
所述第二确定单元,具体用于将所述模块的质量评分进行归一化处理,获得所述模块归一化后的质量评分;根据所述模块归一化后的质量评分和所述模块的质量等级确定所述模块的健康度评分。
较佳地,所述第二确定单元,具体用于针对每一模块,通过以下公式确定所述模块的质量评分:
B=max(A*R)
其中,B表示模块的质量评分;
A表示评价因素集U中各因素对应的权重组成的权重矩阵,U={ui},i= 1,2,......,m,ui表示评价因素集U中的第i个因素,m为评价因素集U中的因素个数,A=[ωi],ωi表示评价因素集U中第i个因素的权重;
R表示从评价因素集U到评语集V的模糊关系矩阵,V表示由预设质量等级构成的评语集,V={vj},j=1,2,......,n,n为预设质量等级的个数,vj表示第j个预设质量等级,Ri=(rij)=(ri1,ri2,......,rin),Ri表示评价因素集U中的第i个因素的隶属度为评语集V上的模糊子集,rij表示评价因素集U中的第i个因素针对评语集V中的第j个质量等级的评分,以及通过以下方式确定所述模块的质量等级:
将所述模块的质量评分B在矩阵(A*R)与在评语集V中相同位置处对应的质量等级确定为所述模块的质量等级。
较佳地,所述第二确定单元,具体用于根据预设的质量等级与分值范围的对应关系,确定所述模块的质量等级对应的最小分值和最大分值;根据所述最小分值、最大分值与所述模块归一化后的质量评分确定所述模块的健康度评分。
较佳地,所述第三确定单元,具体用于针对每一模块,根据预设权重评价指标确定所述模块的重要性权重,所述模块的重要性权重表征所述模块在所述待评估系统中的重要性程度;根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分。
较佳地,所述第三确定单元,具体用于通过以下公式确定所述待评估系统的健康度评分:
其中,Hs表示待评估系统的健康度评分;
Wk表示待评估系统的第k个模块的重要性权重,k=1,2,……,N,N表示待评估系统的模块总数;
Mk表示待评估系统的第k个模块的健康度评分。
本发明提供的软件系统质量评估装置的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明所述的软件系统质量评估方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明所述的软件系统质量评估方法中的步骤。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的软件系统质量评估模型示意图;
图2为本发明实施例提供的软件系统质量评估方法的实施流程示意图;
图3为本发明实施例中,确定从评价因素集到评语集的模糊关系矩阵的实施流程示意图;
图4为本发明实施例中,确定模块的健康度评分的实施流程示意图;
图5为本发明实施例提供的软件系统质量评估装置的结构示意图;
图6本发明实施例提供的质量评估系统的结构示意图;
图7为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了解决现有软件测试中对系统质量评估的评估数据局限性、系统开发周期内评估实时性问题,对软件测试策略提供依据,保证高效测试与提升系统质量,本发明实施例提供了一种软件系统质量评估方法及装置。
本发明实施例提出通过系统各模块的测试相关数据,结合模糊算法对各模块的健康度进行评估,再通过各模块的健康度与各模块在系统中的重要性评估系统健康度,本发明实施例中,系统健康度是衡量系统质量的量化值,系统的健康度越高,代表系统的质量越高。
软件系统质量评估模型如图1所示,通过待评估系统各模块的历史故障数据、测试执行数据、测试缺陷数据,结合模糊算法对各模块的健康度进行评估,再根据各模块的健康度与其在待评估系统中的重要性对待评估系统的健康度进行评估,以评估待评估系统的质量,其中,模块的测试执行数据为模块当前版本软件测试的测试执行数据、模块的测试缺陷数据为模块当前版本软件测试的测试缺陷数据,模块的历史故障数据可以但不限于包括以下数据:指定时间段内模块的历史反馈bug数和历史重构次数,模块的测试执行数据可以但不限于包括以下数据:模块当前版本软件测试的测试用例执行率、测试用例通过率和需求实现率,模块的测试缺陷数据可以但不限于包括以下数据:模块当前版本软件测试的bug增长率、bug占比、bug修复率、bug年龄和bug严重级别占比。
需要说明的是,本发明实施例中,待评估系统为软件系统,所述软件系统可以为任一由软件功能模块组成的系统,每一功能模块通过运行其上的软件实现其相应的功能,本发明实施例对此不作限定。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
如图2所示,其为本发明实施例提供的软件系统质量评估方法的实施流程示意图,可以包括以下步骤:
S11、获取待评估系统的各模块的历史故障数据、测试执行数据和测试缺陷数据。
具体实施时,服务器获取待评估系统(即待评估软件系统)的各模块的历史故障数据、测试执行数据和测试缺陷数据。也可以由独立的数据采集装置采集待评估系统的各模块的历史故障数据、测试执行数据和测试缺陷数据后,将所述待评估系统的各模块的历史故障数据、测试执行数据和测试缺陷数据发送给服务器,此时,数据采集装置和服务器通过网络进行连接,可以组成质量评估系统。
其中,模块的测试执行数据为模块当前版本软件测试的测试执行数据、模块的测试缺陷数据为模块当前版本软件测试的测试缺陷数据,模块的历史故障数据可以但不限于包括以下数据:指定时间段内模块的历史反馈bug数和历史重构次数,模块的测试执行数据可以但不限于包括以下数据:模块当前版本软件测试的测试用例执行率、测试用例通过率和需求实现率,模块的测试缺陷数据可以但不限于包括以下数据:模块当前版本软件测试的bug增长率、bug占比、bug修复率、bug年龄和bug严重级别占比。所述指定时间段为模块当前版本软件测试前的历史时间段,可以根据需要自行设定,例如,指定时间段可以取模块当前版本软件测试前7天,本发明实施例对此不作限定。
具体地,针对每一模块,服务器可以通过获取模块当前版本软件本轮测试完成后执行的测试用例数、模块的测试用例总数和执行通过的测试用例数,将执行的测试用例数除以模块的测试用例总数得到模块的测试用例执行率,将执行通过的测试用例数除以执行的测试用例数得到模块的测试用例通过率。获取模块当前版本软件本轮测试完成后实现的需求数和模块在当前版本软件中的需求总数,将实现的需求数除以所述需求总数得到模块的需求实现率。服务器通过获取模块当前版本软件本轮测试完成后新增bug数、修复bug数、模块截止到当前版本软件的bug总数、系统截止到当前版本软件的bug总数,bug年龄、严重级别bug数和bug年龄,将新增bug数除以bug总数得到模块的bug 增长率,将模块bug总数除以系统bug总数得到模块的bug占比,将修复bug 数除以模块截止到当前版本软件的bug总数得到模块的bug修复率,将指定严重级别的bug的数量除以模块截止到当前版本软件的bug总数得到模块的bug 严重级别占比,严重级别表征bug的严重程度级别,比如Major(严重)、Critical (极严重)等,代表bug对系统影响的程度,其中,指定严重级别的bug可以选择严重级别为“严重”和“极严重”的两类bug,则bug严重级别占比为:严重级别为“严重”和“极严重”的bug数量之和除以模块截止到当前版本软件的bug总数。
S12、针对每一模块,根据该模块的历史故障数据、测试执行数据和测试缺陷数据构建评价因素集。
具体实施时,服务器针对每一模块,根据该模块的历史故障数据、测试执行数据和测试缺陷数据构建评价因素集,其中,所述评价因素集为模块质量的影响因素的集合,所述历史故障数据、所述测试执行数据和所述测试缺陷数据为所述评价因素集的因素。
具体地,服务器针对每一模块,根据该模块的历史故障数据、测试执行数据和测试缺陷数据构建评价因素集,记为:U={ui},i=1,2,......,m,ui表示评价因素集U中的第i个因素,m为评价因素集U中的因素个数,本发明实施例中, m=3,U={u1,u2,u3},u1、u2、u3分别表示因素集中的因素:历史故障数据、测试执行数据、测试缺陷数据。需要说明的是,构建评价因素集时,不限于模块的历史故障数据、测试执行数据和测试缺陷数据。
本发明实施例中,综合考虑模块的历史故障数据、测试执行数据和测试缺陷数据对模块质量的影响,利用这三种数据结合模糊算法对模块进行质量评估,其评估依据更加全面,评估准确度更高。
S13、确定各因素对应的权重,并根据各权重构建权重矩阵。
具体实施时,服务器预先根据影响模块质量的因素对模块的影响程度设置所述影响模块质量的因素与权重的对应关系,从所述对应关系中查找所述评价因素集中的各因素对应的权重,将各权重组成权重矩阵,记为:A=[ωi],ωi表示评价因素集U中第i个因素的权重,i=1,2,......,m, m=3,A=[ω1,ω2,ω3],ω1,ω2,ω3分别表示u1,u2,u3的权重。本发明实施例中,ω1,ω2,ω3可以根据经验值设定,历史故障数据一般在当前版本软件中对模块的影响较小,测试执行数据在当前版本软件中对模块的影响比历史故障数据稍大,测试缺陷数据在当前版本软件中对模块的影响最大,因此,可以将权重设置为:A=[0.1,0.3,0.6],具体实施过程中可以根据经验自行设定,本发明实施例对此不作限定。
S14、根据预设评价规则确定从所述评价因素集到由预设质量等级构成的评语集的模糊关系矩阵。
具体实施时,服务器根据预设评价规则确定从所述评价因素集到由预设质量等级构成的评语集的模糊关系矩阵,所述评语集为模块质量的评价标准的集合。
具体地,按照如图3所示的流程确定从所述评价因素集到由预设质量等级构成的评语集的模糊关系矩阵,可以包括以下步骤:
S21、根据预设评价规则分别确定所述评价因素集中的各因素针对评语的隶属度为所述评语集上的模糊子集。
具体实施时,服务器预先设置质量等级,所述质量等级即为质量衡量级别,将预设质量级别组成评语集,记为:V={vj},j=1,2,......,n,n为预设质量等级的个数,vj表示第j个预设质量等级,本发明实施例中,可以设置n=5, V={v1,v2,v3,v4,v5},可以但不限于设置为以下五个质量级别:v1~v5: 1级、2级、3级、4级、5级,1级表示质量好,2级表示质量较好,3级表示质量中等,4级表示质量较差,5级表示质量差,从1级到5级质量级别依次降低,1级质量级别最高,5级质量级别最低。
具体地,服务器针对所述评价因素集的因素历史故障数据,根据预设的反馈bug数、重构次数和质量等级的对应关系,获得所述历史故障数据针对所述评语集中各质量等级的第一评分,根据所述第一评分确定所述历史故障数据针对评语的隶属度为所述评语集上的模糊子集;针对所述评价因素集的因素测试执行数据,根据预设的测试用例执行率、测试用例通过率、需求实现率和质量等级的对应关系,获得所述测试执行数据针对所述评语集中各质量等级的第二评分,根据所述第二评分确定所述测试执行数据针对评语的隶属度为所述评语集上的模糊子集;针对所述评价因素集的因素测试缺陷数据,根据预设的bug增长率、bug占比、bug修复率、bug年龄、bug严重级别占比和质量等级的对应关系,获得所述测试缺陷数据针对所述评语集中各质量等级的第三评分,根据所述第三评分确定所述测试缺陷数据针对评语的隶属度为所述评语集上的模糊子集。
具体地,服务器预先设置反馈bug数和质量等级的对应关系、重构次数和质量等级的对应关系。反馈bug数和质量等级的对应关系如表1所示:
表1
重构次数和质量等级的对应关系如表2所示:
表2
重构次数b | 质量等级v |
b<b1 | v<sub>1</sub> |
b1≤b<b2 | v<sub>2</sub> |
b2≤b<b3 | v<sub>3</sub> |
b3≤b<b4 | v<sub>4</sub> |
b≥b4 | v<sub>5</sub> |
针对所述评价因素集的因素历史故障数据,根据上述预设的反馈bug数和质量等级的对应关系,确定模块反馈bug数对应的质量等级,并根据预设的反馈bug数与分值的对应关系获得该因素针对该质量等级的评分,例如,假设模块反馈bug数在a1≤a<a2这个范围内,则对应的质量等级为v2,假设反馈bug 数对应的分值为0.5,则因素历史故障数据针对评语集中质量等级v2的评分则为0.5。
类似地,服务器根据上述预设的重构次数和质量等级的对应关系,确定模块重构次数对应的质量等级,并根据预设的重构次数与分值的对应关系获得该因素针对该质量等级的评分,例如,假设模块重构数在b3≤b<b4这个范围内,则对应的质量等级为v4,假设重构次数对应的分值为0.5,则因素历史故障数据针对评语集中质量等级v4的评分则为0.5。
则将上述因素历史故障数据针对各质量等级的评分组成历史故障数据针对评语的隶属度为所述评语集上的模糊子集,记为R1,R1=(r1j)= (r11,r12,r13,r14,r15)=(0,0.5,0,0.5,0),假设模块反馈bug数和模块重构次数对应的质量等级为同一等级,则将二者相对应的同一质量等级的评分相加,例如,根据模块反馈bug数对质量等级v2的评分为0.5,根据模块重构次数对质量等级v2的评分也为0.5,则得到历史故障数据针对评语的隶属度为所述评语集上的模糊子集R1=(0,1,0,0,0)。
类似地,针对评价因素集的因素测试执行数据,服务器预先设置测试用例执行率和质量等级的对应关系、测试用例通过率和质量等级的对应关系、需求实现率和质量等级的对应关系,以及测试用例执行率和分值的对应关系、测试用例通过率和分值的对应关系、需求实现率和分值的对应关系,获得因素测试执行数据针对评语的隶属度为所述评语集上的模糊子集R2的方式与上述获得因素历史故障数据针对评语的隶属度为所述评语集上的模糊子集R1的方式相同,R2=(r2j)=(r21,r22,r23,r24,r25),此处不再赘述。
类似地,针对评价因素集的因素测试缺陷数据,服务器预先设置bug增长率和质量等级的对应关系、bug占比和质量等级的对应关系、bug修复率和质量等级的对应关系、bug年龄和质量等级的对应关系、bug严重级别占比和质量等级的对应关系,以及bug增长率和分值的对应关系、bug占比和分值的对应关系、bug修复率和分值的对应关系、bug年龄和分值的对应关系、bug严重级别占比和分值的对应关系,获得因素测试缺陷数据针对评语的隶属度为所述评语集上的模糊子集R3的方式与上述获得因素历史故障数据针对评语的隶属度为所述评语集上的模糊子集R1的方式相同, R3=(r3j)=(r31,r32,r33,r34,r35),此处不再赘述。
S22、将各模糊子集组成从所述评价因素集到所述评语集的模糊关系矩阵。
S15、根据所述权重矩阵和所述模糊关系矩阵确定所述模块的质量等级评价结果,根据所述模块的质量等级评价结果确定所述模块的健康度评分。
其中,所述模块的质量等级评价结果包括模块的质量等级和模块的质量评分。
具体实施时,服务器针对每一模块,通过以下公式确定所述模块的质量评分:
B=max(A*R)
其中,B表示模块的质量评分;
A表示评价因素集U中各因素对应的权重组成的权重矩阵,U={ui},i= 1,2,......,m,ui表示评价因素集U中的第i个因素,m为评价因素集U中的因素个数,A=[ωi],ωi表示评价因素集U中第i个因素的权重;
R表示从评价因素集U到评语集V的模糊关系矩阵,V表示由预设质量等级构成的评语集,V={vj},j=1,2,......,n,n为预设质量等级的个数,vj表示第j个预设质量等级,Ri=(rij)=(ri1,ri2,......,rin),Ri表示评价因素集U中的第i个因素的隶属度为评语集V上的模糊子集,rij表示评价因素集U中的第i个因素针对评语集V中的第j个质量等级的评分,
并将所述模块的质量评分B在矩阵(A*R)与在评语集V中相同位置处对应的质量等级确定为所述模块的质量等级。
例如,假设(A*R)=(B1,B2,B3,B4,B5),B=max(B1,B2,B3,B4,B5)=B5,由于 B5在(B1,B2,B3,B4,B5)中的位置对应{v1,v2,v3,v4,v5}中的v5,则将所述模块的质量等级确定为v5。
具体实施时,针对每一模块,按照如图4所示的流程确定所述模块的健康度评分,可以包括以下步骤:
S31、将模块的质量评分进行归一化处理,获得所述模块归一化后的质量评分。
具体实施时,服务器将所述模块的质量评分进行归一化处理,获得所述模块归一化后的质量评分。
将模块归一化后的质量评分记为B′,则可以采用如下公式对上例中B进行归一化:
S32、根据所述模块归一化后的质量评分和所述模块的质量等级确定所述模块的健康度评分。
具体实施时,服务器根据预设的质量等级与分值范围的对应关系,确定所述模块的质量等级对应的最小分值和最大分值,根据所述最小分值、最大分值与所述模块归一化后的质量评分确定所述模块的健康度评分。
具体地,预设的质量等级与分值范围的对应关系和模块的健康度评分确定方法如表3所示:
表3
例如,假设模块的质量等级为v1,则模块的质量等级对应的最小分值为8, 模块的质量等级对应的最大分值为10,假设B′=0.6>0.5,则模块的健康度评分为:假设模块的质量等级为v2,则模块的质量等级对应的最小分值为6,模块的质量等级对应的最大分值为8,假设B′=0.4<0.5,则模块的健康度评分为:
S16、根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分。
具体实施时,服务器针对每一模块,根据预设权重评价指标确定所述模块的重要性权重,所述模块的重要性权重表征所述模块在所述待评估系统中的重要性程度,进而,根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分。
具体地,模块的重要性与用户访问频率、是否为系统的关键模块、是否为系统核心模块等评价指标有关,其中,关键模块表征具有系统关键功能的模块,核心模块表征具有系统核心功能的模块,具有系统普通功能的模块为普通模块,基于此,服务器可以预先设置以下权重评价指标:访问频率、关键模块、核心模块、普通模块,并设置各权重评价指标和权重值的对应关系。
具体实施时,服务器确定模块属于哪一种或多种模块,并统计用户访问该模块的频率,例如,某一模块为关键模块和核心模块,并且属于访问频率TOP10 的模块,预先设置的关键模块对应的权重值为4,核心模块对应的权重值为3,访问频率TOP10对应的权重值为2,则可以确定该模块的重要性权重为: 4+3+2=9。其中,权重值可以根据需要自行设定,本发明实施例对此不作限定。
具体实施时,可以通过以下公式确定所述待评估系统的健康度评分:
其中,Hs表示待评估系统的健康度评分;
Wk表示待评估系统的第k个模块的重要性权重,k=1,2,……,N,N表示待评估系统的模块总数;
Mk表示待评估系统的第k个模块的健康度评分。
较佳地,在确定所述待评估系统的健康度评分之前,可以先对各模块的重要性权重进行归一化处理,归一化公式如下:
其中,W′k表示待评估系统的第k个模块的重要性权重Wk的归一化值。
进而,根据所述待评估系统的健康度评分对所述待评估系统进行质量评估,待评估系统的健康度评分越高,表示待评估系统的质量越高,待评估系统的健康度评分越低,表示待评估系统的质量越低。
本发明实施例提供的软件系统质量评估方法中,服务器获取待评估系统的各模块的历史故障数据、测试执行数据和测试缺陷数据后,针对每一模块,根据该模块的历史故障数据、测试执行数据和测试缺陷数据构建评价因素集,所述评价因素集为模块质量的影响因素的集合,所述历史故障数据、所述测试执行数据和所述测试缺陷数据为所述评价因素集的因素,确定各因素对应的权重,并根据各权重构建权重矩阵,根据预设评价规则确定从所述评价因素集到评语集的模糊关系矩阵,评语集为模块质量评价标准的集合,评语集由预设质量等级构成,进而,根据所述权重矩阵和所述模糊关系矩阵确定该模块的质量等级评价结果,根据该模块的质量等级评价结果确定模块的健康度评分,进而,根据所述待评估系统的各模块的健康度评分结合各模板的重要性权重确定待评估系统的健康度评分,上述软件系统质量评估方法,收集待评估系统各模块软件测试相关数据,从历史故障数据、测试执行数据和测试缺陷数据三个维度,结合模糊算法对待评估系统健康状态进行评估预测,以对所述待评估系统进行质量评估,评估准确度更高,而且,上述软件系统质量评估方法,在待评估系统开发过程中即可实时进行系统各模块各阶段质量的评估,对可能发生的系统故障进行提前预测,给予测试人员在测试过程中的指导,使得测试效果更加高效,提升系统质量。
基于同一发明构思,本发明实施例还提供了一种软件系统质量评估装置,由于上述软件系统质量评估装置解决问题的原理与软件系统质量评估方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图5所示,其为本发明实施例提供的软件系统质量评估装置的结构示意图,可以包括:
获取单元41,用于获取待评估系统的各模块的历史故障数据、测试执行数据和测试缺陷数据;
评价因素集构建单元42,用于针对每一模块,根据该模块的历史故障数据、测试执行数据和测试缺陷数据构建评价因素集,其中,所述评价因素集为模块质量的影响因素的集合,所述历史故障数据、所述测试执行数据和所述测试缺陷数据为所述评价因素集的因素;
权重矩阵构建单元43,用于确定各因素对应的权重,并根据各权重构建权重矩阵;
第一确定单元44,用于根据预设评价规则确定从所述评价因素集到由预设质量等级构成的评语集的模糊关系矩阵,所述评语集为模块质量的评价标准的集合;
第二确定单元45,用于根据所述权重矩阵和所述模糊关系矩阵确定所述模块的质量等级评价结果,根据所述模块的质量等级评价结果确定所述模块的健康度评分;
第三确定单元46,用于根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分。
较佳地,所述第一确定单元44,具体用于根据预设评价规则分别确定所述各因素针对评语的隶属度为所述评语集上的模糊子集;将各模糊子集组成从所述评价因素集到所述评语集的模糊关系矩阵。
较佳地,所述历史故障数据包括指定时间段内模块的历史反馈bug数和历史重构次数;所述测试执行数据包括模块的测试用例执行率、测试用例通过率和需求实现率;所述测试缺陷数据包括模块的bug增长率、bug占比、bug修复率、bug年龄和bug严重级别占比;
所述第一确定单元44,具体用于针对所述评价因素集的因素历史故障数据,根据预设的反馈bug数、重构次数和质量等级的对应关系,获得所述历史故障数据针对所述评语集中各质量等级的第一评分,根据所述第一评分确定所述历史故障数据针对评语的隶属度为所述评语集上的模糊子集;针对所述评价因素集的因素测试执行数据,根据预设的测试用例执行率、测试用例通过率、需求实现率和质量等级的对应关系,获得所述测试执行数据针对所述评语集中各质量等级的第二评分,根据所述第二评分确定所述测试执行数据针对评语的隶属度为所述评语集上的模糊子集;针对所述评价因素集的因素测试缺陷数据,根据预设的bug增长率、bug占比、bug修复率、bug年龄、bug严重级别占比和质量等级的对应关系,获得所述测试缺陷数据针对所述评语集中各质量等级的第三评分,根据所述第三评分确定所述测试缺陷数据针对评语的隶属度为所述评语集上的模糊子集。
较佳地,所述模块的质量等级评价结果包括模块的质量等级和模块的质量评分;
所述第二确定单元45,具体用于将所述模块的质量评分进行归一化处理,获得所述模块归一化后的质量评分;根据所述模块归一化后的质量评分和所述模块的质量等级确定所述模块的健康度评分。
较佳地,所述第二确定单元45,具体用于针对每一模块,通过以下公式确定所述模块的质量评分:
B=max(A*R)
其中,B表示模块的质量评分;
A表示评价因素集U中各因素对应的权重组成的权重矩阵,U={ui},i= 1,2,......,m,ui表示评价因素集U中的第i个因素,m为评价因素集U中的因素个数,A=[ωi],ωi表示评价因素集U中第i个因素的权重;
R表示从评价因素集U到评语集V的模糊关系矩阵,V表示由预设质量等级构成的评语集,V={vj},j=1,2,......,n,n为预设质量等级的个数,vj表示第j个预设质量等级,Ri=(rij)=(ri1,ri2,......,rin),Ri表示评价因素集U中的第i个因素的隶属度为评语集V上的模糊子集,rij表示评价因素集U中的第i个因素针对评语集V中的第j个质量等级的评分,以及通过以下方式确定所述模块的质量等级:
将所述模块的质量评分B在矩阵(A*R)与在评语集V中相同位置处对应的质量等级确定为所述模块的质量等级。
较佳地,所述第二确定单元45,具体用于根据预设的质量等级与分值范围的对应关系,确定所述模块的质量等级对应的最小分值和最大分值;根据所述最小分值、最大分值与所述模块归一化后的质量评分确定所述模块的健康度评分。
较佳地,所述第三确定单元46,具体用于针对每一模块,根据预设权重评价指标确定所述模块的重要性权重,所述模块的重要性权重表征所述模块在所述待评估系统中的重要性程度;根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分。
较佳地,所述第三确定单元46,具体用于通过以下公式确定所述待评估系统的健康度评分:
其中,Hs表示待评估系统的健康度评分;
Wk表示待评估系统的第k个模块的重要性权重,k=1,2,……,N,N表示待评估系统的模块总数;
Mk表示待评估系统的第k个模块的健康度评分。
基于同一发明构思,本发明实施例还提供了一种质量评估系统,由于上述质量评估系统解决问题的原理与软件系统质量评估方法相似,因此上述质量评估系统的实施可以参见方法的实施,重复之处不再赘述。
如图6所示,其为本发明实施例提供的质量评估系统的结构示意图,所述质量评估系统500,应用于软件系统,所述软件系统可以为任一由软件功能模块组成的系统,每一功能模块通过运行其上的软件实现其相应的功能,所述质量评估系统500可以包括:
数据采集装置51和服务器52,其中:
所述数据采集装置51,用于获取待评估系统的各模块的历史故障数据、测试执行数据和测试缺陷数据;
所述服务器52,用于接收所述测试数据获取装置发送的所述待评估系统的各模块的历史故障数据、测试执行数据和测试缺陷数据;针对每一模块,根据该模块的历史故障数据、测试执行数据和测试缺陷数据构建评价因素集,其中,所述评价因素集为模块质量的影响因素的集合,所述历史故障数据、所述测试执行数据和所述测试缺陷数据为所述评价因素集的因素;确定各因素对应的权重,并根据各权重构建权重矩阵;根据预设评价规则确定从所述评价因素集到由预设质量等级构成的评语集的模糊关系矩阵,所述评语集为模块质量的评价标准的集合;根据所述权重矩阵和所述模糊关系矩阵确定所述模块的质量等级评价结果,根据所述模块的质量等级评价结果确定所述模块的健康度评分;根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分。
较佳地,所述服务器52,具体用于根据预设评价规则分别确定所述各因素针对评语的隶属度为所述评语集上的模糊子集;将各模糊子集组成从所述评价因素集到所述评语集的模糊关系矩阵。
较佳地,所述历史故障数据包括指定时间段内模块的历史反馈bug数和历史重构次数;所述测试执行数据包括模块的测试用例执行率、测试用例通过率和需求实现率;所述测试缺陷数据包括模块的bug增长率、bug占比、bug修复率、bug年龄和bug严重级别占比;
所述服务器52,具体用于针对所述评价因素集的因素历史故障数据,根据预设的反馈bug数、重构次数和质量等级的对应关系,获得所述历史故障数据针对所述评语集中各质量等级的第一评分,根据所述第一评分确定所述历史故障数据针对评语的隶属度为所述评语集上的模糊子集;针对所述评价因素集的因素测试执行数据,根据预设的测试用例执行率、测试用例通过率、需求实现率和质量等级的对应关系,获得所述测试执行数据针对所述评语集中各质量等级的第二评分,根据所述第二评分确定所述测试执行数据针对评语的隶属度为所述评语集上的模糊子集;针对所述评价因素集的因素测试缺陷数据,根据预设的bug增长率、bug占比、bug修复率、bug年龄、bug严重级别占比和质量等级的对应关系,获得所述测试缺陷数据针对所述评语集中各质量等级的第三评分,根据所述第三评分确定所述测试缺陷数据针对评语的隶属度为所述评语集上的模糊子集。
较佳地,所述模块的质量等级评价结果包括模块的质量等级和模块的质量评分;
所述服务器52,具体用于将所述模块的质量评分进行归一化处理,获得所述模块归一化后的质量评分;根据所述模块归一化后的质量评分和所述模块的质量等级确定所述模块的健康度评分。
较佳地,所述服务器52,具体用于针对每一模块,通过以下公式确定所述模块的质量评分:
B=max(A*R)
其中,B表示模块的质量评分;
A表示评价因素集U中各因素对应的权重组成的权重矩阵,U={ui},i= 1,2,......,m,ui表示评价因素集U中的第i个因素,m为评价因素集U中的因素个数,A=[ωi],ωi表示评价因素集U中第i个因素的权重;
R表示从评价因素集U到评语集V的模糊关系矩阵,V表示由预设质量等级构成的评语集,V={vj},j=1,2,......,n,n为预设质量等级的个数,vj表示第j个预设质量等级,Ri=(rij)=(ri1,ri2,......,rin),Ri表示评价因素集U中的第i个因素的隶属度为评语集V上的模糊子集,rij表示评价因素集U中的第i个因素针对评语集V中的第j个质量等级的评分,以及通过以下方式确定所述模块的质量等级:
将所述模块的质量评分B在矩阵(A*R)与在评语集V中相同位置处对应的质量等级确定为所述模块的质量等级。
较佳地,所述服务器52,具体用于根据预设的质量等级与分值范围的对应关系,确定所述模块的质量等级对应的最小分值和最大分值;根据所述最小分值、最大分值与所述模块归一化后的质量评分确定所述模块的健康度评分。
较佳地,所述服务器52,具体用于针对每一模块,根据预设权重评价指标确定所述模块的重要性权重,所述模块的重要性权重表征所述模块在所述待评估系统中的重要性程度;根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分。
较佳地,所述服务器52,具体用于通过以下公式确定所述待评估系统的健康度评分:
其中,Hs表示待评估系统的健康度评分;
Wk表示待评估系统的第k个模块的重要性权重,k=1,2,……,N,N表示待评估系统的模块总数;
Mk表示待评估系统的第k个模块的健康度评分。
基于同一技术构思,本发明实施例还提供了一种电子设备600,参照图7 所示,电子设备600用于实施上述方法实施例记载的软件系统质量评估方法,该实施例的电子设备600可以包括:存储器601、处理器602以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如软件系统质量评估程序。所述处理器执行所述计算机程序时实现上述各个软件系统质量评估方法实施例中的步骤,例如图2所示的步骤S11。
本发明实施例中不限定上述存储器601、处理器602之间的具体连接介质。本申请实施例在图7中以存储器601、处理器602之间通过总线603连接,总线603在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线603可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器601可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器601也可以是非易失性存储器 (non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘 (hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器 601是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器601可以是上述存储器的组合。
处理器602,用于实现如图2所示的一种软件系统质量评估方法,包括:
所述处理器602,用于调用所述存储器601中存储的计算机程序执行如图 2中所示的步骤S11、获取待评估系统的各模块的历史故障数据、测试执行数据和测试缺陷数据,步骤S12、针对每一模块,根据该模块的历史故障数据、测试执行数据和测试缺陷数据构建评价因素集,步骤S13、确定各因素对应的权重,并根据各权重构建权重矩阵,步骤S14、根据预设评价规则确定从所述评价因素集到由预设质量等级构成的评语集的模糊关系矩阵,步骤S15、根据所述权重矩阵和所述模糊关系矩阵确定所述模块的质量等级评价结果,根据所述模块的质量等级评价结果确定所述模块的健康度评分,和步骤S16、根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分。
本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本发明提供的软件系统质量评估方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述描述的根据本发明各种示例性实施方式的软件系统质量评估方法中的步骤,例如,所述电子设备可以执行如图2中所示的步骤S11、获取待评估系统的各模块的历史故障数据、测试执行数据和测试缺陷数据,步骤S12、针对每一模块,根据该模块的历史故障数据、测试执行数据和测试缺陷数据构建评价因素集,步骤 S13、确定各因素对应的权重,并根据各权重构建权重矩阵,步骤S14、根据预设评价规则确定从所述评价因素集到由预设质量等级构成的评语集的模糊关系矩阵,步骤S15、根据所述权重矩阵和所述模糊关系矩阵确定所述模块的质量等级评价结果,根据所述模块的质量等级评价结果确定所述模块的健康度评分,和步骤S16、根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种软件系统质量评估方法,其特征在于,包括:
获取待评估系统的各模块的历史故障数据、测试执行数据和测试缺陷数据;
针对每一模块,根据该模块的历史故障数据、测试执行数据和测试缺陷数据构建评价因素集,其中,所述评价因素集为模块质量的影响因素的集合,所述历史故障数据、所述测试执行数据和所述测试缺陷数据为所述评价因素集的因素;
确定各因素对应的权重,并根据各权重构建权重矩阵;
根据预设评价规则确定从所述评价因素集到由预设质量等级构成的评语集的模糊关系矩阵,所述评语集为模块质量的评价标准的集合;
根据所述权重矩阵和所述模糊关系矩阵确定所述模块的质量等级评价结果,根据所述模块的质量等级评价结果确定所述模块的健康度评分;
根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分。
2.如权利要求1所述的方法,其特征在于,根据预设评价规则确定从所述评价因素集到由预设质量等级构成的评语集的模糊关系矩阵,具体包括:
根据预设评价规则分别确定所述各因素针对评语的隶属度为所述评语集上的模糊子集;
将各模糊子集组成从所述评价因素集到所述评语集的模糊关系矩阵。
3.如权利要求2所述的方法,其特征在于,所述历史故障数据包括指定时间段内模块的历史反馈bug数和历史重构次数;所述测试执行数据包括模块的测试用例执行率、测试用例通过率和需求实现率;所述测试缺陷数据包括模块的bug增长率、bug占比、bug修复率、bug年龄和bug严重级别占比;
根据预设评价规则分别确定所述各因素针对评语的隶属度为所述评语集上的模糊子集,具体包括:
针对所述评价因素集的因素历史故障数据,根据预设的反馈bug数、重构次数和质量等级的对应关系,获得所述历史故障数据针对所述评语集中各质量等级的第一评分,根据所述第一评分确定所述历史故障数据针对评语的隶属度为所述评语集上的模糊子集;
针对所述评价因素集的因素测试执行数据,根据预设的测试用例执行率、测试用例通过率、需求实现率和质量等级的对应关系,获得所述测试执行数据针对所述评语集中各质量等级的第二评分,根据所述第二评分确定所述测试执行数据针对评语的隶属度为所述评语集上的模糊子集;
针对所述评价因素集的因素测试缺陷数据,根据预设的bug增长率、bug占比、bug修复率、bug年龄、bug严重级别占比和质量等级的对应关系,获得所述测试缺陷数据针对所述评语集中各质量等级的第三评分,根据所述第三评分确定所述测试缺陷数据针对评语的隶属度为所述评语集上的模糊子集。
4.如权利要求1所述的方法,其特征在于,所述模块的质量等级评价结果包括模块的质量等级和模块的质量评分;
根据所述模块的质量等级评价结果确定所述模块的健康度评分,具体包括:
将所述模块的质量评分进行归一化处理,获得所述模块归一化后的质量评分;
根据所述模块归一化后的质量评分和所述模块的质量等级确定所述模块的健康度评分。
5.如权利要求4所述的方法,其特征在于,
针对每一模块,通过以下公式确定所述模块的质量评分:
B=max(A*R)
其中,B表示模块的质量评分;
A表示评价因素集U中各因素对应的权重组成的权重矩阵,U={ui},i=1,2,……,m,ui表示评价因素集U中的第i个因素,m为评价因素集U中的因素个数,A=[ωi],ωi表示评价因素集U中第i个因素的权重;
R表示从评价因素集U到评语集V的模糊关系矩阵,V表示由预设质量等级构成的评语集,V={vj},j=1,2,……,n,n为预设质量等级的个数,vj表示第j个预设质量等级,Ri=(rij)=(ri1,ri2,……,rin),Ri表示评价因素集U中的第i个因素的隶属度为评语集V上的模糊子集,rij表示评价因素集U中的第i个因素针对评语集V中的第j个质量等级的评分,以及
将所述模块的质量评分B在矩阵(A*R)与在评语集V中相同位置处对应的质量等级确定为所述模块的质量等级。
6.如权利要求4所述的方法,其特征在于,
根据所述模块归一化后的质量评分和所述模块的质量等级确定所述模块的健康度评分,具体包括:
根据预设的质量等级与分值范围的对应关系,确定所述模块的质量等级对应的最小分值和最大分值;
根据所述最小分值、最大分值与所述模块归一化后的质量评分确定所述模块的健康度评分。
7.如权利要求1~6任一项所述的方法,其特征在于,根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分,具体包括:
针对每一模块,根据预设权重评价指标确定所述模块的重要性权重,所述模块的重要性权重表征所述模块在所述待评估系统中的重要性程度;
根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分。
9.一种软件系统质量评估装置,其特征在于,包括:
获取单元,用于获取待评估系统的各模块的历史故障数据、测试执行数据和测试缺陷数据;
评价因素集构建单元,用于针对每一模块,根据该模块的历史故障数据、测试执行数据和测试缺陷数据构建评价因素集,其中,所述评价因素集为模块质量的影响因素的集合,所述历史故障数据、所述测试执行数据和所述测试缺陷数据为所述评价因素集的因素;
权重矩阵构建单元,用于确定各因素对应的权重,并根据各权重构建权重矩阵;
第一确定单元,用于根据预设评价规则确定从所述评价因素集到由预设质量等级构成的评语集的模糊关系矩阵,所述评语集为模块质量的评价标准的集合;
第二确定单元,用于根据所述权重矩阵和所述模糊关系矩阵确定所述模块的质量等级评价结果,根据所述模块的质量等级评价结果确定所述模块的健康度评分;
第三确定单元,用于根据所述待评估系统的各模块的健康度评分以及各模块的重要性权重确定所述待评估系统的健康度评分。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~8任一项所述的软件系统质量评估方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~8任一项所述的软件系统质量评估方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010509568.1A CN111813657B (zh) | 2020-06-05 | 2020-06-05 | 一种软件系统质量评估方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010509568.1A CN111813657B (zh) | 2020-06-05 | 2020-06-05 | 一种软件系统质量评估方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111813657A true CN111813657A (zh) | 2020-10-23 |
CN111813657B CN111813657B (zh) | 2024-02-13 |
Family
ID=72845894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010509568.1A Active CN111813657B (zh) | 2020-06-05 | 2020-06-05 | 一种软件系统质量评估方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813657B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113807713A (zh) * | 2021-09-22 | 2021-12-17 | 中国联合网络通信集团有限公司 | 一种产品质量评估方法及工业互联网标识解析系统 |
CN114546841A (zh) * | 2022-02-09 | 2022-05-27 | 上海天好信息技术股份有限公司 | 基于云计算的软件质量评估方法 |
EP4016307A1 (de) * | 2020-12-16 | 2022-06-22 | TÜV Informationstechnik GmbH | Computersystem, verfahren und computerprogramm zur auditierung komplexer informationen |
CN116012039A (zh) * | 2022-12-30 | 2023-04-25 | 广西电网有限责任公司南宁供电局 | 一种基于双向匹配的电力生态伙伴资源配比方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177639A (zh) * | 2019-12-11 | 2020-05-19 | 广东工业大学 | 一种基于模糊分析的室内空气质量评价方法 |
-
2020
- 2020-06-05 CN CN202010509568.1A patent/CN111813657B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177639A (zh) * | 2019-12-11 | 2020-05-19 | 广东工业大学 | 一种基于模糊分析的室内空气质量评价方法 |
Non-Patent Citations (7)
Title |
---|
朱锐;王成良;: "运用模糊综合评判理论评价软件质量", 计算机系统应用, no. 04, pages 148 - 151 * |
李湘娟: "基于FMEA的软件质量模糊综合评价研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, pages 138 - 269 * |
王勇利;王鑫;: "基于改进AHP-Fuzzy的面向测试的软件质量评价模型", 计算机测量与控制, no. 03, pages 260 - 266 * |
王江晴;江迎春;: "基于熵权的软件质量模糊评价模型设计与实现", 计算机与数字工程, no. 02, pages 29 - 30 * |
赵晓霞;谭夏侃;: "数据包络分析的模糊综合评判法的应用", 中国考试, no. 02, pages 40 - 45 * |
赵正海,王 斌: "基于模糊理论的软件质量评估方法研究", 《舰船电子工程》, pages 116 - 117 * |
马思群;王红珍;孙彦彬;: "基于模糊理论的软件质量评价方法应用研究", 大连交通大学学报, no. 04, pages 18 - 21 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4016307A1 (de) * | 2020-12-16 | 2022-06-22 | TÜV Informationstechnik GmbH | Computersystem, verfahren und computerprogramm zur auditierung komplexer informationen |
DE102020133828A1 (de) | 2020-12-16 | 2022-06-23 | TÜV Informationstechnik GmbH Unternehmensgruppe TÜV NORD | Computersystem, Verfahren und Computerprogramm zur Auditierung komplexer Informationen |
CN113807713A (zh) * | 2021-09-22 | 2021-12-17 | 中国联合网络通信集团有限公司 | 一种产品质量评估方法及工业互联网标识解析系统 |
CN114546841A (zh) * | 2022-02-09 | 2022-05-27 | 上海天好信息技术股份有限公司 | 基于云计算的软件质量评估方法 |
CN114546841B (zh) * | 2022-02-09 | 2023-10-27 | 上海天好信息技术股份有限公司 | 基于云计算的软件质量评估方法 |
CN116012039A (zh) * | 2022-12-30 | 2023-04-25 | 广西电网有限责任公司南宁供电局 | 一种基于双向匹配的电力生态伙伴资源配比方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111813657B (zh) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111813657B (zh) | 一种软件系统质量评估方法及装置 | |
CN109976998B (zh) | 一种软件缺陷预测方法、装置和电子设备 | |
CN110348615B (zh) | 基于蚁群优化支持向量机的电缆线路故障概率预测方法 | |
EP4075281A1 (en) | Ann-based program test method and test system, and application | |
CN113190424B (zh) | 一种对知识图谱推荐系统的模糊综合评价方法 | |
CN110083514B (zh) | 软件测试缺陷评估方法、装置、计算机设备及存储介质 | |
CN111626372B (zh) | 一种线上教学监督管理方法及系统 | |
CN112668476B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN109711707B (zh) | 一种船舶动力装置综合状态评估方法 | |
CN111598457B (zh) | 一种电力无线网络质量的确定方法及装置 | |
DE112021007027T5 (de) | Verfahren und vorrichtung zum durchführen eines lesevorgangs von einem flash-speicher unter verwendung vorhergesagter retentions- und lesestörungs- kompensierter schwellenspannungsverschiebungs-versatzwerte | |
Onuoha et al. | Economic expansion, energy sources and environmental quality in ECOWAS sub-region: evidence from a heterogeneous panel non-linear Autoregressive Distributed Lag (PNARDL) | |
CN115881238A (zh) | 模型训练方法、变压器故障诊断方法及相关装置 | |
CN111831545A (zh) | 测试用例生成方法、生成装置、计算机设备和存储介质 | |
CN110851784A (zh) | 一种现场运行电能表的预警方法 | |
DE102011086352A1 (de) | Verfahren und Diagnosesystem zur Unterstützung der geführten Fehlersuche in technischen Systemen | |
US20230368696A1 (en) | Coding test device and coding test method | |
CN114117916B (zh) | 一种基于bp神经网络的配电网故障参数辨识方法 | |
Mendes et al. | Investigating the use of chronological splitting to compare software cross-company and single-company effort predictions: a replicated study | |
CN116383048A (zh) | 软件质量信息处理方法及装置 | |
CN112700018B (zh) | 一种基于故障率的评价电力设备状态的方法及系统 | |
CN114580474A (zh) | 一种变压器声振故障诊断方法、系统、设备及存储介质 | |
CN113361903B (zh) | 油气管道外腐蚀风险评估方法、装置及设备 | |
CN113554246B (zh) | 基于层次分析的化学生产工艺变更绩效评估方法及装置 | |
CN115239502A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |