关闭

软件测试与可靠性评估方法研究

发表于:2010-2-23 15:30

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

 作者:未知    来源:51Testing软件测试网采编

  四、软件评估理论及其发展现状

  软件的评估理论是进行评估的理论依据,评估方法是评估理论的实际应用和处理测试数据的方法。对于评估指标体系中的不同指标,应该根据测试数据的不同,选取相应的评估理论和方法。软件评估(Software assessment)的实质是对软件质量的度量与评价。

  我们对软件质量评估的定义是:“为了确定一特定的软件模块、软件包或软件产品是否验收合格或发布而把特定的评估准则应用到该软件模块、软件包或软件产品上去的活动”。

  可见,软件评估的对象是“软件模块、软件包或软件产品”,软件评估的目的是“确定被评对象是否验收合格或发布”。定义中提到的评估准则是“根据特定的软件产品和质量需求,确定产品是否通过验收或发布的一组成文的规则和条件的集合”。从广泛意义上讲,评估准则已经包括了评估方法和指标体系,即如何处理获得的测试数据与如何应用评估准则到被评估软件上。

  软件可靠性评估(Software reliability assessment)的完整含义是:根据软件系统可靠性结构(单元与系统间可靠性关系)、寿命类型和各单元的可靠性试验信息,利用概率统计方法,评估出系统的可靠性特征量。

  目前,软件可靠性工程是一门虽然得到普遍承认,但还处于不成熟的正在发展确立阶段的新兴工程学科。国外从60年代后期开始加强软件可靠性的研究工作,经过 20年左右的研究推出了各种可靠性模型和预测方法,于1990年前后形成较为系统的软件可靠性工程体系。同时,从80年代中期开始,西方各主要工业强国均确立了专门的研究计划和课题,如英国的AIVEY(软件可靠性和度量标准)计划、欧洲的ESPRIT(欧洲信息技术研究与发展战略)计划、SPMMS(软件生产和维护管理保障)课题、Eureka(尤里卡)计划等。每年,都有大量人力物力投入软件可靠性研究项目,并取得一定成果。

  国内对于软件可靠性的研究工作起步较晚,在软件可靠性量化理论、度量标准(指标体系)、建模技术、设计方法、测试技术等方面与国外差距较大。国内多数软件的生产方式还处于计算机时代的早期阶段,缺点很明显,主要表现在:1、透明度差;2、软件交付系统联调前只靠自检,质量得不到保证;3、用户对交付的软件可靠性缺乏信心。多数所谓的“软件测试”仅仅对几个预先指定的用例进行一下表演就算通过。目前还没有像硬件那样完善的检验体系,交付软件的质量不高。典型统计表明,“开发阶段平均每千行代码有50-60个缺陷,交付后平均每千行代码有15-18个缺陷”,有时会留下严重隐患。

  目前,软件可靠性管理方面还没有建立起具有权威性的管理体系和规范。比如,如何描述软件可靠性、如何测试、如何评估、如何设计、如何提高等。由于目前国内外对于软件可靠性模型的研究多集中在软件的研制阶段,而很少有涉及测试与评估阶段的可靠性模型,所以从事软件可靠性测试与评估研究是一个有理论价值和实际意义、并且存在一定难度的课题。

  随着计算机软件编制的规范化,必然要将软件可靠性考核纳入科学、规范的轨道。具体表现在:1、在软件系统研制任务中,制定软件可靠性量化指标,使软件考核有明确的标准;2、建立完善的软件测试、可靠性信息收集系统,使在计算机软件开发中通过科学的软件测试不断减少缺陷;3、通过研究软件可靠性考核方法,制定相应的软件考核规程、标准;4、开发软件可靠性评估软件,使软件鉴定更加方便。

  五、软件可靠性评估的定义

  可靠性(reliability)是产品在规定的条件下和规定的时间内完成规定功能的能力,它的概率度量称为可靠度。

  软件可靠性(software reliability)是软件系统的固有特性之一,它表明了一个软件系统按照用户的要求和设计的目标,执行其功能的正确程度。软件可靠性与软件缺陷有关,也与系统输入和系统使用有关。理论上说,可靠的软件系统应该是正确、完整、一致和健壮的。但是实际上任何软件都不可能达到百分之百的正确,而且也无法精确度量。一般情况下,只能通过对软件系统进行测试来度量其可靠性。

  这样,给出如下定义:“软件可靠性是软件系统在规定的时间内及规定的环境条件下,完成规定功能的能力”。根据这个定义,软件可靠性包含了以下三个要素:

  1. 规定的时间

  软件可靠性只是体现在其运行阶段,所以将“运行时间”作为“规定的时间”的度量。“运行时间”包括软件系统运行后工作与挂起(开启但空闲)的累计时间。由于软件运行的环境与程序路径选取的随机性,软件的失效为随机事件,所以运行时间属于随机变量。

  2. 规定的环境条件

  环境条件指软件的运行环境。它涉及软件系统运行时所需的各种支持要素,如支持硬件、操作系统、其它支持软件、输入数据格式和范围以及操作规程等。不同的环境条件下软件的可靠性是不同的。具体地说,规定的环境条件主要是描述软件系统运行时计算机的配置情况以及对输入数据的要求,并假定其它一切因素都是理想的。有了明确规定的环境条件,还可以有效判断软件失效的责任在用户方还是研制方。

  3. 规定的功能

  软件可靠性还与规定的任务和功能有关。由于要完成的任务不同,软件的运行剖面会有所区别,则调用的子模块就不同(即程序路径选择不同),其可靠性也就可能不同。所以要准确度量软件系统的可靠性必须首先明确它的任务和功能。

  在讲到软件可靠性评估的时候,我们不得不提到软件可靠性模型。软件可靠性模型(Software reliability model)是指为预计或估算软件的可靠性所建立的可靠性框图和数学模型。建立可靠性模型是为了将复杂系统的可靠性逐级分解为简单系统的可靠性,以便于定量预计、分配、估算和评价复杂系统的可靠性。

42/4<1234>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • henry1987620
    2010-2-23 23:13:33

    有点没明白,软件可靠性测试和普通的软件测试,两者是同时进行的,部分数据共享?相当于说可靠性测试属于可选项?

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号