动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 软件工程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ 软件工程 ]的信息



本月文章推荐
.程序员必须注意的十大安全技巧.
.成功实施SOA COSCON扬帆远航.
.统一建模语言UML轻松入门之基本概.
.用户手册在软件质量中的地位.
.Linux的用户进程是如何使用内存的.
.软件测试基础.
.项目管理中的(用户)需求变更控.
..NET Remoting构建分布式数据库查.
.保证SOA走上成功之路的十大步骤.
.VS2005中用Code Snippets提高开发.
.走出软件质量误区.
.Accumulation Buffer(累积缓存).
.软件开发管理与质量控制(二).
.测试工具应用之我见.
.XAML开发入门之XAML核心语法.
.使用模式集成UML视图.
.用Vista和WCF中P2P通信功能开发软.
.SOA让IT从业者看到更多的利润.
.单例模式Singleton的实现.
.软件缺陷的分类与管理.

CMMI模型对软件测试技术的扩充

发表日期:2008-3-23 |



  在软件开发的瀑布模型中,测试是一个非常重要的工程阶段。从保证软件质量的角度来说,软件测试是软件质量保证工程的一个重要组成部分,也是最重要的质量保证手段。为了保证所提交的软件产品能够满足客户的需求,以及在使用中的可靠性,就必须对所开发的软件产品进行系统而全面的测试。基于这一需求,软件测试作为软件开发过程中的一个重要阶段,受到了软件开发组织的普遍重视,并形成了一整套比较成熟的测试理论和技术方法。

  然而,随着软件开发技术的不断发展,以及软件系统的规模和复杂性的不断增加,传统的软件测试理论和技术已经不能够很好地满足开发组织在产品质量、开发成本以及研制周期等方面的需求。本文主要从软件测试的组织和治理角度,阐述了CMMI模型规范对软件测试技术的应用和扩充,对于软件开发组织如何发展和完善软件开发中的测试工作进行了初步探索。

  1、 传统的软件测试技术和测试过程模型

  传统的软件测试只是作为软件开发过程中的一个特定阶段,并且只针对软件成品进行测试。如图1所示,在瀑布式开发过程模型中,测试是在编码完成之后和软件产品交付运行之前的一个工程阶段,所有的审查和评审活动都是针对软件成型产品而开展。这样的软件测试主要关注的是对软件的验收测试,在一定程度上保证了所提交的软件产品的质量。但是,全面质量治理的理论认为,软件的高质量是开发和设计出来的,而不是测试出来的。因此,仅仅依靠对软件产品进行测试的质量保证活动显然是远远不够的。随着软件开发过程模型和开发技术的不断发展,软件测试理论和技术也应该得到相应的发展。

CMMI模型对软件测试技术的扩充
图1 软件测试在软件开发过程的瀑布模型描述中所处的地位

  随着全面质量治理思想在软件开发领域的应用,软件测试也由最初的只针对软件成品扩展到了针对软件半成品和过程产品的全过程测试。这是对软件测试的一种扩充。扩充后的软件测试贯穿了软件开发的全过程,包括从软件需求分析、软件概要设计、软件具体设计、编码、集成、验收等各个工程阶段。相应地,各阶段所开展的测试分别为需求测试、架构测试、具体设计测试、单元测试、集成测试以及验收测试等。这样的软件测试涵盖了软件开发的整个工程过程,对于识别和控制软件缺陷、提高软件质量起到了很明显的成效。
