软件质量评估的软件质量评估指标体系

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-06-14

通常,我们在软件的测试与评估时,主要侧重于功能特征、可靠特征、易用特征和效率特征等几个方面。在评价活动的具体实施中,应该把被评估软件的研制任务书作为主要依据,采用自顶向下逐层分解的方法,并参照有关国家软件质量标准。功能性是软件最重要的质量特征之一,可以细化成完备性和正确性。对软件的功能性评价主要采用定性评价方法。

a.完备性

完备性是与软件功能完整、齐全有关的软件属性。如果软件实际完成的功能少于或不符合研制任务书所规定的明确或隐含的那些功能,则不能说该软件的功能是完备的。

b.正确性

正确性是与能否得到正确或相符的结果或效果有关的软件属性。软件的正确性在很大程度上与软件模块的工程模型(直接影响辅助计算的精度与辅助决策方案的优劣)和软件编制人员的编程水平有关。

对这两个子特征的评价依据主要是软件功能性测试的结果,评价标准则是软件实际运行中所表现的功能与规定功能的符合程度。在软件的研制任务书中,明确规定了该软件应该完成的功能,如信息管理、提供辅助决策方案、辅助办公和资源更新等。那么即将进行验收测试的软件就应该具备这些明确或隐含的功能。

对于软件的功能性测试主要针对每种功能设计若干典型测试用例,软件测试过程中运行测试用例,然后将得到的结果与已知标准答案进行比较。所以,测试用例集的全面性、典型性和权威性是功能性评价的关键。根据相关的软件测试与评估要求,可靠性可以细化为成熟性、稳定性、易恢复性等。对于软件的可靠性评价主要采用定量评价方法。即选择合适的可靠性度量因子(可靠性参数),然后分析可靠性数据而得到参数具体值,最后进行评价。

经过对软件可靠性细化分解并参照研制任务书,可以得到软件的可靠性度量因子(可靠性参数)。

a.可用度

可用度指软件运行后在任一随机时刻需要执行规定任务或完成规定功能时,软件处于可使用状态的概率。可用度是对应用软件可靠性的综合(即综合各种运行环境以及完成各种任务和功能)度量。

b.初期故障率

初期故障率指软件在初期故障期(一般以软件交付给用户后的三个月内为初期故障期)内单位时间的故障数。一般以每100小时的故障数为单位。可以用它来评价交付使用的软件质量与预测什么时候软件可靠性基本稳定。初期故障率的大小取决于软件设计水平、检查项目数、软件规模、软件调试彻底与否等因素。

c.偶然故障率

指软件在偶然故障期(一般以软件交付给用户后的四个月以后为偶然故障期)内单位时间的故障数。一般以每1000小时的故障数为单位,它反映了软件处于稳定状态下的质量。

d.平均失效前时间(MTTF)

指软件在失效前正常工作的平均统计时间。

e.平均失效间隔时间(MTBF)

指软件在相继两次失效之间正常工作的平均统计时间。在实际使用时,MTBF通常是指当n很大时,系统第n次失效与第n1次失效之间的平均统计时间。对于失效率为常数和系统恢复正常时间很短的情况下,MTBF与MTTF几乎是相等的。

国外一般民用软件的MTBF大体在1000小时左右。对于可靠性要求高的软件,则要求在1000~10000小时之间。

f.缺陷密度(FD)

指软件单位源代码中隐藏的缺陷数量。通常以每千行无注解源代码为一个单位。一般情况下,可以根据同类软件系统的早期版本估计FD的具体值。如果没有早期版本信息,也可以按照通常的统计结果来估计。“典型的统计表明,在开发阶段,平均每千行源代码有50~60个缺陷,交付后平均每千行源代码有15~18个缺陷”。

g.平均失效恢复时间(MTTR)

指软件失效后恢复正常工作所需的平均统计时间。对于软件,其失效恢复时间为排除故障或系统重新启动所用的时间,而不是对软件本身进行修改的时间(因软件已经固化在机器内,修改软件势必涉及重新固化问题,而这个过程的时间是无法确定的)。易用性可以细化为易理解性、易学习性和易操作性等。这三个特征主要是针对用户而言的。对软件的易用性评价主要采用定性评价方法。

a.易理解性

易理解性是与用户认识软件的逻辑概念及其应用范围所花的努力有关的软件属性。该特征要求软件研制过程中形成的所有文档语言简练、前后一致、易于理解以及语句无歧义。

b.易学习性

易学习性是与用户为学习软件应用(例如运行控制、输入、输出)所花的努力有关的软件属性。该特征要求研制方提供的用户文档(主要是《计算机系统操作员手册》、《软件用户手册》和《软件程序员手册》)内容详细、结构清晰以及语言准确。

c.易操作性

易操作性是与用户为操作和运行控制所花的努力有关的软件属性。该特征要求软件的人机界面友好、界面设计科学合理以及操作简单等。

3.4效率特征指标

效率特征可以细化成时间特征和资源特征。对软件的效率特征评价采用定量方法。

a.输出结果更新周期

输出结果更新周期是软件相邻两次输出结果的间隔时间。为了整个系统能够协调工作,软件的输出结果更新周期应该与系统的信息更新周期相同。

b.处理时间

处理时间是软件完成某项功能(辅助计算或辅助决策)所用的处理时间(注意:不应包含人机交互的时间)。

