软件可靠性测试方法新探

发表于:2013-6-24 10:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:蔡建平    来源:51Testing软件测试网采编

  (3)硬件的纠错维护可通过修复或更换失效的系统重新恢复功能,软件只有通过重设计或排除错误;

  (4)对硬件可采用预防性维护技术预防故障,采用断开失效部件的办法诊断故障,而软件则不能采用这些技术;

  (5)可靠性预测和可靠性增长等技术对软件和硬件有不同的意义;

  (6)为提高硬件可靠性可采用冗余技术,而同一软件的冗余不能提高可靠性;

  (7)硬件可靠性检验方法已建立,并已标准化且有一整套完整的理论,而软件可靠性验证方法仍未建立,更没有完整的理论体系;

  (8)硬件可靠性已有成熟的产品市场,而软件产品市场还很新;

  (9)软件错误是永恒的,可重现的,而一些瞬间的硬件错误可能会被误认为是软件错误。

  从上我们看到,由于软件固有的特性,软件可靠性很难以硬件可靠性的概念为基础,来进行度量和评估,即硬件的可靠性计算方法和相关模型难以用于软件可靠性的估算中。这也正是软件可靠性评估与验证没有很好的方法、模型和技术,人们无法事先预测软件可靠性,无法确定软件可靠性是否增长的根本原因。

  2、软件可靠性测试

  从软件可靠性的定义上看,评价或测试一个软件的可靠性,最主要的是要确定系统怎样输入、如何使用一整套的方法和策略。即软件可靠性测试是指为了达到或验证用户对软件的可靠性要求而对软件进行的测试,属于软件测试或软件可靠性评价的范畴。尽管软件可靠性测试也不能保证软件中残存的错误数达到最少,但经过软件可靠性测试可以保证软件的可靠性达到较高的要求。

  软件可靠性测试是在软件的预期使用环境中,为了最终评价软件系统的可靠性而运用建模、统计、试验、分析、评价等一系列手段对软件系统实施的一种测试。它应该是面向故障的测试,以用户将要使用的方式来进行的,每一次测试代表用户将要完成的一组操作,使测试成为最终产品使用的预演。如:我们可以通过给系统加载一定的业务压力(例如资源在70%~90%的使用率)的情况下,让应用持续运行一段时间,测试系统在这种条件下是否能够稳定运行。这里的可靠性测试仅仅是让软件在大压力环境下运行较长的时间,来估算系统是否能在平均压力下持续正常工作。

  软件可靠性测试是获取软件可靠性估算数据的重要手段,它通过发现软件系统可靠性缺陷,为软件的使用和维护提供数据,确认软件是否达到可靠性的定量要求。目前软件可靠性测试用得最多的方法是类似于硬件操作剖面上的统计测试方法,即基于被测软件操作剖面的统计测试方法。这是最为传统、经典的软件可靠性测试方法。通过这种方法,能够实现软件可靠性的定量评估,从而有效地保障和提高软件的质量。

  软件可靠性测试与传统意义上的软件测试不同,软件可靠性测试是统计测试思想在软件可靠性度量上的应用,要求测试按照软件的操作剖面进行,测试结果使用软件可靠性模型进行评价,其中操作剖面的构造是进行软件可靠性测试的基础。

  操作剖面的英文是Operational Profile,也称为软件的使用模型,是指系统测试数据输入域以及各种输入数据的组合使用概率。它刻画了在预期环境中软件各种预期操作的统计分布,用来描述软件的实际使用情况的。在基于软件操作剖面的统计测试中,能够保证在测试过程中较早地发现那些在软件操作使用中最经常发生的失效。

  操作剖面反映了软件规格说明定义的预期使用情况。因此在建立操作剖面之前,首先必须对规格说明进行评审和澄清,保证规格说明提供了完整的功能规格说明,描述了软件在预定环境中的预期使用情况;然后,根据用户使用这些系统模式、功能、任务的概率对软件的系统模式、功能、任务需求及相应的输入激励的分析来构造操作剖面。操作剖面构造的质量决定着其测试或分析结果是否可信的程度。

  统计测试的英文是statistical testing;是通过使用对输入统计分布进行分析来构造测试用例的一种测试设计方法。

32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号