基于软件测试的质量度量应用

2022-03-21版权声明我要投稿

  摘要:本文将从质量度量方面对软件测试进行分析,首先,对质量度量流程进行分析,使软件测试能够有序进行,进而提高度量的效率。其次,对测试用例进行分析,使其能够满足质量度量的要求,提高测试结果的准确性。最后,从度量模型、度量定义、数据分析等方面对质量度量的应用进行分析,提高软件测试的质量,使度量方法能够得到有效应用。

  关键词:软件测试;质量度量;测试用例;度量模型;数据分析;

  软件测试过程中,需要做好质量度量工作,使软件运行质量能够得到准确地评估,使其运行效果更加地稳定。为此,需要采取有效地测试手段,合理地对质量度量方法进行应用,使软件测试水平能够得到提升,对软件实现精准化地测试。通过质量度量测试方法,可以提高测试结果的可靠性,使软件运行状况能够得到准确地验证,进而使软件测试效率得到保障。

1 软件测试质量度量流程

  质量度量测试过程中,需要按照一定的流程进行,使测试过程能够有序完成,保障测试流程的规范性。具体测试流程如下:第一,需要明确质量度量的需求,通过软件的功能确定软件中可能存在的问题,将其作为质量度量的依据,使测试内容更加地全面。第二,确定软件度量单元,以度量框架作为出发点,对质量度量进行定义,使度量准则能够清晰地把握,同时合理地进行度量用例设计,使度量问题能够得到有效地分析,测试度量具有完善的流程。第三,实施软件度量过程,根据测试用例对度量数据进行采集,为数据分析过程提供依据,同时需要度量结果进行记录。第四,对测试结果进行度量分析,确定软件运行过程中存在的问题,并且对问题进行重现,使故障原因能够得到准确地分析。第五,对度量结果进行验证,确定度量的影响范围,对软件性能进行准确地评估[1]。

2 质量度量测试用例设计

  2.1 逻辑覆盖法

  通过逻辑覆盖法可以对软件内部逻辑进行测试,使程序的语句能够得到有效地分析,使软件具有良好的代码特征。采用该测试方法时,需要对测试点数进行统计,确定测试内容的覆盖度,计算公式如下:

  通过覆盖度可以对测试结果进行评估,确定测试用例的匹配度,实现精准化地度量测试。以条件语句测试为例,在代码中由if判断句构成,可以对程序执行过程进行判断,使软件能够执行相应的功能。在测试过程中,需要对判断条件进行修改,进而实现功能逻辑上的覆盖,对软件功能进行快速测试。

  2.2 等价类划分法

  等价类划分法具有黑盒测试的效果,不用考虑程序的内部构造,进而对软件运行性能进行测试。该方法的重点在于测试子集的选取,通过测试子集来反应整体的测试状况,进而发现软件中存在的缺陷。该方法主要分为两种形式:第一,有效等价划分。将具有实际意义的数据作为输入,对软件系统的性能进行测试,能够反映出真实的测试结果。第二,无效等价划分。将不具备实际意义的数据作为输入,对软件的异常状况进行判断,可以对软件异常形成有效地预测,使软件在未来能够稳定工作。

  2.3 边界值法

  通过边界值法可以确定数据的范围,对软件运行数据的变化范围进行测试,使软件具有稳定的工作状态。边界值法需要基于输入、输出进行测试,由确定的输入值对输出值的范围进行评估。若输出值不在规定范围内,则说明软件存在运行问题;若输出值在规定范围内,则说明软件运行状态良好。边界值是重要的特征值,需要着重对其进行分析,对其进行测试,保障软件能够在边界条件下问题运行。以位置边界为例,若测试数据为圆形区域,则圆形的边界便是特征值,需要对边界点进行测试,使软件的边界范围更加地明确[2]。

  2.4 因果图法

  软件测试具有较强的逻辑性,可以采用因果图法对测试案例进行编写,使测试过程更加地流程化。因果图法测试流程如下:首先,需要对程序进行分析,同时对原因和结果进行描述。测试过程中,需要将原因作为输入,将结果作为输出,这样便可以形成良好的测试关系。其次,需要绘制出因果图,为测试过程提供依据,保障测试过程能够有序进行,使测试更加地清晰化。最后,需要做好因果转换工作,能够根据结果推测问题的原因,对软件运行问题进行再现。

