APP下载

一种定量的软件质量评估体系

2019-09-09吴晓菲

数码世界 2019年5期
关键词:易用性软件测试定量

吴晓菲

摘要:随着软件技术的发展,软件产品的规模和复杂程度越来越高,同时对软件产品的质量要求也不断提升。软件测试在软件工程中占有举足轻重的位置,软件测试是评估软件产品质量的有效途径。软件产品质量的好坏可以从质量特性,如功能性、可靠性、易用性、效率、可维护性、可移植性等多方面进行评估。本文提出一种软件质量评估体系,用于在软件测试阶段,以定量的方式对软件系统质量进行评估。

关键字:软件测试 质量评估 定量 质量特性

1 软件测试

软件测试广义的概念指软件生存周期中所有的检查、评审和确认工作,其中包括了对需求分析、设计阶段以及完成开发后维护阶段的各类文档、代码、软件的审查和确认。软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。在完成所有软件模块的开发后,软件会被交付给测试人员进行系统测试。系统测试包括功能测试、性能测试、安全性测试、兼容性测试等。当系统功能性测试阶段已经基本完成,没有严重性BUG遗留时,可进行性能测试、安全性测试和兼容性测试。软件的质量评估是在软件系统测试阶段引入的。

2 软件质量评估

软件质量的好坏,即软件是否实现了需求规格说明书提到的所有功能;软件是否达到了系统的性能要求;软件是否是健壮的,可抵御一般的安全性攻击;软件是否是适应用户环境的等等。目前,软件质量评估关注较多的质量特性包含功能性、可靠性、易用性、效率、可维护性、可移植性。功能性指标可细分为完备性和正确性;可靠性指标可细分为成熟性、稳定性、安全性、易恢复性;易用性指标可细分为易理解性、易操作性、易学习性;效率指标主要关注处理时间、吞吐率、代码规模等;可维护性分为可恢复性和可改进性;可移植性可细分为:适应性、易安装性、共存性、易替换性和依从性。

测试人员通过不同类型的测试(如功能、性能、安全、兼容性等)验证系统是否符合对这些特性的要求。被测系统的质量特性与系统要求的符合程度,可作为软件质量评估的参考。那么,如何评估软件质量的整体数值呢?本文提出一种软件质量评估方法,可定量的计算出软件的质量度,用于评估软件质量的好坏。

3 定量的软件质量评估体系

3.1 确定输入参数

将缺陷的严重程度划分为四个等级,并量化为致命(10)、严重(5)、一般(3)和建议(1)。在软件测试过程(包括功能测试、性能测试、安全测试等)中,发现的缺陷的数量为wNum,各缺陷对应的严重程度定义如下:

输入数据一:软件系统中的所有缺陷对应的严重程度。

DemageDegree:{dmi|i=l,2,…,wNum}

抽取重要的软件质量特性,分别为功能性、可靠性、易用性、效率、可维护性、可移植行、其他,并为其分配权重。质量特性的数量为qNum。由于不同软件系统对各质量特性要求不同,可根据各软件系统的特点,为以上质量特性分配权重。软件的质量特性权重如下:

输入数据二:质量特性对应的权重。

QualityCharacterWeight: {qcj|i =i,2,…,qNum}

3.2软件质量度评估方法

随着软件缺陷的增多,软件的质量是逐渐下降的,为了定量的给出软件的质量度,经过多次实验比对,采用公式(l)进行质量度的计算。随着缺陷数量的增加,软件的质量是逐渐下降的,当所有缺陷的严重程度的总和值越多,软件整体质量越来越低。由公式(1)可以看出,所有缺陷严重程度的和(即∑ wNum dmi)越大,软件的质量度越低。之所以采用这种方法,是因为软件质量变化趋势与倒着的指数函数相似,如图l所示,即缺陷越多、缺陷越严重,软件质量越差,当缺陷多到一定程度,评估软件质量也就失去了意义,因为软件本身已经失去意义。

当测试人员没有发现任何缺陷的时候,软件的质量度最大,即α。但是根据测试的特点,穷举测试是不可能的,并不存现“0”缺陷的系统。这里的质量度评估需要给出软件的质量值,但是需要注意的是,当软件质量度QualityDegree (QD)值最大值的时候,并不代表系统没有缺陷,而是相比较而言,该系统的质量较高。其中α,β为影响软件质量度总体趋势的系数,可以通过调整该参数调节运算结果的精确度。可通过调整α,β参数,将QD的值调整到0-10之间。

软件质量度QualityDegree (QD)计算方法如下:

n为质量特性qcj关联的缺陷个数软件质量特性评估体系用于在软件系统测试阶段中,对软件系统质量的一个定量评估。可作为在某一轮全覆盖测试后,对软件质量的一个评估,使软件项目经理可以对软件质量的好坏有所衡量。通常,在系统测试完成时,由于系统交付的时间限制,系统还会遗留部分缺陷,通过此计算方法,可作为被测系统是否达到预期目标的一个依据。

4应用示例

对某一系统进行功能全覆盖测试、性能测试、安全测试后,遗留严重缺陷3个、一般缺陷11个,建议缺陷5个(其中大部分缺陷已在前期的测试轮次修复)。该系统针对各质量特性的权重划分如下:功能性0.3可靠性0.2、易用性0.1、效率0.2可维护性0.1可移植行0.05、其他0.05。不同系统对各质量特性的权重划分不同,由于本系统部分关键功能并发量较大,故对效率要求较高,且存在敏感信息的存储和传输,故对可靠性要求也相对较高。各质量特性和严重程度的缺陷分布如下表1所示。

5结束语

在软件技术飞速发展的今天,对软件质量的要求不断提升,如何能够定量的評定软件的总体质量值是一个难点。本文提出一种定量的软件值评估体系,在软件系统测试阶段,以系统遗留各缺陷的严重程度作为输入,并为质量特性划分权重,通过软件质量度计算公式得出软件整体的质量值。此质量评估体系可为软件系统是否达到预期质量部门,以及后续的跟进和完善工作量提供参考依据。

参考文献

[1]侯海霞,崔冬华.基于软件测试技术的软件质量保证研究[J].科技信息:科学教研,2008(13):58-58.

[2]夏雪飞,腾达,魏荣凯,基于计算机软件开发中影响软件质量的因素探讨[J].电子技术与软件工程,2013(23):8989.

[3]马扬,计算机软件测试方法研究[J],科技风,2015(10):96 96.L4lBoehm B W, Brown J R, Lipow M. Quantitative evaluationof software qualityECl// International Conference on SoftwareEngineering,1976.

猜你喜欢

易用性软件测试定量
软件测试方向人才培养“1+X”融合研究
有机物官能团的定量关系在解题中的应用
大数据背景下软件测试技术的发展
老年人家电产品易用性设计研究
身份认同对网络购物行为的影响
关于 Web 应用系统的软件测试的研究
形成初步定量思维。做好初高中化学衔接学习
软件测试发展现状及前景的探讨
读者消费俱乐部