基于畸化操作剖面的操作重要度评估
2019-05-22肖静杰
肖静杰
摘要:在高可靠软件加速测试中,畸化操作剖面测试方法能够解决测试用例过多的难点。畸化操作剖面的基本思想是根据操作重要度来提升重要操作的发生概率,因此构建一个准确的操作重要度因子是使用该方法的前提。针对现有操作重要度还未建立定量的评估体系这个问题,本文提出了软件操作的重要度概念及度量定义,并给出了操作重要度的分析计算方法。定量的操作重要度能够有助于更加准确地构造畸化操作剖面。
关键词:高可靠软件;加速测试;畸化操作剖面;操作重要度
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2019)06-0226-02
软件可靠性测试的主要思想是按照用户对软件实际使用的统计规律进行随机测试,目前通常采用操作剖面的形式对软件的使用情况进行建模,然后在建模的基础之上生成测试数据进行测试。
在高可靠软件中,存在一些重要操作,这些操作可能发生的概率很小,如果按照用户操作剖面来进行测试的话,这些操作得到的测试资源将可能会非常少,或者是得到的测试资源不够充足。通过畸化操作剖面方面,人为地将重要操作的发生概率提高。为了构造准确的畸化操作剖面,首先要对操作的重要度进行定量评估。
本文首先对现有的畸化操作剖面的软件重要度评估方法进行分析,随后提出了定量的重要度评估方法。
1现有的关键操作的区分
畸化操作剖面的概念是由Tang D提出的,基本思想是假设关键操作在原始操作剖面中所占的比例较低,但具有较高的失效率。针对这些重要操作,将发生的概率人为提高,就可以加速软件的失效过程,从而加速软件可靠性测试的过程。同时通过似然比理论,将基于畸化操作剖面情况下的可靠性测试中收集得到的失效数据转化为正常操作剖面情况下的失效数据,进而可以使用传统的软件可靠性模型对目标软件的可靠性进行评估。其中,关键操作的划分是根据NASA航天飞机的数据统计。在这份数据中表明稀有事件是软件系统失效的重要原因。
根据这份数据统计,现有的操作重要度的定义为发生概率稀少的操作。因此,在Tang D的畸化操作剖面方法中,对发生概率小的操作统一定义为重要操作。在这其中忽略了小概率操作中的非重要操作与中概率中重要度较高的操作。同时没有针对操作的重要度建立定量的评估体系,这样构造的畸化操作剖面是不准确的。
2操作重要度分析计算
对软件来说,不同软件操作的重要度并不相同,对于由于操作输入造成严重事故的失效输出,在测试时应该投入更大的测试资源来提高该操作的测试充分性,保证引发失效的操作得到了充分测试,从而避免重大事故的发生。所以对于操作重要度的度量不能仅仅以操作的发生概率来定义,需要同时考虑该操作可能引发的事故的严重程度。
定义1:操作的重要度是通过该操作在软件中的失效概率与失效产生的严重度来综合评估。
操作的重要度:操作的失效概率*失效严重程度
其中操作的失效概率是操作的发生概率与操作的失效概率的乘积,操作的失效严重程度是失效带来的经济损失和人员伤亡人数的乘积。
对于操作的失效发生概率高,導致的严重程度高的操作,其重要度比较高,从而需要重点测试。
由于在进行重要度分析时,在某些情况下会得到不明确的结果。例如:
第一个操作的评分结果为:
操作的失效概率=0.55;失效严重程度=100(元)。操作重要度评分结果:55
第二个操作的评分结果为:
操作的失效概率=0.00011;失效严重程度=100000(元)*5(名人员伤亡)。操作重要度评分结果:55
这两种的操作重要度值一致,但是第二种操作的失效程度更为严重,应该更加需要测试。
为了避免这种情况重要度降级的情况发生,针对操作失效严重程度制定一个失效程度的门限值,对同一严重度范围内的操作重要度进行单独评估,之后再与不同的严重度等级操作进行评估。
首先将操作的失效严重程度划分等级,等级根据具体软件的不同而有所区别,在这里列出一个通用的操作严重度等级如表格 1所示。将操作对应到五种等级上,在同一个等级内的操作,通过计算操作的重要度得到操作的重要度因子,同一等级内的操作的重要度大小由重要度大小得出;处于不同等级的两个操作,严重等级大的操作无论重要度因子大小,它的重要度是大于严重等级小的操作。
3结束语
畸化操作剖面的可操作前提是区分出重要操作,根据重要度的大小进行设计畸化操作剖面,对于重要度大的,应该分配更多的测试资源。所以建立重要度评估模型,有助于更加准确建立畸化操作剖面。同时对于可能造成重要度减少的情况做出了分级处理,能有有效的解决畸化操作剖面的准确性构造问题。
参考文献:
[1]Hecht H.Rare conditions- an important cause of failures[C].Proceedings of the Eighth Annual Conference on Computer Assurance,1993: 81-85.
[2]Hecht H, Crance P.Rare conditions and their effect on software failures[C]. Proceedings of the Annual Reliability and Maintainability Symposium, 1994: 334-337.
[3]Tang D, Hecht H.An approach to measuring and assessing dependability for critical software systems[C].Proceedings The Eighth International Symposium On Software Reliability Engineering, 1997 :192-202.
[4]Hecht M, Hecht H.Use of importance sampling and related techniques to measure very high reliability software[C].Aerospace Conference Proceedings, 2000; 4: 533-546.
[5]陆民燕. 软件可靠性工程[M]. 北京:国防工业出版社,2011:282-296.
【通联编辑:梁书】