APP下载

基于度量的软件测试过程管理方法

2019-11-30张静郑羽

电子技术与软件工程 2019年20期
关键词:配置管理软件测试度量

文/张静 郑羽

1 引言

为了更加有效地通过软件测试发现软件缺陷从而最大程度地保障软件质量,国内外专业人员不断探索着更新的测试手段,开发着更加自动化的测试工具,尝试着更新的测试策略。

软件测试是一种高强度的脑力工作,其测试效果除了使用的手段、方法与工具之外,测试过程能力的强弱也影响着软件测试活动的最终质量。因此,可以说有效的测试过程管理与实践是软件测试项目成败的关键要素。

2 过程能力对测试质量的影响

测试过程包括:测试需求分析、测试策划、测试设计和实现、测试执行、测试总结。对软件测试过程的管理可划分为测试策划、测试过程监督与控制、测试需求管理、配置管理等多个方面,过程管理能力对软件测试质量的影响包括以下五个方面。

2.1 测试项目计划能力

项目计划的目的是在项目伊始就确定测试工作的范围、测试的策略、项目的进程、所需的资源及风险评估。通过合理的计划使得测试范围与策略得到明确,工作开展进程得到提前规划,测试各阶段工作资源得到充分保障。在无计划或计划偏差率过高的情况下,软件测试工作会因为进度压力、资源紧张等等因素被迫缩小测试范围、简化测试方法、跨越必要的测试设计阶段、弱化缺陷成因分析等等,从而大大影响软件测试质量。

2.2 进程监控能力

随着测试进程的推进和深入、测试环境的调整、测试手段的制约、被测软件缺陷密度的逐步显现和对被测软件复杂程度的进一步认识等,测试工作是否依然能够按照预先设定的计划轨道行驶,需要通过项目进程的监督和控制来保障。跟踪控制是一个反馈过程,一方面对应计划检查项目进程的符合性,另一方面根据项目实施的需要及时调整更新计划。通过对项目进程的监控,确保项目计划的有效落实,从而成为保障测试质量的前提。

2.3 配置管理能力

软件测试活动中涉及软件配置项众多,不仅仅包括如软件需求、软件设计文档、软件源代码等被测对象,还包括测试过程中产生的测试数据、测试环境、测试代码、测试文档等等。由于在多次回归测试的前后也会有大量的被测对象的修改,同时测试使用的数据和环境也将根据需要进行改变,因此测试过程的配置管理是否成功将直接影响到测试的有效性。

对配置项的管理目前主要是依赖配置管理工具,但工具本身是实现配置思想和流程的载体,对于配置管理的能力更多地是体现在对配管的审计上。恰当频度的配管审计是保障配管有效实施的必要手段。

2.4 缺陷数据的分析与使用能力

软件测试的最终目的不是发现缺陷而是清除缺陷。发现的缺陷对于项目来讲至少具备以下方面的意义:

(1)通过修改缺陷清除缺陷来提高被测软件质量;

(2)通过开展对发现缺陷的测试用例、测试方法等的分析,不断提高软件测试效能;

(3)通过分析缺陷的成因提出预防同类缺陷的方法。

因此,对缺陷信息和测试用例等信息的分析和使用的能力,最终将影响软件测试活动的质量。

3 基于度量的测试过程管理方法

度量的意义在于:理解、评价、控制、预测和改进。结合前面提到的五个测试过程能力及其在实际工作中的应用,具体来讲基于度量的测试过程管理方法有以下几种:

3.1 使用度量数据进行有效估计

为保证制定测试计划的准确性和可行性,避免由于“拍脑袋”而导致的决策错误,只有通过一些量化的数据指标才能准确预估测试所需的工作量、时间进度和成本等。而这往往依赖于组织数据的建立。随着度量数据的不断积累,逐步形成具有一定规模的历史经验数据,供以后项目策划时参考。例如,我们应形成组织级的测试生产率以便估算项目的测试周期;通过查看测试工作量在不同阶段或不同类型活动的历史分布情况,安排各个阶段不同类型测试任务的资源投入。

3.2 使用度量数据监控项目进程

在测试过程中,采集项目的进度、工作量、计划延迟率等度量数据,一方面可以帮助管理者更加清晰地了解项目的进展,发现实际活动与计划的偏差,必要时启动计划调整;另一方面,通过对采集的过程数据进行分析还有助于识别测试过程中的风险。后面我们将结合具体的数据进行说明。

3.3 用度量数据评估阶段的出入口准则

度量另一个重要的作用是帮助管理者评定测试每个阶段工作产品或活动是否符合规定。在实际测试工作中,我们强调对每个阶段的工作输出进行严格把关。例如:我们可以对评审问题的关闭情况进行度量以判断是否满足转阶段条件;通过对缺陷的关闭情况统计为软件是否通过测试提供充分的依据;我们还可以对不同测试类型的测试用例分布数进行统计,以判断测试用例设计是否充分且可以转入执行阶段等。

3.4 用度量数据保证产品的完整性

软件测试过程是在负责的协作环境下进行,每个阶段工作产品的完整性和正确性是下个阶段活动顺利展开的有效保证。在配置管理活动中,我们重点关注以下数据:每个阶段的工作产品数量和产出时间是否与计划一致、每个工作产品的变更次数、基线的数量和产出时间是否与计划一致、基线的变更次数等。

3.5 用度量数据分析软件缺陷趋势

对缺陷数据进行采集和量化,将分散的数据按规定的方式集合起来,使其能清晰有序地表征出变化趋势以及分布情况,从而提高测试效果和软件质量。关于缺陷的度量数据有:千行代码缺陷率、缺陷密度、缺陷种类、缺陷的修复情况等。

4 过程度量内容

传统的测试过程管理通常采用形式化的方式描述和证明软件过程的规范性和有效性,导致测试过程缺乏客观性和可视化。我们在传统的测试过程管理方法中引入了CMMI的管理思想,使用度量的方法获得过程或产品的表征数据,为决策提供量化信息的支撑,促使测试过程不断完善和改进。

过程度量从明确度量需求开始。根据需求确定度量范围、分配所需的资源、选择度量项。在确定了度量项之后定义各项数据的采集规程,以保障数据度量尺度的统一和数据采集点的正确。根据这些准备编制度量工作计划并开始实施度量,最后通过采集数据、分析数据达到度量的目的。

根据前面分析的过程能力对测试质量的影响来提取的测试过程度量项与度量目的如表1所示。

5 结论

本文通过分析软件测试过程能力对测试质量的影响,提出了基于度量的测试过程管理方法,并给出了具体的度量流程和度量项。基于测试过程的度量与应用还可以从很多其他维度为测试过程能力的改进提供支撑,也将是该课题下一步研究的方向。

猜你喜欢

配置管理软件测试度量
汽车委托外加工零件自动化配置管理
鲍文慧《度量空间之一》
模糊度量空间的强嵌入
基于OBE的软件测试课程教学改革探索
迷向表示分为6个不可约直和的旗流形上不变爱因斯坦度量
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
软件测试工程化模型及应用研究
地质异常的奇异性度量与隐伏源致矿异常识别
建设CMDB任重道远