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

2021-11-03 06:43师洛蓓
电子技术与软件工程 2021年18期
关键词:软件测试度量权重

师洛蓓

(四川长虹网络科技有限责任公司媒体终端软件研发部 四川省绵阳市 621000)

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

1 软件测试质量度量流程

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

2 质量度量测试用例设计

2.1 逻辑覆盖法

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

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

2.2 等价类划分法

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

2.3 边界值法

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

表1:度量元组成

表2:度量指示器组成

表3:度量权重定义

表4:度量项及度量值

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 结论

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

猜你喜欢
软件测试度量权重
鲍文慧《度量空间之一》
模糊度量空间的强嵌入
权重常思“浮名轻”
基于OBE的软件测试课程教学改革探索
迷向表示分为6个不可约直和的旗流形上不变爱因斯坦度量
EXCEL和VBA实现软件测试记录管理
为党督政勤履职 代民行权重担当
关于软件测试技术应用与发展趋势研究
基于公约式权重的截短线性分组码盲识别方法
软件测试工程化模型及应用研究