软件测试阶段的过程度量内容或项目比较多,包括软件测试进度、测试覆盖度、测试缺陷出现/到达曲线、测试缺陷累积曲线、测试效率等。在进行测试过程度量时,要基于软件规模度量(如功能点、对象点等)、复杂性度量、项目度量等方法,从三个不同的测度来完整度量测试的过程状态:

1. 测试广度的测量提供了多少需求(在所有需求的数目中)在某一时刻已经被测试,来度量测试计划的执行、测试进度等状态;

2. 测试深度是对被测试覆盖的独立基本路径占在程序中的基本路径的总数的百分比的测度,基本路径数目的度量可以用McCabe环形计算复杂度方法来计算。

3. 过程中收集的缺陷数度量,发现的、修正的和关闭的缺陷数量在过程中的差异、发展趋势等,为过程质量、开发资源额外投入、软件发布预测提供重要依据。

如前所述,测试过程的度量可以将过程状态度量和过程结果度量结合起来分析,是测试过程度量更有效。

在测试阶段,主要的过程质量度量有:

* 缺陷度量或缺陷分布度量

* 测试用例的深度、质量和有效性

* 测试执行的效率和质量

* 缺陷报告的质量

* 测试覆盖度(测试整体的质量)

* 测试环境的稳定性或有效性

缺陷度量是测试阶段的主要度量内容,包括产品缺陷度量和缺陷过程度量。产品缺陷度量将在下一回做详细介绍,而测试环境的稳定性或有效性度量,就像软件有效性一样,用MTTF来测量。所以下面将简单介绍其他度量内容,如 软件缺陷到达模式、PTR出现/积压模型、测试用例的度量、基于需求的测试覆盖评估、基于代码的测试覆盖评估等等。

1. 基于时间的缺陷到达模式

产品的缺陷密度、或者测试阶段的缺陷率是一个概括性指标,缺陷到达模式可以提供更多的过程信息,有时即使得到的整体缺陷率是一样的,但其质量差异可能较大,原因就是缺陷到达的模式不一样。越多的缺陷到达越早,则测试过程质量就越好。无论是从测试进展的观点,还是从用户重新发现(customer rediscoveries)的观点来看,缺陷的过程跟踪是非常重要的,开发周期里大量的严重缺陷将有可能阻止测试的进展,也必然直接影响软件产品的质量和性能。

相对产品发布时间、上一个版本的缺陷水平来说,经常会被项目经理或开发经历问的就是:

* 缺陷何时到达峰值?这个峰值有时多少?

* 在到达峰值后又要化多少时间趋于(降低)到一个低而稳定的水平?

* 低而稳定的水平持续多少时间,当前版本可以发布?

回答这些问题,正是缺陷达到模式要实现的目标。定性的分析比较容易,测试团队越成熟,峰值到达得越早,有时可以在第一周末或第二周就达到峰值。这个峰值的数值取决于代码质量、测试用例的设计质量和测试执行的策略、水平等,多数情况下,可以根据基线(或历史数据)推得。从一个峰值达到一个低而稳定的水平,需要长得多的时间,至少是达到峰值所用的时间的4-5倍。这个时间取决于峰值、缺陷移除效率等等。

2. PTR累积模型

测试的目标在于尽早地发现软件缺陷,通过测试用例可以更有效、更快地发现软件中缺陷,而软件缺陷通过PTR(问题跟踪报告,Problem Tracking Report)来描述。因此,PTR的数量一定程度上代表了软件的质量。每个缺陷/PTR都有一个生命周期,从测试人员发现问题并形成报告(称为PTR出现,也称缺陷到达),开发/设计人员要重现、修正这个PTR/缺陷,并构建、提交包含已修正PTR/缺陷的新软件包(New Build)给测试组,所修正的问题得到验证直到该问题通过测试为止(称为PTR关闭),测试过程中特定时间PTR保持的数量(所有新发现的PTR和关闭的PTR的差值)——PTR累积/积压值。PTR出现/累积模型就是根据问题跟踪报告的两种数据——某个时间单位内的PTR出现值和某个时间PTR累积值来度量测试中所发现的缺陷变化过程,即软件产品质量状态的变化过程。

3.测试用例的深度、质量和有效性

测试用例是测试执行的基础,其质量的好坏直接关系到测试的质量,也就影响着软件质量的保证过程。测试用例的度量将包含测试用例的深度、质量和有效性,而且包含自动化程度的度量,即多少比例的测试用例已被自动化了。

测试用例的深度(TCD, Test Case Depth)度量可以表示为每KLOC的测试用例数或每个功能点/对象点的测试用例数,而测试用例的效率可以用每100或1000个测试用例所发现的缺陷数来衡量,不同的测试阶段是不一样,应该对同一阶段的不同版本进行比较,而不宜对同一版本的不同阶段进行比较。而测试用例的质量(TCQ, Test Case Quality)可以用由测试用例发现的缺陷数量来度量,即

TCQ = 测试用例发现的缺陷数量/总的缺陷数量

因为还有一部分缺陷可以通过ad-hoc 测试(随机、自由的测试)、集体走查(Work-through)和Fire-drill测试(类似消防训练的用户压力/验收测试)等其他手段发现缺陷。