c.吞吐率

吞吐率是单位时间软件的信息处理能力(即各种目标的处理批数)。未来的社会情况复杂、信息众多,软件必须具有处理海量数据的能力。吞吐率就是体现该能力的参数。随着信息的泛滥,要求软件的吞吐率应该达到数百批。

d.代码规模

代码规模是软件源程序的行数(不包括注释),属于软件的静态属性。软件的代码规模过大不仅要占用过多的硬盘存储空间,而且显得程序不简洁、结构不清晰,容易存在缺陷。

因为这些参数属于软件的内部表现,所以需要用专门的测试工具和特殊的途径才可以获得。将测试数据与研制任务书中的指标进行比较,得到的结果可以作为效率特征评价的依据。随着计算机技术、数据融合技术、网络技术和通信技术的飞速发展,对软件功能提出的要求也越来越高,如何评估软件质量已成为一个迫切需要解决的课题。选择合适的指标体系并使其量化是做好软件质量评估的关键。当然,由于软件的评估具有其特有的规范和要求,其评估指标涉及面广、不确定性因素较多、量化困难,至今还没有统一的标准。



  • 什么是软件如何评价软件的质量
    答:以开发语言作为描述语言,可以认为: 软件=程序+数据+文档。2、通常,我们在软件的测试与评估时,主要侧重于功能特征、可靠特征、易用特征和效率特征等几个方面。在评价活动的具体实施中,应该把被评估软件的研制任务书作为主要依据,采用自顶向下逐层分解的方法,并参照有关国家软件质量标准。
  • 什么是软件开发的品质条件和性能条件
    答:代码覆盖率 并不能代表单元测试的整体质量,但可以提供一些测试覆盖率相关的信息,可以和其他一些测试指标一起来使用。开发约束 圈复杂度(Cyclomatic Complexity)衡量一个模块判定结构的复杂程度,已经成为评估软件质量的一个重要标准,能帮助开发者识别难于测试和维护的模块,在成本、进度和性能之间寻求平衡。
  • sqa(软件测试)5条规则
    答:软件质量保证(SQA)是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。 软件质量保证的目的是使软件过程对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。软件质量保证组在项目开始时就一起参与建立计划、标准和过程。这...
  • 软件评测 如何完善质量管理体系
    答:这种现象存在的主要原因就是软件系统建设过程的可视性差,而且在度量和检查方面难度较高。这一部分内容的监理也是信息工程监理的主要难点,它涉及到对应用软件产品设计、开发过程的监理。应用软件开发项目质量控制的要点之一,是在软件开发全过程的关键点采用质量度量技术对项目的质量进行评估,以便有效地进行...
  • 评价指标体系是什么
    答:问题一:一、什么是评价指标体系,它有什么作用? 指标体系是指计算机辅助教学软件教育价值的细化一、综合指标体系分:核心指标和特殊指标两部分二、核心指标共分三个层次:一级指标、二级指标及三级指标即具体指标项;1、 一级指标:a.教育特性;b.技术特性;c.媒体特性;d.支持材料;2、 二级指标:(1)、教育特性:a.教...
  • 软件测试流程:专业严谨,确保软件质量无懈可击
    答:软件测试是保证软件质量的重要环节。在测试过程中,我们采用了一系列严谨的流程和工具,以确保软件的稳定性和可靠性。以下是我们的软件测试流程,希望能够为您提供参考。获取测试版本我们提供轻松获取软件测试版本的服务,让您可以第一时间体验最新的功能和特性。深入剖析需求我们根据软件需求的各种文档,为您深入剖析需...
  • 用于评估软件的可靠性和稳定性
    答:4、稳定性评估:稳定性评估是评估软件稳定性的重要步骤。稳定性评估应该包括软件的稳定性指标,如平均无故障时间、崩溃率等。稳定性评估应该考虑软件的各个方面,包括硬件环境、软件环境、用户操作等。5、缺陷管理:缺陷管理是评估软件质量的重要步骤。缺陷管理应该包括缺陷的发现、报告、分析和解决等。缺陷...
  • 软件度量的方法体系
    答:s bang metric)、模糊逻辑(fuzzy logic)、标准构件法(standard component)等,这些方法不断细化为更多具体的方法。成本度量软件开发成本度量主要指软件开发项目所需的财务性成本的估算。主要方法如下:类比估算法。类比估算法是通过比较已完成的类似项目系统来估算成本,适合评估一些与历史项目在应用领域、...
  • 软件测试和软件质量保证基础知识
    答:本题考查软件测试和软件质量保证基础知识。離软件测试C选项所描述是软件测试,软件测试是一种通过运行软件系统或应用程序,以检查它是否满足指定要求或标准的过程。软件质量保证软件质量保证(SQA-Software Quality Assurance):是建立一套有计划,有系统方法,来向管理层保证拟定出标准、步骤、实践和方法能够正确地被所有...
  • 系统架构设计师-软件质量属性
    答:3. 系统架构分析与评估方法为了确保软件质量属性的实现,系统架构分析与评估方法至关重要。这里有两种常见方法:SAAM(Scenario-based Architecture Analysis Method):卡耐基梅隆大学的开创性方法,通过场景分析评估体系结构风险,关注需求冲突,比较和选择最优架构。ATAM(Architecture Tradeoff Analysis Method):...