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

本文中考虑的软件测试过程专指第三方的软件测试过程,即在测试的过程中,不涉及开发人员的修复过程。

  度量和分析的目的是开发和维持一个用于支持项目信息需要的度量能力。通过对项目的度量,一方面可以逐渐丰富和完善公司的度量财富库,从而为项目经理进行项目工作量、进度等的预估时提供可靠的参考依据;另一方面,通过度量分析,项目经理可以有效的对项目情况进行监控,当度量分析报告中提供的结果超过了一定的阈值时,项目经理就应该采取相应的措施,也就是说度量分析有利于项目经理做出正确的管理和技术决策以及采取适当的纠正活动。

  从软件生存周期模型中来看,人们常常直观的认为软件测试仅仅是软件生存周期中软件编码完成之后的一个或几个阶段。而实际上,软件测试本身也是一个过程,它可以进一步具体的分成若干个阶段性活动,如:测试计划、测试设计、测试执行、测试总结。对测试过程的度量必须涉及到测试过程中的各个阶段的度量,包括规模、工作量、进度、缺陷等等。下面着重介绍下测试设计和测试执行阶段与效率和质量相关的度量。

  (1)测试设计

  软件测试设计阶段主要工作是测试用例的设计与开发,在这个阶段可度量项包括:

  ● 用例生产率

  用例生产率 = 测试用例个数(个数)/ 设计用例的时间(小时)。

  在项目组中度量时,既可以得到每个项目组成员的用例生产率,从而来衡量其生产率;也可以得到项目组的用例生产率,与公司的度量财富库中的用例生产率进行比较,可得到自己项目组的整体水平。

  ● 用例质量

  在用例写完进入测试执行阶段之前或是写用例的过程中,都会有对用例进行评审的过程,用例质量可以通过评审中发现的问题来评价。用例质量 = 评审问题个数 / 用例个数。

  (2)测试执行

  软件测试执行阶段,是在准备好的测试环境上依次执行各测试用例并详细记录每一步测试结果,提交缺陷记录的过程。在这个阶段可度量项包括:

  ● 用例执行率

  用例执行率 = 执行的用例个数 / 执行测试的时间。通过这个派生度量即可以得到项目组每个成员的用例执行率,同样也可以得到项目组的平均用例执行率。

  ● 用例有效率

  用例有效性 = 发现的缺陷个数 / 用例个数。用例有效性的可比性在项目之间不是很大,因为各个软件项目质量的好坏会直接影响到用例的有效性,若项目质量较好,则同样的用例个数发现的缺陷较少,若项目质量较差,则同样的用例个数发现的缺陷较多,但若在同一个项目中进行比较,还是有一定的可比性可言的。

  ● 缺陷发现率

  缺陷发现率 = 缺陷个数 / 执行测试的时间。前面提到用例执行率可以看出项目组成员的工作效率,但并不能保证其质量,通过项目组成员各自发现的缺陷个数除以各自所花的时间,通过缺陷发现率这个指标来关注项目组成员的工作质量。

  ● 缺陷等级分布

  对项目组发现的缺陷,按缺陷等级进行分类统计,得到系统的各个等级的缺陷分布情况。

  ● 模块缺陷率

  模块缺陷率 = 该模块发现的缺陷个数 / 该模块的用例个数。这样可以得到它与其他模块的横向比较。

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-10-21 19:46:54

软件测试过程中的度量与分析的相关文章

软件测试过程中对bug的处理流程

又属于一篇普及文,希望自己在被各种技术吸引的同时,能时常来整理和总结软件测试最基本的知识. 从刚工作时接触的第一个缺陷管理工具禅道,到redmine.JIRA.bugzilla ,再到现在的QC,当然还有其它种的开源的或商业的缺陷管理工具,它们的本质是一样的,就是来管理缺陷的生命周期. 其实,你理解任意的一款工具,其它的工具也一定能无师自通.这不谈某款工具,单把它本质的一些东西抽离出来与大家分享. Bug的属性 Bug重现环境 这个应该是我们重现bug的一个前提,如果没有这个前提,我们可能会无法

软件测试过程中如何区分什么是功能bug,什么是需求bug,什么是设计bug?

问题描述: 测试过程中如何区分什么是功能bug,什么是需求bug,什么是设计bug? 精彩答案: 会员 土土的豆豆: 本期问题其实主要是针对不同方面或纬度上对于bug的一个归类和定位. 个人认为,从软件开发测试生命周期上分析的话,三者从开发测试阶段应该是需求bug.设计bug.功能bug.(这里仅针对提问排比) 需求问题可以包括设计问题和功能问题,当然还有非功能性缺陷等. 需求bug,简而言之就是对于业务需求不清晰或者理解有偏差产生的问题.可能包括业务分析人员不专业因素.开发与测试人员思维不一致

