软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件测试技术>>其他相关>>正文
建议有效的软件度量过程
文章出处:转载 作者:沙晋 发布时间:2005-12-26

关键词:度量 量度 CMM

摘要:软件度量并非一个新的话题,其主要目的是为组织提供对软件过程和产品更深入洞察力,这也就使组织能够更好的进行决策并朝着组织目标发展。对于软件企业而言,度量通常等价于采集并报告数据并且主要以数字为表现形式。本文的目的不在于提供软件度量概念上的解释及由来,而将聚焦于企业软件度量过程的建立上。

从软件企业的观点出发,软件度量(Software Measurement)是通过各种不同的量度对软件生命周期中的各个元素进行度量(Measure),它能够为项目管理者提供有关项目的各种重要信息,同时也是进行大多评估活动的基础。

通常度量程序是由一些软件工程组在组织中进行实施,而这种用于量化软件过程的决策手段实际上能为所有涉及软件的人或部门带来好处:

  • 项目经理得益于在计划及控制软件项目时作出相关决策;

  • 项目成员能聚焦于工作的改进;

  • 软件配置管理组能关注于产品的完整性;

  • 软件质量保证组则能专注于过程的保证;

  • 当然用户则关于软件产品的最终使用;

  • 除此以外,其他涉及并关心软件过程及产品的职能部门都能以此作出相关决策。

既然软件度量能为企业组织的各个方面带来好处,那么我们究竟应该如何在企业组织中来设计并实现这一度量过程呢?本文将以此为目的展开。

首先,让我们先来了解一下设计软件度量过程的主要构架:

  • 开发一个度量过程并使其成为企业组织中标准软件过程的一部分;

  • 通过定制与整合各种过程资产来对项目及相关手续拟定过程计划;

  • 执行拟定的计划和相关手续来对项目进行过程的实施;

  • 当项目进一步成熟且度量需求发生改变时对相关计划及手续进行改进以改善该过程。

根据以上几点,Carnegie Mellon大学的SEI提出了以下的一个软件度量过程体系结构图:


图1:软件度量过程体系结构

下面我们就来按照上面的体系结构进行分析:

1、过程计划的制

制定度量过程的计划包括两个方面的活动,一个是确认范围,一个是定义程序步骤:

  • 确认范围:该活动的根据是要明确度量需求的大小,以限定一个适合于企业本身需求的度量过程。因为在整个度量过程中是需要花费人力物力等有限资源的,不切实际的大而全或不足以反映实际结果的需求都会影响度量过程的可靠性以及企业的发展能力。
  • 定义程序步骤:在确认了范围后,就需要定义操作及度量过程的步骤,在构造的同时应该成文立案。主要工作包括定义完整,一致,可操作的度量;定义数据采集方法以及如何进行数据记录与保存;定义可以对度量数据进行分析的相关技术,以使用户能根据度量数据得到这些数据背后的结果。

2、过程的实施

过程的实施也包括两方面的活动,一个是数据的采集,一个是数据的分析:

  • 数据的采集:该活动根据已定义的度量操作进行数据的采集,记录及存储。此外,数据还应经过适当的校验以确认有效性。在进行该项活动时应具有一定的针对性,对于不同的项目或活动所需要的实际数据量是有差别的,而且对活动状态的跟踪也是非常重要的。

  • 数据的分析:该项活动包括分析数据及准备报告,并提交报告,当然进行评审以确保报告足够的确实性是有必要的。这些程序步骤可能会需要更新,因为报告可能没有为使用者提供有益的帮助或使用者对报告中的内容不理解,在这两种情况下,都应回馈并更新度量过程以再进行数据分析。

3、过程的改

过程的改善仅包含一个方面的活动,即优化过程

  • 优化过程:该过程活动被用于动态地改善过程并确保提供一个结构化的方式综合且处理多个涉及过程改进的问题。除此以外,该活动对度量过程本身进行评估,报告的使用者会对数据的有效性进行反馈。这些反馈可能来自其他的活动,但一般都会溶入到度量过程新一轮的生命周期中去,对度量过程进行新的确认及定义。

现在,我们已经基本了解了设计一个软件度量过程的体系结构,那么,我们应该如何来进行实施呢?这也就是我们下面即将展开谈到的。

