持续集成测试

持续集成测试

ID:40841696

大小:19.63 KB

页数:4页

时间:2019-08-08

持续集成测试_第1页
持续集成测试_第2页
持续集成测试_第3页
持续集成测试_第4页
资源描述:

《持续集成测试》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、概念引入 持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。在敏捷开发中,有一个很重要的实践叫做持续集成。而什么是持续集成呢?简单来说,持续集成是频繁、持续的在多个团队成员的工作中进行集成,并且给与反馈。一个典型的持续集成周期包括以下几个步骤:1.持续集成服务器不断从版本控制服务器上检查代码状态,看代码是否有更新。2.如果发现代码有最新的

2、提交,那么就从版本控制服务器下载最新的代码。3.等代码完全更新以后,调用自动化编译脚本,进行代码编译。4.运行所有的自动化测试。5.进行代码分析。6.产生可执行的软件,能够提供给测试人员进行测试。测试是持续集成流程中重要的一环,也是区别去传统的软件开发流程中的一个重要的标志。为什么要有持续集成测试呢?每天,程序开发人员将各自开发的代码上传到配置管理工具(如SVN、VSS)中,而配置管理工具会记录下谁在什么时间上传了什么代码文件。随后,持续集成工具会定期(可以是几个小时、半天,或者一天,由使用者自己定义)向配置管理工具询问,从上一周期到现在是否有代码上传。如果有,则下载到持续集成

3、工具中进行集成。之后,持续集成工具会调用构建工具代码编译、自动化测试,以及执行静态代码检查。如果这几项工作执行成功,则打包复制到应用服务器(如Weblogic)上执行重新发布,并形成代码检查与测试等报告;如果执行失败,则及时通过邮件通知管理者,并记录相关日志。配置管理工具毫无疑问,配置管理工具对持续集成工具来说是绝顶重要的,它是所有最新代码的来源。持续集成工具会定期向配置管理工具询问代码是否有更新。只有有了更新,持续集成工具才会去完成后续的工作,否则就没有了意义。目前在Java开发项目中,最主流的无疑是Subversion(简称SVN)。SVN是对CVS的升级,它通过插件的形式

4、被集成到开发工具中,并且提供了更加方便的上传下载操作,使开发人员最厌恶的上传下载操作变得简便。SVN的另一个巨大贡献是改变了VSS那样的串行修改模式。众所周之,VSS的版本管理思路就是串行修改模式,即对于同一个文件只能一个人修改,其他人不能修改。这样的模式对应大规模团队开发来说无疑是非常蹩脚的。SVN改变了这种模式,同一个文件可以多人并行操作,但同时SVN又提供了强大的版本冲突处理机制,当并行操作的多人各自提交版本时,通过版本冲突处理机制可以顺利的合并版本,使最终形成统一版本。当然,所有的持续集成工具都支持VSS,但VSS现在显得过于陈旧,用它的人是越来越少。这其中一个最重要的

5、原因是,它要求服务器端必须以共享文件的形式提供给各个客户端,存在着相当的安全隐患。SAWV(SourceAnyWhereforVSS)是VSS的替代产品,它通过客户端远程接入方案下载代码,很好地解决了这样的安全隐患。但十分遗憾的是,只有SAWV5.4以上版本才仅仅支持CruiseControl.Net这一个持续集成产品。构建工具对于持续集成工具来说另一个重要的工具就是构建工具。构建工具就是对源代码进行自动化编译、测试、代码检查,以及打包程序、发布到应用服务器上的工具。可以说,从配置管理工具上下载最新源代码后,所有的后续工作都是构建工具在完成。目前,主流的构建工具就是Ant与Ma

6、ven。Ant是老牌的构建工具,几乎成为构建工具的一面旗帜。它通过简单的XML文件的配置,就能定义一个软件项目复杂的构建过程(就是前面描述的那个过程)。许多软件项目在发布源代码的同时都会同时附带一个Ant配置文件。一个不熟悉该项目的人,只要使用Ant运行这个配置文件,软件就被发布到服务器中,十分方便。但随着时间的推移,人们发现了Ant的弊病。当公司里的软件产品越来越多时,虽然每个产品的构建过程都不一样,但大体过程是相似的。如果每开发一个软件产品都要重新编写一次配置文件,那实在太麻烦了,能不能将构建过程继承下来呢?为此,Maven就诞生了。对于一个有着丰富产品,并且业务还在不断扩

7、大的软件公司,使用Maven实在太适合他们了。同时,Maven强大的中央库概念令管理者们无比地兴奋。现在的软件项目往往需要使用第三方的软件框架,而第三方的软件框架又要使用其它的软件框架。这样,项目在引入jar包的时候会处于一种绪乱状态。如使用Spring框架的时候需要引入aopalliance.jar;使用Hibernate框架的时候需要使用cglib.jar。当项目引入的框架越来越多时,哪些jar包有用,哪些jar包无用,谁也说不清楚。当我们使用Maven后,只需要告诉Maven我们使用S

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。