持续集成学习总结(一)

 

.Hudson,目前使用最广的持续集成工具.http://hudson-ci.org/

厂商

Java.net

支持的编程语言

Java

是否开源

价格

免费

主流 SCM 支持程度

Clear Case VSS,   CVS, Subversion PVCS 等, SCM 支持最为完善

构建管理

并行构建,分布式构建,增量构建,人工强制构建, SCM 触发构建等都有支持

消息通知机制

Email Run executable FTP IRC Jabber Lotus Sametime RSS,SCP,Windows System Tray,Formatted Logging

 

构建工具支持

Shell 脚本与命令行, Ant,   Groovy,   OpenMake Meister, Maven, Maven2 MSbuild NAnt Rake (Ruby)

项目管理工具集成

测试工具集成

CppUnit result rendering JUnit result rendering NUnit result rendering Selenium result rendering PHPUnit result rendering MSTest result rendering  SilkCentral  Clover result rendering PMD result rendering 

安装与配置

windows 安装程序, Self contained distribution (except SCM clients) N 无需修改构建脚本,支持多个项目,自动配置构建脚本

IDE 集成

Eclipse Plug-in IntelliJ Plugin

.持续集成流行工具的初步分析与建议

持续集成(continuous integration)作为敏捷编程的基石现在已经被绝大多数的开发团队所广泛采用。而持续集成的工具现如今也是百花齐放,各有千秋,在此主要对比了在Java领域中比较常见的几种CI server(因为公司要求统一整个公司的CI server)。如果想了解更多的工具,可以看这里:

http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix

在此主要针对以下几种CI Server作对比,版本有点多,国内的多选用了一些open source的,而老外那边用得比较多的是商用版本;

CruiseControl (http://cruisecontrol.sourceforge.net/)

Hudson (https://hudson.dev.java.net/)

LuntBuild (http://luntbuild.javaforge.com/)

TeamCity (http://www.jetbrains.com/teamcity/)

AntHill Pro (http://www.anthillpro.com/)

Bamboo (http://www.atlassian.com/software/bamboo/)

QuickBuild (http://www.pmease.com/)

在持续集成领域,OpenSourceCruiseControlLuntBuild可谓老牌了,尤其是CruiseControl,出自thoughtworks,这可是Martin Fowler的老巢啊。Hudson作为OpenSource里持续集成的后起之秀,现在已经赶超了这两个前辈,目前恐怕是使用最多的一个CI Server了。而后面4个是商用的CI Server,其中TeamCity是来自jetbrains的,jetbrains是开发著名的IDE IntelliJ的公司。Bamboo则是开发著名的Bug Tracking工具JiraWiki Confluence的公司atlassian公司出品的。AntHill也属于Continuous Integration界的元老,QuickBuild则是LuntBuild的商业版本,我在下面重点考量的是QuickBuild,因为LuntBuild好像现在更新较慢了,而且QuickBuild现在好像也有了免费的所谓的Community Edition,功能齐全,只是配置数有所限制。在这些商业版本中,TeamCity应该是目前市场占有率最高的。由于公司里比较倾向使用商业版本的服务器,所以我重点比较的是后4种,捎带比较了一下CruiseControlHudsonTeamCityQuickBuild都有各自的免费版本,有兴趣的也可以去看看。

CI Server在本质上就是一个定时调度器。我们配置一系列的项目,然后设定一个定时器,让它干一些活,然后通知大家。所以很多公司都使用所谓Home-made的工具,用cron+Ant/Maven来做持续集成,这个就已经可以达到CI的最简单的功能了。而使用工具,就是我们除了基本的编译和通知功能以外,我们还有很多其它的需求,在公司里,选择CI Server主要考虑以下几点:

·便于公司的统一管理(大约有200+ Projects需要统一管理)

·对于项目本身进行流程管理: Daily Build -> QA Build -> Release Build

·公司ADActive Directory)的连接以对用户进行权限管理

·Continuous Testing的支持,即对于项目的Test要能产生出详尽的报告以及收集Test的统计数据以作为项目的分析和考量

·Continuous Code Quality Analysis的支持,即能处理项目产生的Coverage报告,Codestatic analysis报告,并且能收集这些报告的统计数据以作项目的分析和考量

·SCM工具的集成,我们公司主要有三种VCSClearCase, SubversionStarTeam

·与其它工具的集成,如bug tracking工具,IDE集成等等。

转载于:https://www.cnblogs.com/kivenhou/archive/2011/10/31/2230076.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为测试工程师,进阶需要持续学习和提升技能。以下是一个一年的学习计划的建议: 1. 学习软件测试基础知识:了解软件测试的基本概念、原理和常用术语。可以通过阅读相关书籍或参加在线课程来掌握这些知识。 2. 掌握测试方法和技术:学习各种测试方法和技术,例如黑盒测试、白盒测试、灰盒测试、功能测试、性能测试、安全测试等。了解它们的原理和适用场景,并进行实践。 3. 学习编程语言:掌握至少一门编程语言,例如Python、Java、C#等。编程技能可以帮助你编写自动化测试脚本和工具,提高测试效率。 4. 学习自动化测试:了解自动化测试的基本原理和常用工具,例如Selenium、Appium、Jenkins等。学习如何编写自动化测试脚本,并实践在项目中应用。 5. 深入了解测试管理和过程:学习软件测试的管理和过程,包括需求分析、测试计划制定、缺陷管理等。了解如何与开发人员和其他团队成员合作,提高测试效果。 6. 学习持续集成与持续交付:了解持续集成和持续交付的概念,学习相关工具和技术,例如Git、Jenkins、Docker等。了解如何在项目中应用持续集成和持续交付的思想。 7. 参与开源项目或个人项目:通过参与开源项目或者个人项目,锻炼自己的测试技能并积累经验。这也可以帮助你建立自己的技术影响力。 8. 持续学习和跟进最新技术:软件测试领域的技术和工具不断更新和发展,要保持学习的状态,关注行业动态和最新技术趋势。 记住,学习是一个循序渐进的过程,需要不断实践和总结经验。通过以上的学习计划,你可以在一年内提升自己的测试技能和职业发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值