从本质上来说,无论是传统的软件验收测试,还是面向整个开发过程的全过程软件测试,其所针对的测试对象都是软件产品、半成品或者过程工作产品,其所报告的测试结果也只是为了识别出现在阶段产品的缺陷,并加以纠正以支持下一阶段的开发工作。从软件开发组织的长远发展来看,仅仅做到这些还是不够的。软件测试作为软件质量保证的一种重要手段,不仅要能够识别软件产品的缺陷并加以改正,还应该在软件测试中结合统计技术方法,给出对软件开发过程的度量,从而支持组织对软件开发过程的评估和改进。由美国国防部和卡耐基-梅隆大学的软件工程研究所联合开发的CMMI模型,正是从软件过程改进和评估的角度出发,对软件开发中的测试技术给出了充分的支持和扩充。

  2、 CMMI模型对软件测试的支持和扩充

  CMMI模型主张在开发过程中注重对过程和产品的度量,以量化的形式提供对治理过程的支持,以及对过程进行相应的评估和改进。这实际上就是对软件测试技术的一种应用和扩充。CMMI模型将测量和分析作为一个单独的过程域,充分体现了对开发过程中的测量技术的重视,该过程域的目的就是开发和维持度量能力,以便支持对治理信息的需要。

  测量和分析过程域共有三个目标,其中两个为特定目标,一个为共性目标。

  第一个目标是协调测量和分析活动。为实现这一目标,模型中给出了四个方面的特定实践,它们分别是确定测量对象,建立测量目标;具体说明度量值,以处理测量目标;规定数据收集和存储规程,说明如何获得并存储测量数据;规定分析规程,说明如何对度量数据进行分析和报告,并且安排优先顺序。该目标中所针对的测量对象既包括组织所开发出的软件产品、半成品以及过程产品,也包括对开发过程本身的度量。因此,在测量和分析过程中不仅要用到传统软件测试中的一些技术和方法,还需要在测量过程中引入统计过程控制等理论方法,提供对过程度量和改进的支持。

  第二个目标是提供度量结果,以便处理信息需要和目标。为实现这一目标,模型中也给出了以下几方面的特定实践:收集度量数据,即获得制定的度量数据;分析并解释度量数据;治理并存储度量数据、度量规范和分析结果;通报分析结果,向所有的干系人报告测量和分析活动的结果。在这一目标中,主要关注的是对测量结果的分析和使用。在传统的软件测试中,只要产品通过了需求方的验收,达到了合同要求,开发组织一般也就不再重视对软件测试结果数据的治理和使用。从过程改进的角度来说,这是很不科学的。基于CMMI的集成化过程改进和评估,提出了建立开发过程数据库的思想,作为组织进行过程改进的基础。而建立过程数据的过程中,实际上也就是对测试和度量数据的积累和存储过程。从这一点来说,在开发过程中开展软件测试以及针对开发过程的度量,是建立过程数据库的必要步骤。

  第三个目标是共性目标,即将测量和分析活动制度化为可治理的过程。这一目标主要关注的是对软件测试和过程度量活动的治理以及制度化。针对这一共性目标,CMMI模型从四个不同方面给出了10个共性实践。首先,作为执行测量和分析活动的承诺,要求组织建立方针,为策划和执行“测量和分析”过程提供组织级的支持;其次,在执行能力方面,组织应该制定测量和分析过程计划;提供必要的资源;分配相应的责任;并且对相关人员进行培训。第三,为了指导该过程的实施,组织应该将测量和分析过程指定的工作产品置于配置治理的适当层次;确定与过程相关的干系人并使之介入;同时还要对测量和分析过程进行监督和控制。最后,作为对测量和分析活动的验证实施,组织应该客观评价测量和分析过程以及过程的工作产品和服务的遵循情况;同时,由高层治理者审查测量和分析过程的活动、状态和分析结果,并解决相应的问题。这一共性目标的实现,实际上就是把测量和分析活动制度化为一种组织级的行为,在整个组织的范围内加强了对软件测试和过程度量活动的组织和治理工作。

  从以上分析可以看出,CMMI模型主要从以下三个方面扩充的传统的软件测试技术:

  (1) 从单纯的对软件产品的测试活动,扩展为软件产品的测试和开发过程的度量。


  这一方面主要体现在过程度量对软件测试的依靠和应用。对开发过程进行度量,需要利用对软件产品、半成品以及工作产品的测试结果,从而建立对软件产品缺陷对开发过程的可跟踪性。从这一点来说,对开发过程的度量,实际上也就是针对软件产品的测试活动的扩展,其与传统的软件测试的不同之处就在于关注对软件测试结果数据的分析和利用,将测试数据有效转换成为能够标识过程缺陷的统计数据。

  (2) 软件测试由原来的事后测试行为发展为全过程测试和分析,成为一种缺陷预防的有效方式。
统计技术方法的应用,将传统的软件测试活动扩展为一种全过程测试行为。从质量工程的角度来说,这是一种质量保证思想的转变。传统的软件测试,只针对软件产品而开展,找到缺陷之后再加以改正和修补,这是一种“亡羊补牢”的质量治理方式;而针对开发全过程所开展的软件测试和过程度量,则注重根据对测试数据的统计分析结果,来判定软件产品的未来质量趋势,并提前予以控制和预防,属于一种“防患于未然”的质量治理方式。与传统的软件测试相比,全过程测试不仅可以有效降低产品的质量风险,而且还可以提前对软件产品缺陷进行规避,这不仅缩短了对缺陷的反馈周期和整个项目的开发周期,而且也大大降低了对软件产品的维修和维护费用,对于软件产品的整个生命周期都有很重大的意义。

  (3) 软件测试与开发过程的其他阶段不再是串行工作方式,而是与整个开发过程并行进行。

  与瀑布模型相比,CMMI模型中所描述的软件测试和过程度量工作与整个开发过程是并行进行的,是一种基于并行工程的测试和度量行为。基于并行工程开展的软件测试活动,存在于软件生命周期的各个阶段,其基本特点是以质量保证和客户要求为核心开展对软件产品和开发过程的测试和度量,力争将缺陷控制在软件开发过程的每一个阶段,从而可以有效缩短开发周期,降低质量风险,并且可以及时吸取经验教训,提供对过程改进的支持。这也体现了CMMI模型对并行工程思想的一种支持和应用。

  除了测量和分析过程域之外,CMMI4中的量化过程治理过程域也是对软件测试和过程度量技术的一种更高层次上的应用。在该过程域中,测试和度量已经不仅仅是一种被治理的过程,而且其本身也成为了一种有效的辅助治理手段,从定量化的角度对软件开发过程的治理和组织活动给出了支持。开发过程治理从定性到定量的转化,是CMMI集成化过程改进所追求的目标之一,也是开发组织一直追求的一种更高水平的治理方式。因此,随着软件开发组织过程能力的不断提高,软件测试和度量技术也将会得到不断的发展和完善。
上一篇:IT项目管理向沟通要效率 人气:206
下一篇:Project 2000进行项目管理(一) 人气:261
浏览全部软件工程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-24 Sablog-X v2.0 预览版
2008-7-24 帝国备份王EmpireBak 2008 正式版
2008-7-24 网趣网上购物系统时尚版 v8.2
2008-7-24 纵横B2B电子商务系统XYECS!B2B v
2008-7-24 e路小说小偷 v1.2.0723
2008-7-24 凌风美女图片站程序 v2.2
2008-7-24 TOM15电影收索程序
2008-7-24 清风信息自动采集生成系统 v1.0
2008-7-24 QQ邮箱编辑器 v1.0 (小小菜刀ASP
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号