项目管理中横向视角下的软件测试过程管理

摘要:对软件测试过程的管理可以从项目管理的角度出发,在横向视角下分析,应先按照过程模型来认清测试过程本身,对测试过程进行配置管理.对测试过程进行有效评价,测试风险分析与测试成本管理. 关键词:软件测试:过程管理:项目管理:测试管理: 1.软件测试过程概述 软件测试在软件开发中 占重要的地位,它关乎所开发软件的总体质量,它是保证软件可靠性的重要手段.软件测试目的是找出软件的缺陷,并对缺陷进行分析和管理,从而消除缺陷,并为 软件的评价及决策提供依据.软件测试过程从理论上来说是一种抽象的模型,主要用于

评审技术在高质量软件开发中的应用分析(下)

接评审技术在高质量软件开发中的应用分析(上) 三.评审在高质量软件开发的实际应用 3.1 高质量软件开发项目介绍 高质量软件,如电信软件.金融证券类软件等,有较严格的要求:可用性要求非常高,并且不会因为系统维护和扩展而带来运营中断:支持使用现有管理工具和标准进行远程管理:能够提供更出色的性能以及运营在高可用性集群上的能力,减少任何单点的软硬件失效现象.五个九(99.999%)意味着一个系统的宕机时间一年不超过5分26秒.因此高质量软件项目是一种对可用性.可靠性.稳定性要求非常高的软件项目,要求软

软件项目质量管理与度量

软件项目/产品的质量问题一直困扰软件企业.监理方和甲方,如何预防.发现.治理软件项目/产品质量问题,是目前我国it发展面临巨大的挑战,这也是it发展过程中关注的主要问题.软件企业.甲方和监理方在研发过程中常常要面临很多难题: 1.软件质量管理基础 (1)质量的概念与定义:(2)软件的质量要素:(3)软件质量评价的准则:(4)iso 9000软件质量体系结构:(5)软件质量保证过程:(6)质量管理大师简介:(7)质量管理的发展历程: 2.软件质量与质量管理 (1)软件质量面临的挑战及模糊认识:(2

思科Catalyst 2960交换机中的CVE-2017-3881漏洞分析

本文讲的是思科Catalyst 2960交换机中的CVE-2017-3881漏洞分析, 2017年3月17日,思科官方网站发布公告称Cisco IOS&IOS XE Software 集群管理协议(Cluster Management Protocol)存在远程执行代码漏洞(CVE-2017-3881). 该漏洞是思科在研究CIA泄漏文档"Vault 7"的过程中发现的,攻击者可以在未授权的情况下远程重启受影响的设备或越权执行代码.造成该漏洞的主要原因是由于没有限制CMP-sp

浅谈软件静态测试中的代码审查

摘要:本文描述了软件代码审查的作用.代码审查内容.代码审查过程,并列举一些常见代码审查问题. 关键词:软件测试:代码审查: 一.引言 软件测试常用方法可分为动态测试和静态测试,只有动态测试和静态测试有效结合,才能更好的完成软件测试工作.代码审查是软件静态测试中常用的软件测试方法之一,代码审查时,只要测试人员方法得当.足够细心,往往能够产生意想不到的效果. 二.代码审查的作用 代码审查是在不执行软件的条件下有条理的仔细审查软件代码,从而找出软件缺陷的过程. 代码审查可以找出动态测试难以发现或隔离的

测试过程中的评审工作及关注事项

测试过程中的评审工作及关注事项 公司的软件开发EPG过程规范中对测试领域的工作及其规范做了细致的说明,虽然是CMMI3+,不过还是有些地方只是官样文章,是形而上的东西,在实际工作中不具备任何的指导作用.所以我们领导觉得这个可以自己重新定义一些在测试思维上较为技术性的东西纳入到测试领域的规范当中,而我负责关于用户需求评审和系统测试用例评审的检查点整理工作.由于用户需求评审能够有助于测试人员系统测试工作的开展,所以下面就用户与需求评审所需要准备的工作.用户需求评审时所要思考的问题.系统测试用例评审过

软件公司中的维护团队建设

相对于软件公司中的开发团队,维护团队似乎常常默默无闻,做事相对于保守,远没有开发团队那样常常让人有新鲜感.这是一种很普遍的现象,也就是维护团队的价值常常被有意或无意地降低了. 事实上,维护团队的建设和管理比开发团队所应对的挑战大得多,而运行得当的话,可以同项目团队或开发团队形成互补,发挥驱动力. 软件维护团队的目标和流程 软件维护团队被赋予维护已交付产品的职责,主要工作内容是分析修复新发现的Bug, 以及客户对软件提出一些调整,具体的内容要视维护合约而定.总之或么是修修补补,要么就是锦上添花.因