快速迭代的互联网迭代发展研发模式下测试如何突破

(飞马网FMI)
(飞马网FMI)
(AI人工智能)
(AI人工智能)
(AI人工智能)
第三方登录:互联网开发模式:持续集成
互联网开发模式:持续集成
文章转自韩大的博客
持续集成的意义和实践
不管是敏捷开发的快速迭代,还是重构系统,我们都将频繁的编译代码、部署、测试,也就是所谓的集成。如果我们的系统集成效率太低,那么快速的迭代可能变成慢速的迭代,重构系统的频率也会**降低。有一些项目,每一次集成,都要最少经历两三个小时,如果不顺利的话,搞一个通宵都未必能完成。
“发版本”是很多程序员和运维管理人员的常见加班原因。对于这个问题,很多小型公司开始的时候,并没有给与足够的重视,认为这些事情不过是程序员或者运维的本分工作之一,也是最日常的工作。真正得到出问题了,才发现重要性。
在任何一个互联网应用业务中,我们都会需要“发版”:出新功能、修改BUG、启动运营活动、甚至是机房搬迁。所有的这些,如果没有一套合适的工具来保障,每次发版都会是一场噩梦。所以持续集成(CI),很自然的成为互联网企业中最流行的、研究最广泛的技术之一。
所有资产纳入版本管理
持续集成的所有东西,都应该来源于版本管理系统(SVN/Git)。除此之外,软件资产不应该存放在任何其他地方。版本管理系统应该是开发团队的保险箱和金库,除了代码以外,所有的数据文件,配置,脚本,文档,都应该放入这个保险库。由于版本管理系统可以追溯到任何一个是时间点,这可以让故障恢复,问题回溯有良好的支持。
关于源代码使用版本管理系统,已经有很长历史了。但是互联网服务中,除了代码,还有很多其他的资源,比如图片、数据、脚本等等。除了产品项目外,我们的很多额外系统,比如运维工具、产品文档等等,都是需要妥善保管的,这些也都应该存放到版本管理系统中。
一般现在的版本管理系统,都有“分支”的功能,简单来说就是类似于“拷贝”了一份新的资源出来,在这之上的修改,可以由我们选择合并到其他分支或者放弃。所以SVN的常用方案,是启动三个类型的分支:trunk/branch/tag,专门针对“测试”、“开发”、“运营”。如果我们按预定的分支模型来设计版本管理系统的使用,那么我们的持续集成就可以很细致的选择集成哪一个版本的内容。
而在Git里面,每个使用者,都可以拥有自己的资源库,这对于开发测试可以更加的灵活,但是对于使用者的要求更高一些:在不同的资源库合并的过程中,需要更好的版本管理策略。持续集成系统可以自己拥有一个或者多个Git资源库,这样他们可以完全脱离版本管理服务器来独立运行。
自动化部署
我们曾经无数次的登录服务器,无数次的拷贝文件,无数次的修改配置,无数次的导入数据到数据库,无数次的……如果我们对这些重复,而且容易出错的工作熟视无睹,我们将永远的被这些本该机器去做的事情困住。
自动化部署,是整个持续集成工作中最重要的步骤。当我们每次发版都要很仔细的修改很多文件的时候,我们是无法避免在某次倒霉的事故后被挨批的。只有我们能把部署工作,也用我们的开发能力去解决,编写自动部署工具之后,我们才真正的能提升部署这个事情到一个新的台阶——我们终于可不再担心发版。
和自动化测试一样,自动部署脚本,也是把一系列的技术需求,从纸面文档+人手处理,改成用代码实体化,并且可积累改善的方法。自动化部署工具在开源界也非常热门,比如jekins,还有chef等等,都是为了解决部署问题而发明的软件工具。也许对于你来说,自己用bash开发一套脚本才是合乎你的品味,但是不管怎样,一定要有这样的工具。
就算要花费较长的开发时间,调动项目开发的程序员,一起来认真的开发一段时间自动部署功能,都是非常值得的。因为从今以后,你就可以拥有一个自己的部署系统,这个系统不但可以积累你的运营部署经验,还能加入很多错误、故障的自动检查,让你不再需要导出找“永远不出错的”运维人员。
自动化部署系统中,最核心的部分就是配置管理。拥有一个对现有环境资源集中管理的数据仓库是非常重要的。如果每个你的脚本可以识别自己所在的环境,以主动的方式去“申请”自己的配置文件和安装任务,是非常好的一个模式。因为从一个节点主动去分发程序,比不上多个节点向中心集群请求部署任务,来的更容易稳定。因为在节点上的部署代理程序,能更准确的知道自己环境的情况,也可以做本地的测试。
自动化集成测试
前面曾经说过,敏捷开发非常依赖于自动化的单元测试。实际上持续集成,也非常依赖于自动化的集成测试。集成测试可以把自动化部署的结果进行检验,避免手工进行反复验证。
如果只有自动化部署,而没有自动化测试,那么集成工作,其实还是非常浪费人力的。更重要的是,我们在每次“发版本”之后,总会担心新的修改,导致一些旧的功能失效。这种问题实际上是很常见的,如果无法自动化的做这种回归性的测试,那么我们每次发版还是要忍受漫长的测试工作进度。
自动化集成测试也有很多开源的工具可供选择,特别是基于B/S模式开发的WEB程序,但如果是手机APP的项目,或者客户端C/S程序(比如网络游戏),对于这类服务器系统的集成测试,往往需要我们自己根据业务来编写测试程序。
对于服务器系统来说,一般我们针对其通信协议编写测试程序即可,而对于客户端系统,如果是GUI系统的,我们还可以根据GUI的内部调度命令(安卓就有这样的套件)来测试,但如果是类似游戏这类业务,就只能用图形识别技术了。
在持续集成的流程中,集成测试往往是最后一步的检验关口。如果集成测试失败,应该给所有关注集成的人员发送警报(实际上,如果成功也应该报告)。现在企业往往会用邮件、IM、微信、短信或者别的一些东西接收这种消息。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!云栖社区(yq.aliyun.com)为您免费提供测试模式相关的问答和话题,云栖社区以分享专业、优质、高效的技术为己任,帮助技术人快速成长与发展!互联网+时代,企业如何进行研发效能体系快速升级?
摘要: 随着互联网、云计算、大数据等前沿科技的发展,产品快速迭代的重要性不言而喻。在这样的市场环境下,大中型企业如何完成公有云/专有云/混合云转型升级,实现研发效能的提升?中国近5000万的中小企业如何保证研发过程的稳定性与持续性?保持企业的创新力与活力?企业如何利用工具实现项目管理-应用管理-代码测试-持.
随着互联网、云计算、大数据等前沿科技的发展,产品快速迭代的重要性不言而喻。在这样的市场环境下,大中型企业如何完成公有云/专有云/混合云转型升级,实现研发效能的提升?中国近5000万的中小企业如何保证研发过程的稳定性与持续性?保持企业的创新力与活力?企业如何利用工具实现项目管理-应用管理-代码测试-持续交付-运维监控-数据反馈运营的一站式研发生命周期管理服务,使DevOps真正落地?
基于对以上问题的思考,阿里巴巴产品运营专家蒋晓娴,在2017杭州云栖大会上策划了《研发效能峰会》和《企业高效研发实践专场》两大专场论坛,由阿里巴巴研究员、阿里巴巴资深技术专家、阿里云云效客户,从宏观理念和微观实操两方面出发,详细叙述如何赋能大型企业互联网效能升级和初创企业产品快速孵化创新。
蒋晓娴:阿里巴巴产品运营专家,《研发效能峰会》和《企业高效研发实践专场》出品人。浙江大学软件工程硕士毕业,十多年从事软件的测试、测试管理、过程改进、测试工具平台设计及运营工作。负责对外提升研发测试效能平台——云效的市场运营规划和执行落地工作。
本次峰会由阿里巴巴研究员索尼,率先发布云效2.0新品和全球首发阿里巴巴Java规约插件拉开帷幕,从两大新品发布为听众揭开研发效能升级之路。接着,由三位阿里巴巴技术专家分别从研发效能提升解决方案、阿里巴巴应对DT时代的实践之路、阿里巴巴1582.73亿背后的持续交付如何玩等方面,结合阿里巴巴实战经验进行全面解析,为企业提供实战落地经验;最后由来自天弘基金和全球旅游产品交易平台的PKFARE(比客),以自身研发实践为案例,为听众分享企业研发体系如何升级落地。
推荐嘉宾和话题:
讲师:索尼:阿里巴巴研究员
议题:重磅发布——通往研发效能之路:云效2.0新品联合发布/阿里巴巴Java规约插件全球首发
内容简介:继商业模式和技术创新突破后,研发效能成为企业的另一重要核心竞争力。本主题将探寻研发效能的现状、发展和未来方向,并通过解读阿里巴巴集团上千个产品、数万人员效能提升之道及宝贵的实践经验,赋能更多企业,形成企业核心竞争力、规模效应和技术壁垒。探索之路:1、云效2.0新品发布及行业解决方案,云效公有云产品(容器、edas、度量)、专有云产品(运维、监控、数据银行、mock等),云效金融行业的解决方案;2、Java编码规约插件全球首发,阿里巴巴首次以技术横向标准规范影响业界,与业界共同打造良好编码环境,码出高效,码出质量。
听众受益:1、深入了解研发效能的现状、发展和方向;2、收获阿里巴巴集团研发效能实战经验;3、了解云效2.0新品及行业解决方案;4、享受Java编码规约插件第一手资源。
干货满满的“研发效能峰会”日程安排如下,快速报名!
(10月14日9:00-12:00)
本专场由阿里云云效客户实战案例分享为主,来自光大银行、国泰产险、云贝网络、新光互联、HashiCorp等企业,从企业实战出发,重点分享传统银行测试转型实践、中小金融企业持续交付之路如何走?研发组织如何保持研发过程的稳定性与持续性?500强上市公司如何实现研发模式的互联网转型等,同时由阿里巴巴技术专家推出敏捷项目管理实践和智能化运维监控,多方面为听众提供研发效能提升落地实践。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!在互联网行业如何高效快速接单子
蜗客网——最专业的服务外包平台 vip模式一:群里边所有能做的项目都可以接,看到能做的项目联系发项目的项目经理——项目经理把你和客户组建讨论组商讨细节——你们根据项目具体需求报价给我们,我们负责谈商务——项目开始后客户把项目全款托管在成是我们提供服务的服务费,只要报价合理,报价时可包含上我们这部分服平台上,(你在我们平台自己账户里就可以看到,不用担心干了活拿不到钱,)随后你们动工——项目完工客户测试ok,二八分成,你们八成我们二成(二务费)此模式我们提供派单,谈商务,全程跟单一对一服务,出现问题我们负责解决。你这边只需根据需求合同来做技术即可。vip模式二:会员群里边所有能做的项目都可以接,看到能做的项目联系发项目的项目经理,他们会把客户这边的情况和联系方式都发给你,你这边可以和客户自行商谈,不用走平台。同时可以积累属于自己的客户。 保证群里的所有项目都是我们项目经理经过仔细筛选和确认的准项目,绝无虚假内容!渠道稳定,一对一派单,不存在竞争关系。
这是我们平台(目前只用作客户下单用)
公司官网 (展示给客户)
如有需求请联系我:
QQ:6453732(公司介绍)
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!

我要回帖

更多关于 互联网开发 迭代 的文章

 

随机推荐