• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

软件质量之路(2):日构建

发布: 2009-11-26 08:51 | 作者: 不详 | 来源: 领测软件测试网采编 | 查看: 9次 | 进入软件测试论坛讨论

领测软件测试网

  simple example build file

  description="compile the source " >

  description="generate the distribution" >

  以上是一个简单,但已经可以完全说明Ant工作流程的例子,来源于Ant的手册。在这个例子中,先定义了项目的基本信息和构建过程中所需要使用到的属性(1),然后初始化环境(2)(创建时戳和目标目录),在3和4中,对项目进行编译和打包,在5处,提供了清除项目输出的途径。

  在Ant中,最关键的四个概念就是项目(Project)、目标(Target)、任务(Task)和属性(Property)。这四个概念的定义和调度、配置文件的处理构成了Ant的核心。而具体的任务则作为扩展机制。这种微核心的处理思路在很多成功的软件项目中采用过。

  本文并没有打算对Ant进行全面的介绍,因此,如果你打算在组织中引入日构建,那么,学会使用Ant是必须的。目前很多的IDE环境都提供了对Ant的支持(例如Eclipse),所以使用Ant是很方便的。

  原则上,光有Ant就已经可以完成一个日构建过程了,但是还有一些软件提供了更好的封装,使得持续集成变得更加的简单。典型的两个工具是AntHill(http://www.urbancode.com/projects/anthill/default.jsp)和CruiseControl(http://cruisecontrol.sourceforge.net/)。前者是一个商业软件,提供了很多优秀的日构建实践。使用起来也很简单。后者是鼎鼎大名的Martin Folwer所在的ThoughtWorks公司开发的,可以免费使用。

  另一个值得关注的软件是Apcache组织下的Maven项目(http://maven.apache.org/)。这个项目还很年轻,目前才到1.0的发布版。Maven给自己的定位是项目管理软件,使用项目对象模型(POM)来描述一个项目,进一步的简化构建过程,并统一构建过程所出产的工件。Maven的另一个目标是通过一种实际的工具,来推广优秀的实践。例如开发目录树的组织。

  日构建的代价

  虽然日构建有诸多的好处,但是要使用日构建并不是一帆风顺的。最大的问题是如何引入日构建的三项基本实践。前两项相对简单,最难的是建立自动化测试。关于这部分的说明请参考测试驱动开发的相关部分。

  日构建扩展任务

  日构建的核心任务是编译、构建、执行测试和发布。除了这些任务之外,还可以微日构建添加扩展任务。

  生成文档。生成文档有很多的方法,其中最关键的是生成API文档。JavaDoc的概念减弱了传统软件开发中文档的重要性,而把大量的文档嵌入到了代码层面中。除了标准的JavaDoc文档之外,还可以利用第三方的工具生成自定义的文档,例如to-do列表文档。XDoclet就是其中的一个工具。

  预编译。不少的应用引入了预编译。典型的如AspectJ,作为一个AOP工具,AspectJ的作用是使用特定的代码生成器生成AOP的Java代码,然后再进行编译。将预编译的工作纳入到构建过程,可以简化开发的工作量。典型的还包括一些ORM工具。

  代码分析。代码分析是软件度量的重要工作。代码分析可以为管理人员提供一个判断代码质量依据(不要把它作为唯一的标准)。代码分析是形式化的,因此可以制作成软件,集成到构建过程中来。例如,判断代码是否符合编码规范,文档和代码的比率,包和类涉及的合理性。

  测试覆盖分析。测试覆盖分析作为辅助测试的手段是非常重要的。测试代码的复审,最关键的评价测试是否足够(相对),单靠人工完成这项工作太勉强了。所以应该令其自动化,并成为构建过程的一部分。

  问题跟踪。测试过程中出现的问题应该被纳入到一个问题跟踪系统中,可以通过和问题跟踪系统接口来设计自动化的任务。

  归档和备份。这是很基本,但也是很重要的功能。每天产生的工件应当进行妥当的归档、备份。

  进一步了解

  试图在短短的一篇文章中完整介绍日构建技术是很难的,从DW的网站上,你可以找到更多管理日构建工具的相关内容。

  关于作者

  林星,致力于研究敏捷理论和优秀的软件设计思想,并将之应用于国内的软件组织。可以通过 iamlinx@21cn.com 和他联系,也可以通过访问 http://www-900.ibm.com/developerWorks/cn/linux/software_engineering/l-frmwk/www.qca.cn 和 http://www-900.ibm.com/developerWorks/cn/linux/software_engineering/l-frmwk/www.aglichina.org 来获得更多的信息。

文章来源于领测软件测试网 https://www.ltesting.net/

44/4<1234

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网