21/212>

软件测试质量度量,软件测试过程质量的度量相关推荐

  1. 软件测试什么是产品质量,软件测试过程质量的度量是什么?

    1. 测试广度的测量提供了多少需求(在所有需求的数目中)在某一时刻已经被测试,来度量测试计划的执行.测试进度等状态: 2. 测试深度是对被测试覆盖的独立基本路径占在程序中的基本路径的总数的百分比的测度 ...

  2. 软件测试过程中的度量与分析

    本文中考虑的软件测试过程专指第三方的软件测试过程,即在测试的过程中,不涉及开发人员的修复过程. 度量和分析的目的是开发和维持一个用于支持项目信息需要的度量能力.通过对项目的度量,一方面可以逐渐丰富和完 ...

  3. 测试音频质量的软件,音频质量PESQ得分评估原理与步骤

    在实时音视频领域,我们经常需要评估音频质量.而语音质量评价是一个与语音学.语言学.信号处理.心理学.生理学等学科有密切联系的领域,因此语音质量评价是一个极其复杂的问题.语音质量评价方法从评价主体上可分 ...

  4. ISO/IEC 5055:软件代码质量的标尺

    本文分享自华为云社区<自动源代码质量度量(ISO/IEC 5055)>,原文作者:Uncle_Tom . ISO 5055是首个直接从软件内部结构方面衡量软件质量(如安全性和可靠性)的IS ...

  5. 软件测试的度量方法包括,软件测试过程的度量

    1)测试度量的作用(-) A:为制定测试计划时提供依据 需要多长时间? 需要什么物质条件? 需要多少人,什么素质的人? 在规定的时间内能完成到什么程度? 哪些模块及功能需要重点关注? 测试工作量占整个 ...

  6. 软件测试是干什么的 通过各种方式检查软件的质量问题

    随着国内IT业软件市场的不断成熟,人们对软件功能的期望值也逐步增高,因此近些年就兴起了一个新的行业"软件测试",由于发展时间并不长,很多人都还不知道软件测试是干什么的,会有怎么的发 ...

  7. 软件测试工程师如何保证软件的质量?

    1.质量不是测出来的 软件的质量不仅仅是靠测试人员保证的,而是整个团队的责任.测试的目的是为了发现问题,证明问题的存在,从而使产品尽善尽美.测试人员的任务是帮助开发人员及产品设计人员提高软件的质量,但 ...

  8. 软件测试 质量管控,软件测试之质量管理入门

    一.质量 质量定义:实体基于这些特性满足需求的程度 影响质量的因素:流程,技术,组织 软件质量的三个层次: A.符合需求规格 B.符合用户显示需求 C.符合用户实际需求 二.软件质量管理体系 ISO9 ...

  9. 4.4 测试度量指标体系和质量评估

    4.4测试度量指标和质量评估 一.测试度量指标体系 1. 分类: 1) 过程度量:衡量测试覆盖度.完备度和执行效率 覆盖率: 1. 代码覆盖率 2. 接口覆盖率 3. 需求覆盖率 4. 漏测率 执行率 ...

最新文章

  1. 用hosting.json配置ASP.NET Core站点的Hosting环境
  2. (转).net webconfig使用IConfigurationSectionHandler自定section
  3. 小议Python3的原生协程机制
  4. 安全四部曲之一---***工具简单使用
  5. python动态添加类方法_Python 动态添加类方法
  6. HDU 1561 The more, The Better (树形dp)
  7. 【旅行】1月17日镇江自驾游
  8. JScript.NET(JScript 8.0)编程简介
  9. 【渝粤教育】 广东开放大学21秋期末考试法律文书10684k2
  10. 3.2 语音识别概述
  11. 信息收集--空间搜索引擎/网盘
  12. 中兴力维动环监控接线图_中兴力维动环监控与智能管理解决方案,让运维管理更高效!...
  13. Redis中的lua脚本
  14. IEEE极限编程:Word Ordering
  15. Zigbee协议栈中文说明
  16. matlab 非均匀采样,非均匀采样信号的频谱分析
  17. 打败主力的神奇划线法
  18. 2021-2027中国高效空气过滤器市场现状及未来发展趋势
  19. 原相机怎么设置水印_原来手机拍照也可以添加文字、水印、超实用,我怎么没有早点发现...
  20. 《计算之魂》思考题4.4

热门文章

  1. php deel views,视图(views)
  2. 10.图灵学院-----阿里/京东/滴滴/美团整理----安全验证篇
  3. 如何让固定资产管理不再一地鸡毛
  4. 怎样有效的检索文献?
  5. linux下的office 速度慢,针对Libreoffice卡顿奇慢的怪病,这里有一味特效药
  6. 点线面平面设计的概念是什么,分享点线结合构成设计图
  7. ddr走线教程_DDR走线规则
  8. MCS-51单片机C语言程序注释,精通MCS-51单片机C语言编程
  9. matlab脚本文件求梯度,转:用MATLAB求梯度的二个实例
  10. 机器学习必知的八大神经网络架构