如果企业组织决定在内部开始或改善软件度量过程,组建一个度量专组是很有必要的,同时企业应为该专组提供确定和必要的资源,以便使其展开工作。在完成相应的准备工作后,我们就可以开始经历一个实施的过程了。

  • 确认目标:企业组织必须有明确,现实的目标,进行度量的最终目前是进行改进,如果专组不能确定改善目标,则所有的活动都是茫目且对组织无益的。

  • 对当前能力的理解及评价:正确直观地认识到企业组织当前所处的软件能力是非常重要的,在不同的阶段,组织所能得到并分析的数据是有限的,且分析技术的掌握了是需要一个过程的。度量专组应能够针对当前的软件能力设计度量过程,找到一个均衡点。

  • 设计度量过程:这部分工作也就是我们在前面所详细讨论的一部分。

  • 过程原型:度量专组应该利用真实的项目对度量过程进行测试和调整,然后才能将该过程应用到整个组织中去,专组应确保所有的项目都能理解并执行度量过程,并帮助他们实现具体的细节。

  • 过程文档:到此,专组应该回到第一步审视度量过程是否满足了企业的目标需求,在进一步确认后应进行文档化管理,使其成为企业组织软件标准化过程中的一部分,同时定义工作的模板,角色,以及责任。

  • 过程实施:在前几步完成的情况下,可以开发一个度量工作组来对度量过程进行实施,该工作组会按照已经定义的度量标准来进行过程的实施。

  • 程序扩展:这一步骤是实施的生命周期中最后一个环节,不断的根据反馈进行监督


站内搜索
相关文章
◎嵌入式软件的覆盖测试
◎我眼中的自动化测试水平等级
◎联合测试
◎高可靠性软件测试方案探讨
◎QA活动的理解与实施
◎从六个角度分析流程建模
◎故障硬盘数据拯救全攻略
◎测试版本大全
◎程序员修身养性的十大原则
◎建模过程的盲点:软件集成中的软知识
◎ASP+SQL Server构建网页防火墙
◎基于嵌入式DSP的流媒体编解码器
◎软件开发全过程检测及测试自动化
◎PDCA循环小知识
◎想编写出优秀技术文档,先学学这四招
◎Tcl脚本的历史
◎Alpha和Beta测试简介
◎测试人员的挑战
◎测试要点总结
◎本地化测试寻找软件缺陷的方法
◎软件本地化测试类型解析与测试要领
◎全景记录:软件测试工程师的一天
◎破解软件外包人才匮乏困局
◎外包测试:雷声大 雨点急
◎URL欺骗的惯用招式
◎网络最经典命令行
◎近10年最强的50本计算机图书,您读过几本?
◎提高团队与个人的尽职度
◎从程序员到测试工程师
◎软件测试组织与方法
◎编写优秀Bug报告的艺术
◎基于模块化设计的嵌入式软件测试方法
◎一个初级测试工程师的工作总结
◎创建移动Web应用程序
◎Web服务器上防范基于ASP程序的木马
◎ASP网站漏洞解析及黑客入侵防范方法
◎防范ASP木马的十大基本原则
◎V模型问题分析
◎测试人员面试三步曲
◎软件测试的误区
◎谁背上了猴子-时间管理
◎开放源码有利于系统安全
◎软件测试的心理学问题
◎嵌入式软件测试策略
◎如何实施SQA
◎软件测试入门书籍(2)
◎制定项目的测试策略
◎软件测试的人际关系
◎测试实践:Eclipse 之 JUnit
◎测试经验交流
热门文章
◎软件测试工程师面试问题选登
◎一个初级测试工程师的工作总结
◎软件测试常用术语表
◎测试人员面试三步曲
◎DOS命令大全
◎什么样的测试人员是好的测试人员
◎软件测试基本方法
◎好的测试工程师应具备的素质
◎软件测试入门书籍(2)
◎我在软件公司成长的三年
◎面试官最爱问的问题背后真相
◎软件测试工程师面试题
◎应届毕业生少走弯路的十条忠告
◎有关软件测试的术语定义集锦
◎微软的软件测试方法(一)
◎我的测试经历(1)
◎全景记录:软件测试工程师的一天
◎软件测试步骤
◎谈谈对测试职业的看法
◎漫谈软件测试工程师的角色定位
◎测试需要掌握什么
◎软件测试员自身素质培养
◎测试小技巧集锦之一黑盒测试
◎近10年最强的50本计算机图书,您读过几本?
◎软件测试人员职业发展助手
◎测试要点总结
◎如何制定成功的测试计划
◎测试的主要评测方法(1)
◎什么是ERP,通俗版解释
◎测试经验交流
◎软件测试及其支持工具
◎编写优秀Bug报告的艺术
◎软件产品测试标准
◎从程序员到测试工程师
◎微软的软件测试方法(二)
◎软件测试应遵循的八条原则
◎测试版本大全
◎我的测试经历(2)
◎测试人员的挑战
◎网管和黑客都必须知道的命令
◎QA活动的理解与实施
◎Alpha和Beta测试简介
◎网络最经典命令行
◎想编写出优秀技术文档,先学学这四招
◎个人职业生涯规划发展
◎你适合做测试吗?
◎软件测试的误区
◎我的测试经历(3)
◎软件测试的心理学问题
◎软件测试组织与方法

Google提供的广告