3 软件测试质量度量应用分析

  3.1 度量模型

  3.1.1 度量框架

  度量框架是构建度量模型的重要依据,从框架整体角度分析,可以将框架分为四个部分,主要构成如下:第一,度量需求。基于客户需求、系统需求等确定度量标准,对度量形成有效地分析,保障软件测试内容的完善性,使度量分析过程更加地全面。第二,度量准备。明确软件测试的度量指标,对度量元进行构建,同时对度量环境进行搭建,形成标准的测量环境,进而形成准确的软件测试结果。度量元组成见表1所示。第三,开始度量。根据测试用例对软件进行质量度量,对数据进行采集与构建,使数据单元能够得到有效地检测,同时对数据进行记录。第四,度量结果。对度量数据进行评价,得出软件质量测试的结果,使软件性能得到有效地评估[3]。

  3.1.2 度量评价

  为了保障软件度量测试的可行性,需要对质量度量过程进行评价,对度量的风险进行评估,进而提高测试结果的准确性。假设测试对象为i,则测试风险值R(i)可以表示如下:

  其中,p(i)为出错可能性;g(i)为出错代价。

  当检测出软件测试存在风险后,对风险进行管理,具体步骤如下:第一,测试设计。针对风险对测试用例进行设计,合理地现有资源环境进行运用,保障测试过程能够顺利完成。第二,明确风险。通过度量模块对风险进行评估,对风险的存在性进行确定,确定风险对软件功能的影响范围。第三,风险估计。确定风险问题将会造成的成本损失C(g),进而确定风险的影响。计算公式如下:

  其中,SC(g)为软件开发者的风险损失,CC(g)为对用户造成的风险损失。

  第四,风险预测。对风险系数进行评估,并且按照风险权重进行排列,风险较高的问题需要优先进行测试。例如:设计质量、功能实现等,这些属于高风险的权重,需要优先进行测试。而编码规范、结构优化等,这些属于低风险的权重,可以在后续阶段进行测试。度量评价可由度量指示器来实现,指示器组成见表2所示,可以对风险进行准确评估。

  3.2 度量定义

  3.2.1 确定目标

  为了保障度量定义的准确性,需要对度量目标进行明确,形成有效的度量标准。度量目标确定标准如下:第一,安全性。为软件稳定运行提供保障,使测试结果更加地准确,进而保障测试对象的有效性。第二,适用性。保障度量目标能够顺利实现,确保度量手段的有效性,第三,可维护性。度量方法需要易于维护,能够准确地对软件进行测试,对软件质量模型进行评估。以缺陷测试为例,需要对缺陷方案进行分析,使缺陷数得到有效地统计,最终对缺陷形成控制。缺陷程度可由缺陷密度(Dd)进行衡量,计算公式如下:

  其中,D为缺陷数;KLSOC为源码行数。

  当缺陷得到解决后,可以由缺陷移除率(DRE)进行衡量,DRE=发现BUG数/(发现BUG数+未发现BUG数)×100%,进而对缺陷的解决情况进行确定。

  3.2.2 权重定义

  度量测试过程中,需要具有一定的权重,对质量度量的权重进行规定,使测试过程更加地具有针对性。测试权重见表3所示,可以按照表中数据对度量项进行权重构建,使权重定义更加地标准。通过权重可以对软件整体质量进行衡量,其中,P1+P2+P3=1,即总权重需要为1,避免权重发生缺失现象,对权重定义造成影响[4]。质量权重计算方法如下:

  其中,角标ik为度量项;pik为权重;uik为测量值。通过上述公式,便可以对软件的整体质量进行评估,权重定义越规范,测试结果就越精准。

  3.3 数据分析

  权重定义完成后,需要对数据进行分析,得到准确的测试结果,提高质量度量的准确性。首先,需要对各个度量项进行计算,得出对应的度量值,计算结果见表4所示。

  其次,需要计算质量特性度量值,计算过程如下:

  质量特性1=0.2×(0.86+0.81+0.76)=0.478

  质量特性2=1/6×(0.84+0.96)=0.3

  质量特性3=0.2×(0.96+0.86)=0.36

  最后,需要进行加权计算,得到整体质量特性M。由表1可知,质量特性1-3对应的权重分别为0.2、0.3、0.5,将其代入公式计算可得:

  由此可见,软件的整体质量水平较低,软件功能还需要进一步进行完善,使软件具有良好的整体质量特性。

4 结论

  综上所述,通过质量度量可以提高软件测试的效率,能够准确地反应软件的运行情况,对软件故障能够得到清晰地识别,使故障问题能够得到有效解决。在测试过程中,需要质量度量测试流程进行,合理地对度量模型进行构建,实现精准化地定义,进而保障测试结果的准确性,提高软件质量度量精度,保障软件测试过程顺利地进行。

参考文献

  [1]蒋剑,蒋志刚,欧阳超等.嵌入式软件外部质量度量方法的研究与实现[J].控制与信息技术,2021(01):85-90.

  [2]张静,郑羽.基于度量的软件测试过程管理方法[J].电子技术与软件工程,2019(20):47-48.

  [3]李军锋.基于测试及试验使用的软件质量评价[J].现代计算机,2019(16):35-38.

  [4]陈苏.嵌入式软件外部质量评价方法设计[J].测试技术学报,2019,33(01):83-87.

作者:师洛蓓 单位:四川长虹网络科技有限责任公司媒体终端软件研发部

【基于软件测试的质量度量应用】相关文章:

1.基于xAPI的非正式学习体验数据在软件项目管理中的获取和应用

2.基于SPOC的计算机应用软件课程翻转课堂教学

3.基于居民时空行为的社区日常活动的空间度量和活力影响因素

4.基于结构-过程-结果理论的多维质量管理在护理管理中的应用

5.基于区块链的农产品质量安全应用论文

6.基于云计算环境下的软件测试平台的设计

7.基于软件基因的Android恶意软件检测与分类分析

8.基于在线教学的三维软件基础课程的设计与实践

9.基于架构层级的软件架构模式划分

10.基于Minitab软件的低内应力镍电铸工艺优化

11.高职物联网专业核心课程教学诊断与改进

12.GJB5000A的软件过程改进途径

文档上传者