CN112416774B - 一种添加权重的软件可靠性测试方法 - Google Patents
一种添加权重的软件可靠性测试方法 Download PDFInfo
- Publication number
- CN112416774B CN112416774B CN202011329206.0A CN202011329206A CN112416774B CN 112416774 B CN112416774 B CN 112416774B CN 202011329206 A CN202011329206 A CN 202011329206A CN 112416774 B CN112416774 B CN 112416774B
- Authority
- CN
- China
- Prior art keywords
- weight
- layer
- fault
- time
- subsystem
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 75
- 238000004364 calculation method Methods 0.000 claims abstract description 58
- 230000006870 function Effects 0.000 claims abstract description 12
- 238000011156 evaluation Methods 0.000 claims abstract description 11
- 239000011159 matrix material Substances 0.000 claims description 11
- 238000012821 model calculation Methods 0.000 claims description 9
- 238000007476 Maximum Likelihood Methods 0.000 claims description 6
- 230000001186 cumulative effect Effects 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 6
- 238000013522 software testing Methods 0.000 abstract description 3
- 230000007547 defect Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000005728 strengthening Methods 0.000 description 2
- 230000003313 weakening effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013210 evaluation model 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—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种添加权重的软件可靠性测试方法。包括:将待测的软件系统按照不同的功能或业务模块分成若干分系统,根据分系统的特点,确定各个分系统的权重;测量获得故障的严重程度,确定故障的权重;将各个分系统的权重和故障的权重代入可靠性计算公式中进行计算,获得所有分系统的计算结果,再将所有分系统的计算结果整合,得到待测的软件系统的可靠性评价。相较于现有技术,本发明提供的软件测试方法弥补了当前方法中对权重因素影响的考虑不足的问题,使得软件测试结果的可靠性更高。
Description
技术领域
本发明涉及软件测试技术领域,尤其涉及一种添加权重的软件可靠性测试方法。
背景技术
20世纪以来,计算机已经成为各行各业不可或缺的工具,而随着软件规模的不断壮大,计算机操作的功能变得更加重要,更加复杂,这种复杂性同样造就了越来越多的失败系统,其最主要原因就是计算机软件的故障,因此对于软件可靠性的评估的重要性也在逐渐提升。
软件可靠性是指软件在规定的条件下和规定的时间内,完成功能的能力或不引起故障的能力。通过其定义可以看出软件可靠性对时效性和条件是十分敏感的。但是在可靠性计算中也存在时间不作为主要测试因素的计算方法,通常是以用户输入数据的不同及缺陷发生概率来衡量可靠度的,这种可靠性计算方法可以被看作是一种软件测试方法。在工程研制过程中的软件可靠性计算方面,还有另外一种常用的可靠性计算方法,即通过计算单位时间内系统缺陷出现的密度计算软件可靠度。虽然上述这些计算可靠性方法的具体细节不同,但是软件系统始终是由框架及不同的模块组成的。
文献1:《基于架构的软件可靠性计算》2016说明根据ISO/IEC 9126国际标准的规定,软件的可靠性是衡量软件质量的一个非常重要的标准,使得人们越来越热衷于且越来越关注于软件可靠性的研究。从IEEE计算机软件可靠性年会开启至今,学术界及政府和工业领域都相应的展开了对计算机软件可靠性的深入研究。
文献2:《基于程序不变量的软件可靠性计算》2015阐述了软件可靠性的重要度,开发者必须要对软件进行充分的测试使软件达到规定的要求,来确保投入使用的软件系统具有良好的可靠性,才能从根本上减轻软件危机。
文献3:《模型驱动架构的系统结构可靠性计算方法及提升理论》2013指出应合理分配时间、资源并及时发现软件缺陷、修复缺陷和纠正缺陷,使现有的时间和资源通过合理的分配,从而使软件发挥最大效力。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种添加权重计算的可靠性计算方法,区分故障数据严重等级,根据不同等级确定权重,同时确定软件系统不同功能模块的重要度,根据不同重要度确定权重,从而能够对软件系统可靠性有更准确地评价。
本发明提供一种添加权重的软件可靠性测试方法,包括:
步骤1,将待测的软件系统按照不同的功能或业务模块分成若干分系统,根据所述分系统的特点,确定各个所述分系统的权重;
步骤2,测量获得故障的严重程度,确定所述故障的权重;
步骤3,将所述各个分系统的权重和故障的权重代入可靠性计算公式中进行计算,获得所有所述分系统的计算结果,再将所述所有分系统的计算结果整合,得到所述待测的软件系统的可靠性评价。
进一步地,在一种实现方式中,所述步骤1,包括:
使用层次分析法,确定所述待测的软件系统中各个分系统的权重;
所述层次分析法分为方案层P,准则层C和目标层O,其中,所述方案层P表示各个方案,所述准则层表示各个方案的特点,所述目标层表示最终结果;
针对所述待测的软件系统,所述方案层P对应各个分系统,所述准则层C对应各个分系统的特点,通过使用层次分析法结合各个所述分系统的特点决定各个分系统的权重;所述特点包括使用频率、软件运行流畅情况和分系统重要程度;所述目标层O对应各个分系统的权重。
进一步地,在一种实现方式中,所述步骤1,包括:
针对不同的软件系统,按照实际使用情况设计所述准则层C的内容,得到第一层准则层到第n层准则层C1,C2,…,Cn;
对所述准则层C的元素进行两两对比,获得的对比结果即标度,所述标度为从1到9的整数;其中,标度为1表示第a元素Ca与第b元素Cb同等重要,标度为9表示第a元素Ca远比第b元素Cb重要,得到判断矩阵A:
其中,所述权重记为W=[W1,W2,…,Wn],分别代表第一层准则层到第n层准则层C1,C2,…,Cn在上述过程中的标度,用于计算所述准则层C对目标层O的权重;具体的,权重W可参考使用经验、实际使用情况或咨询相关专家获得。
右乘列向量,令(A-n)W=0,并将权重W归一化,得到所述准则层C对方案层P的权重;
对于AW=λW,定义一致性指标当所述一致性指标CI越接近0,表示计算结果与实际情况一致性越好;定义一致性比率当所述一致性比率CR<0.1时,表示一致性较好;否则以调整标度的方式调整所述判断矩阵A,重新计算权重W的值;
计算所述方案层P对目标层O的影响,设有三个分系统P1,P2,P3,五项准则层C1,C2,C3,C4,C5;
从第一准则层C1开始计算对目标层O的权重:
根据以下公式,计算所述三个分系统P1,P2,P3对准则层C的权重:
所述方案层P对目标层O的权重为W=WC·WO;
总体一致性比率为:
其中,Wi为各项权重,i=1,2,3,4,5,一致性比率CR<0.1为合格;不合格则调整所述判断矩阵A,重新计算所述方案层P对准则层C的权重。
进一步地,在一种实现方式中,在确定各个分系统的权重后,为了不影响最终的结果,将各个所述分系统的权重与分系统的数量的乘积作为最终的权重,用于抵消计算权重过程中因归一化造成的影响。
进一步地,在一种实现方式中,所述步骤2,包括:
使用层次分析法确定故障的权重,所述故障的权重的确定过程与步骤1中确定各个所述分系统的权重的过程相同;
即所述方案层为不同的故障类别,所述准则层为不同类别故障对系统造成的影响,所述不同类别故障对系统造成的影响包括使系统停止正常运行的时间、影响域、故障发生后造成的损失,所述目标层为经过综合分析的结果;
计算得到故障的权重后,将各个所述故障的权重与故障总数的乘积作为最终的权重结果,用于抵消计算权重过程中因归一化造成的影响。
进一步地,在一种实现方式中,所述步骤3,包括:
步骤3-1,对所述待测的软件系统进行可靠性测试,收集系统故障信息,所述系统故障信息包括系统发生故障的时间和故障的严重程度,计算相邻两次系统故障之间的时间差,作为故障时间间隔;
步骤3-2,根据收集到的故障时间间隔,确定故障严重程度后根据层次分析法计算各个故障的权重的值,将所述故障时间间隔除以各自的权重的值得到加权后的故障时间间隔;
步骤3-3,基于计算得到的故障时间间隔数据,通过Schneidewind模型计算方法,计算出每个分系统的平均故障间隔时间MTBF分;
步骤3-4,根据所述的层次分析法,计算各个分系统的权重,将各个分系统的权重分别与其平均故障间隔时间相乘,得到新的平均故障间隔时间MTBF′分;
步骤3-6,根据基本可靠性模型计算方法,计算得到整个系统的失效强度;
步骤3-7,根据Schneidewind模型计算方法计算得到平均故障间隔时间和最大故障数可靠性指标作为可靠性评价指标。
进一步地,在一种实现方式中,所述步骤3,包括:
将整个测试过程分为m个等长的时间段数据,并在每个时间段内测试失效数;
根据以下公式计算Schneidewind模型的最大似然函数的自然对数形式:
其中,L表示最大似然函数;m表示测试时间段的总数;s表示第s个测试时间段,表示模型参数评估所用观测数据的起始时间段,1≤s≤m;N(s-1)表示在区间[1,s-1]内的观测失效数,区间[1,s-1]表示第1个时间段至第s-1个时间段的时间长度;N(s-m)表示在区间[s-m]内的观测失效数,区间[s-m]表示第s个时间段至第m个时间段的时间长度;N(s+k)表示在区间[1,s+k]内的观测失效数,区间[1,s+k]表示第1个时间段至第s+k个时间段的时间长度;N(m)表示在区间[1,m]内的观测失效数,区间[1,m]表示第1个时间段至第m个时间段的时间长度;
使用来自时间段1到时间段m,即s=1的所有失效数进行参数估计;
根据以下公式,估计模型参数α和β:
其中,α表示程序的初始失效强度,α>0;β表示随时间对失效强度产生影响的比例常数,β>0;N(m)表示在区间[1,m]内的观测失效数;N(k+1)表示在区间[1,k+1]内的观测失效数,区间[1,k+1]表示第1个时间段至第k+1个时间段的时间长度,0≤k≤m-1;
假设当前测试时间段为τn,共发现了n个失效,当前的失效强度如下式所示:
λ(τn)=αexp(-β(τn-s+1)) (A.4)
其中,λ(τn)表示当前失效强度;
假设当前测试时间段为τn,共发现了n个失效,则当前的MTBF值,即平均故障间隔时间如下式所示:
MTBF(τn)=1/αexp(-β(τn-s+1)) (A.5)
其中,MTBF(τn)表示当前MTBF值;
在时间段τ的累计失效数的预计值如下式所示:
其中,Np(τ)表示在时段τ的累计失效数的预计值。
本发明在传统的可靠性计算方法基础上引入两个权重指标,同时考虑到分系统重要度与故障严重程度对系统可靠性的影响,提高系统可靠性计算的精确度,方便更准确地计算系统可靠性指标。
本发明的原理是:通过改变系统可靠性的计算系数来影响可靠性计算结果,使计算过程中充分考虑分系统重要度与故障严重程度的影响,从而使可靠性计算结果更为准确。把不同软件系统、不同软件结构及模块,以框架的形式表示出来,以模块的组合和单个模块的可靠性测试或预测值作为可靠性的计算基础,通过对软件系统中不同模块框架结构组合方式的分析计算出系统可靠度。
现有的可靠性计算过程中单纯地采集故障间隔时间进行计算,而实际软件系统中由于不同分系统出现故障时对整体的影响也并不相同,同时出现不同严重程度的故障时对系统的影响也同样不同,因此需要细化系统的可靠性计算过程,综合考虑不同分系统以及不同严重程度的故障对系统整体的影响,从而使可靠性结果更为可靠。
具体的,相较于现有技术,本发明的显著优点是:
1、提出一种加权计算的可靠性计算方法,弥补当前可靠性计算方法中很少考虑权重因素影响的不足。
2、对分系统划分权重,使重要的分系统对可靠性的影响更大。
3、对故障严重程度划分权重,加强严重性较高的故障对系统可靠性的影响,弱化严重性较低的故障对系统可靠性的影响。
4、各系统分别计算可靠性再进行整合,实际操作时可以分模块进行测试,不必对系统整体测试后再分析可靠性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例部分提供的一种添加权重的软件可靠性测试方法中可靠性计算方法的工作流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例公开一种添加权重的软件可靠性测试方法,本方法应用于软件系统的可靠性计算过程。
如图1所示,本实施例所述的一种添加权重的软件可靠性测试方法,包括:
步骤1,将待测的软件系统按照不同的功能或业务模块分成若干分系统,根据所述分系统的特点,确定各个所述分系统的权重;
步骤2,测量获得故障的严重程度,确定所述故障的权重;
步骤3,将所述各个分系统的权重和故障的权重代入可靠性计算公式中进行计算,获得所有所述分系统的计算结果,再将所述所有分系统的计算结果整合,得到所述待测的软件系统的可靠性评价。
本实施例所述的一种添加权重的软件可靠性测试方法中,所述步骤1,包括:
使用层次分析法,确定所述待测的软件系统中各个分系统的权重;
所述层次分析法分为方案层P,准则层C和目标层O,其中,所述方案层P表示各个方案,所述准则层表示各个方案的特点,所述目标层表示最终结果;
针对所述待测的软件系统,所述方案层P对应各个分系统,所述准则层C对应各个分系统的特点,所述特点通过使用层次分析法决定分系统权重;所述特点包括使用频率、软件运行流畅情况和分系统重要程度;所述目标层O对应各个分系统的权重。
本实施例所述的一种添加权重的软件可靠性测试方法中,所述步骤1,包括:
针对不同的软件系统,按照实际使用情况设计所述准则层C的内容,得到第一层准则层到第n层准则层C1,C2,…,Cn;具体的,本实施例中,如:设计某软件系统准则层C1为软件的使用频率,C2为软件运行流畅情况,C3为分系统重要程度,C4为软件负载承受能力,C5为软件使用简易程度
对所述准则层C的元素进行两两对比,获得的对比结果即标度,所述标度为从1到9的整数;其中,标度为1表示第a元素Ca与第b元素Cb同等重要,标度为9表示第a元素Ca远比第b元素Cb重要,得到判断矩阵A:
其中,所述权重记为W=[W1,W2,…,Wn],分别代表第一层准则层到第n层准则层C1,C2,…,Cn在上述过程中的标度,用于计算所述准则层C对目标层O的权重;具体的,本实施例中,权重W可参考使用经验、实际使用情况或咨询相关专家获得。
例如,假设现在有判断矩阵A:
如A(2,1)表示第一元素C1的重要度是第二元素C2的两倍。
右乘列向量,令(A-n)W=0,并将权重W归一化,得到所述准则层C对方案层P的权重;
对于AW=λW,定义一致性指标当所述一致性指标CI越接近0,表示计算结果与实际情况一致性越好;定义一致性比率当所述一致性比率CR<0.1时,表示一致性较好;否则以调整标度的方式调整所述判断矩阵A,重新计算权重W的值;
本实施例中,所述一致性指标如表1所示:
n | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
R<sub>I</sub> | 0 | 0 | 0.58 | 0.9 | 1.12 | 1.24 | 1.32 | 1.41 | 1.45 | 1.49 | 1.51 |
表1一致性指标
计算所述方案层P对目标层O的影响,设有三个分系统P1,P2,P3,五项准则层C1,C2,C3,C4,C5;
从第一准则层C1开始计算对目标层O的权重:
根据以下公式,计算所述三个分系统P1,P2,P3对准则层C的权重:
所述方案层P对目标层O的权重为W=WC·WO;
总体一致性比率为:
其中,Wi为各项权重,i=1,2,3,4,5,一致性比率CR<0.1为合格;不合格则调整所述判断矩阵A,重新计算所述方案层P对准则层C的权重。
本实施例所述的一种添加权重的软件可靠性测试方法中,在确定各个分系统的权重后,为了不影响最终的结果,将各个所述分系统的权重与分系统的数量的乘积作为最终的权重,用于抵消计算权重过程中因归一化造成的影响。
本实施例所述的一种添加权重的软件可靠性测试方法中,所述步骤2,包括:
使用层次分析法确定故障的权重,所述故障的权重的确定过程与步骤1中确定各个所述分系统的权重的过程相同;
即所述方案层为不同的故障类别,所述准则层为不同类别故障对系统造成的影响,所述不同类别故障对系统造成的影响包括使系统停止正常运行的时间、影响域、故障发生后造成的损失,所述目标层为经过综合分析的结果;
计算得到故障的权重后,将各个所述故障的权重与故障总数的乘积作为最终的权重结果,用于抵消计算权重过程中因归一化造成的影响。
本实施例所述的一种添加权重的软件可靠性测试方法中,所述步骤3,包括:
步骤3-1,对所述待测的软件系统进行可靠性测试,收集系统故障信息,所述系统故障信息包括系统发生故障的时间和故障的严重程度,计算相邻两次系统故障之间的时间差,作为故障时间间隔;
具体的,本实施例中,收集到的数据如表2所示:
故障间隔时间 | T<sub>1</sub> | T<sub>2</sub> | … | T<sub>n</sub> |
故障严重程度 | 严重 | 轻微 | … | 一般 |
表2收集获得的系统故障信息
步骤3-2,根据收集到的故障时间间隔,确定故障严重程度后根据层次分析法计算各个故障的权重的值,将所述故障时间间隔除以各自的权重的值得到加权后的故障时间间隔;具体的,本实施例中,如对现有某软件系统进行软件测试,可以根据不同的功能将其分为m个分系统,使用层次分析法,经一系列计算后得到各个分系统的权重,将每个权重乘以m,记为Q21,Q22,…,Q2m作为各个分系统的权重。
步骤3-3,基于计算得到的故障时间间隔数据,通过Schneidewind模型计算方法,计算出每个分系统的平均故障间隔时间MTBF分;
步骤3-4,根据所述的层次分析法,计算各个分系统的权重,将各个分系统的权重分别与其平均故障间隔时间相乘,得到新的平均故障间隔时间MTBF′分;
步骤3-6,根据基本可靠性模型计算方法,计算得到整个系统的失效强度;
步骤3-7,根据Schneidewind模型计算方法计算得到平均故障间隔时间和最大故障数可靠性指标作为可靠性评价指标。
本实施例所述的一种添加权重的软件可靠性测试方法中,所述步骤3,包括:
本实施例中,Schneidewind模型是一种可靠性增长型模型,其基本观点是随着测试的进行失效检测过程会发生变更,因此这种模型是一种动态的测试评估模型。这种模型将整个测试过程分为m个等长的时间段数据,并在每个时间段内测试失效数。
这种模型的假设如下:
(1)一个时段内的检测失效数独立于另一个时段内的检测失效数
(2)仅对新失效进行计数
(3)故障纠正率与待纠正的故障数成正比
(4)软件按照与预期使用相似的方式运行
(5)每个时段内检测到的失效数均值随时间段递减
(6)所有时间段长度相同
(7)失效强度与测试中检测到的失效数成正比
具体计算过程如下所示:
将整个测试过程分为m个等长的时间段数据,并在每个时间段内测试失效数;
根据以下公式计算Schneidewind模型的最大似然函数的自然对数形式:
其中,L表示最大似然函数;m表示测试时间段的总数;s表示第s个测试时间段,表示模型参数评估所用观测数据的起始时间段,1≤s≤m;N(s-1)表示在区间[1,s-1]内的观测失效数,区间[1,s-1]表示第1个时间段至第s-1个时间段的时间长度;N(s-m)表示在区间[s-m]内的观测失效数,区间[s-m]表示第s个时间段至第m个时间段的时间长度;N(s+k)表示在区间[1,s+k]内的观测失效数,区间[1,s+k]表示第1个时间段至第s+k个时间段的时间长度;N(m)表示在区间[1,m]内的观测失效数,区间[1,m]表示第1个时间段至第m个时间段的时间长度;
使用来自时间段1到时间段m,即s=1的所有失效数进行参数估计;
根据以下公式,估计模型参数α和β:
其中,α表示程序的初始失效强度,α>0;β表示随时间对失效强度产生影响的比例常数,β>0;N(m)表示在区间[1,m]内的观测失效数;N(k+1)表示在区间[1,k+1]内的观测失效数,区间[1,k+1]表示第1个时间段至第k+1个时间段的时间长度,0≤k≤m-1;
假设当前测试时间段为τn,共发现了n个失效,当前的失效强度如下式所示:
λ(τn)=αexp(-β(τn-s+1)) (A.4)
其中,λ(τn)表示当前失效强度;
假设当前测试时间段为τn,共发现了n个失效,则当前的MTBF值,即平均故障间隔时间如下式所示:
MTBF(τn)=1/αexp(-β(τn-s+1)) (A.5)
其中,MTBF(τn)表示当前MTBF值;
在时间段τ的累计失效数的预计值如下式所示:
其中,Np(τ)表示在时段τ的累计失效数的预计值。
现有的可靠性计算过程中单纯地采集故障间隔时间进行计算,而实际软件系统中由于不同分系统出现故障时对整体的影响也并不相同,同时出现不同严重程度的故障时对系统的影响也同样不同,因此需要细化系统的可靠性计算过程,综合考虑不同分系统以及不同严重程度的故障对系统整体的影响,从而使可靠性结果更为可靠。
具体的,相较于现有技术,本发明的显著优点是:
1、提出一种加权计算的可靠性计算方法,弥补当前可靠性计算方法中很少考虑权重因素影响的不足。
2、对分系统划分权重,使重要的分系统对可靠性的影响更大。
3、对故障严重程度划分权重,加强严重性较高的故障对系统可靠性的影响,弱化严重性较低的故障对系统可靠性的影响。
4、各系统分别计算可靠性再进行整合,实际操作时可以分模块进行测试,不必对系统整体测试后再分析可靠性。
具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的一种添加权重的软件可靠性测试方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,ROM)或随机存储记忆体(random access memory,RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。以上所述的本发明实施方式并不构成对本发明保护范围的限定。
Claims (5)
1.一种添加权重的软件可靠性测试方法,其特征在于,包括:
步骤1,将待测的软件系统按照不同的功能或业务模块分成若干分系统,根据所述分系统的特点,确定各个所述分系统的权重;
步骤2,测量获得故障的严重程度,确定所述故障的权重;
步骤3,将所述各个分系统的权重和故障的权重代入可靠性计算公式中进行计算,获得所有所述分系统的计算结果,再将所述所有分系统的计算结果整合,得到所述待测的软件系统的可靠性评价;
所述步骤3,包括:
步骤3-1,对所述待测的软件系统进行可靠性测试,收集系统故障信息,所述系统故障信息包括系统发生故障的时间和故障的严重程度,计算相邻两次系统故障之间的时间差,作为故障时间间隔;
步骤3-2,根据收集到的故障时间间隔,确定故障严重程度后根据层次分析法计算各个故障的权重的值,将所述故障时间间隔除以各自的权重的值得到加权后的故障时间间隔;
步骤3-3,基于计算得到的故障时间间隔数据,通过Schneidewind模型计算方法,计算出每个分系统的平均故障间隔时间MTBF分;
步骤3-4,根据所述的层次分析法,计算各个分系统的权重,将各个分系统的权重分别与其平均故障间隔时间相乘,得到新的平均故障间隔时间MTBF' 分 ;
步骤3-6,根据基本可靠性模型计算方法,计算得到整个系统的失效强度;
步骤3-7,根据Schneidewind模型计算方法计算得到平均故障间隔时间和最大故障数可靠性指标作为可靠性评价指标;
所述步骤3,包括:
将整个测试过程分为m个等长的时间段数据,并在每个时间段内测试失效数;
根据以下公式计算Schneidewind模型的最大似然函数的自然对数形式:
其中,L表示最大似然函数;m表示测试时间段的总数;s表示第s个测试时间段,表示模型参数评估所用观测数据的起始时间段,1≤s≤m;N(s-1)表示在区间[1,s-1]内的观测失效数,区间[1,s-1]表示第1个时间段至第s-1个时间段的时间长度;N(s-m)表示在区间[s-m]内的观测失效数,区间[s-m]表示第s个时间段至第m个时间段的时间长度;N(s+k)表示在区间[1,s+k]内的观测失效数,区间[1,s+k]表示第1个时间段至第s+k个时间段的时间长度;N(m)表示在区间[1,m]内的观测失效数,区间[1,m]表示第1个时间段至第m个时间段的时间长度;
使用来自时间段1到时间段m,即s=1的所有失效数进行参数估计;
根据以下公式,估计模型参数α和β:
其中,α表示程序的初始失效强度,α>0;β表示随时间对失效强度产生影响的比例常数,β>0;N(m)表示在区间[1,m]内的观测失效数;N(k+1)表示在区间[1,k+1]内的观测失效数,区间[1,k+1]表示第1个时间段至第k+1个时间段的时间长度,0≤k≤m-1;
假设当前测试时间段为τn,共发现了n个失效,当前的失效强度如下式所示:
λ(τn)=αexp(-β(τn-s+1)) (A.4)
其中,λ(τn)表示当前失效强度;
假设当前测试时间段为τn,共发现了n个失效,则当前的MTBF值,即平均故障间隔时间如下式所示:
MTBF(τn)=1/α exp(-β(τn-s+1)) (A.5)
其中,MTBF(τn)表示当前MTBF值;
在时间段τ的累计失效数的预计值如下式所示:
其中,Np(τ)表示在时段τ的累计失效数的预计值。
2.根据权利要求1所述的一种添加权重的软件可靠性测试方法,其特征在于,所述步骤1,包括:
使用层次分析法,确定所述待测的软件系统中各个分系统的权重;
所述层次分析法分为方案层P,准则层C和目标层O,其中,所述方案层P表示各个方案,所述准则层表示各个方案的特点,所述目标层表示最终结果;
针对所述待测的软件系统,所述方案层P对应各个分系统,所述准则层C对应各个分系统的特点,通过使用层次分析法结合各个所述分系统的特点决定各个分系统的权重;所述特点包括使用频率、软件运行流畅情况和分系统重要程度;所述目标层O对应各个分系统的权重。
3.根据权利要求2所述的一种添加权重的软件可靠性测试方法,其特征在于,所述步骤1,包括:
针对不同的软件系统,按照实际使用情况设计所述准则层C的内容,得到第一层准则层到第n层准则层C1,C2,…,Cn;
对所述准则层C的元素进行两两对比,获得的对比结果即标度,所述标度为从1到9的整数;其中,标度为1表示第a元素Ca与第b元素Cb同等重要,标度为9表示第a 元素Ca比第b元素Cb重要,得到判断矩阵A:
其中,所述权重记为W=[W1,W2,…,Wn],分别代表第一层准则层到第n层准则层C1,C2,…,Cn在上述过程中的标度,用于计算所述准则层C对目标层O的权重;
右乘列向量,令(A-n)W=0,并将权重W归一化,得到所述准则层C对方案层P的权重;
对于AW=λW,定义一致性指标当所述一致性指标CI越接近0,表示计算结果与实际情况一致性好,λ为矩阵W的特征向量;定义一致性比率RI表示随机性指标,当所述一致性比率CR<0.1时,表示一致性好;否则以调整标度的方式调整所述判断矩阵A,重新计算权重W的值;
计算所述方案层P对目标层O的影响,设有三个分系统P1,P2,P3,五项准则层C1,C2,C3,C4,C5;
从第一准则层C1开始计算对目标层O的权重:
根据以下公式,计算所述三个分系统P1,P2,P3对准则层C的权重:
所述方案层P对目标层O的权重为W=Wc·Wo;
总体一致性比率CR为:
4.根据权利要求3所述的一种添加权重的软件可靠性测试方法,其特征在于,在确定各个分系统的权重后,为了不影响最终的结果,将各个所述分系统的权重与分系统的数量的乘积作为最终的权重,用于抵消计算权重过程中因归一化造成的影响。
5.根据权利要求4所述的一种添加权重的软件可靠性测试方法,其特征在于,所述步骤2,包括:
使用层次分析法确定故障的权重,所述故障的权重的确定过程与步骤1中确定各个所述分系统的权重的过程相同;
即所述方案层为不同的故障类别,所述准则层为不同类别故障对系统造成的影响,所述不同类别故障对系统造成的影响包括使系统停止正常运行的时间、影响域、故障发生后造成的损失,所述目标层为经过综合分析的结果;
计算得到故障的权重后,将各个所述故障的权重与故障总数的乘积作为最终的权重结果,用于抵消计算权重过程中因归一化造成的影响。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011329206.0A CN112416774B (zh) | 2020-11-24 | 2020-11-24 | 一种添加权重的软件可靠性测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011329206.0A CN112416774B (zh) | 2020-11-24 | 2020-11-24 | 一种添加权重的软件可靠性测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112416774A CN112416774A (zh) | 2021-02-26 |
CN112416774B true CN112416774B (zh) | 2022-11-22 |
Family
ID=74777600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011329206.0A Active CN112416774B (zh) | 2020-11-24 | 2020-11-24 | 一种添加权重的软件可靠性测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112416774B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678101A (zh) * | 2012-09-10 | 2014-03-26 | 中国科学院软件研究所 | 高速列车网络控制系统的软件可靠性检测方法 |
CN106021097A (zh) * | 2016-05-09 | 2016-10-12 | 北京航空航天大学 | 基于测试特征的软件可靠性指标区间估计方法 |
WO2017008180A1 (zh) * | 2015-07-16 | 2017-01-19 | 广东产品质量监督检验研究院 | 一种光伏组件失效风险判别方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080313501A1 (en) * | 2007-06-14 | 2008-12-18 | National Tsing Hua University | Method and system for assessing and analyzing software reliability |
-
2020
- 2020-11-24 CN CN202011329206.0A patent/CN112416774B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678101A (zh) * | 2012-09-10 | 2014-03-26 | 中国科学院软件研究所 | 高速列车网络控制系统的软件可靠性检测方法 |
WO2017008180A1 (zh) * | 2015-07-16 | 2017-01-19 | 广东产品质量监督检验研究院 | 一种光伏组件失效风险判别方法 |
CN106021097A (zh) * | 2016-05-09 | 2016-10-12 | 北京航空航天大学 | 基于测试特征的软件可靠性指标区间估计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112416774A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111143981B (zh) | 虚拟试验模型验证系统及方法 | |
JP5768983B2 (ja) | 契約違反予測システム、契約違反予測方法および契約違反予測プログラム | |
CN107679734A (zh) | 一种用于无标签数据分类预测的方法和系统 | |
Park et al. | An embedded software reliability model with consideration of hardware related software failures | |
US9417940B2 (en) | Operations management system, operations management method and program thereof | |
CN111080117A (zh) | 设备风险标签的构建方法、装置、电子设备及存储介质 | |
CN102937534A (zh) | 一种基于组合预测模型对机电设备的故障预测方法 | |
CN111860698A (zh) | 确定学习模型的稳定性的方法和装置 | |
CN113837596A (zh) | 一种故障确定方法、装置、电子设备及存储介质 | |
CN109753408A (zh) | 一种基于机器学习的流程异常预测方法 | |
WO2017071369A1 (zh) | 一种预测用户离网的方法和设备 | |
CN115936266B (zh) | 轨道交通设备的可靠度预测方法、系统、设备和介质 | |
CN114661505A (zh) | 存储部件故障处理方法、装置、设备和存储介质 | |
CN110308713A (zh) | 一种基于k近邻重构的工业过程故障变量识别方法 | |
JP6975086B2 (ja) | 品質評価方法および品質評価装置 | |
CN112416774B (zh) | 一种添加权重的软件可靠性测试方法 | |
CN112907067A (zh) | 混凝土坝安全监测方法及系统 | |
CN111914424A (zh) | 一种基于短期测风资料的设计风速取值方法及系统 | |
CN110543417A (zh) | 一种对软件测试进行有效性评估的方法及评估装置 | |
CN110866696A (zh) | 商铺掉铺风险评估模型训练方法及装置 | |
CN114861800B (zh) | 模型训练方法、概率确定方法、装置、设备、介质及产品 | |
Sun et al. | Simulation of software reliability growth model based on fault severity and imperfect debugging | |
CN108629506A (zh) | 风控模型的建模方法、装置、计算机设备和存储介质 | |
CN113190985A (zh) | 一种分层异质区域内数据误差的分析方法及系统 | |
CN109190968B (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 | ||
CB02 | Change of applicant information |
Address after: 210000 No.1, Lingshan South Road, Qixia District, Nanjing City, Jiangsu Province Applicant after: THE 28TH RESEARCH INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY Group Corp. Address before: 210000 1 East Street, alfalfa garden, Qinhuai District, Nanjing, Jiangsu. Applicant before: THE 28TH RESEARCH INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY Group Corp. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |