微软外包自动化测试两年,然后转入互联网公司作移动端自动化测试一年,经历了入行时的迷茫,然后的笃定,转入移动后对自身定位和价值的怀疑,继而对自动化测试的从新认识,职场三年,终于敢对自动化测试有所论述了。服务器
先说说测试吧,架构
测试自己有其本身的价值吗?我觉着这个得看公司对自身的定位,假若公司自己定位就是一个小做坊,出一款产品就打算小捞一笔,受众较小,那测试真就是累赘,对于测试的投入是毫无道理可言的,但若是公司打算长久规划,想树立本身的品牌价值,那么仍是一开始就尽量的投入吧,毕竟口碑这种东西,失去了一次,想要挽回来那可不是阵痛那么简单,想一想xxxxx,红会,还有那么多那啥的中国产业和企业吧,在今天技术没法造成壁垒,产品同质化严重,竞争日益激烈的大环境下,国内环境愈来愈重视测试是明智的。框架
测试毫无技术含量吗?就我从业这几年,听到过无数这样的论述,搞技术的看不起搞测试的,这里我不想反驳什么,我只想说说就我来看一个出色的测试人员所具有的素质:测试人员是块砖,哪里须要哪里搬,几乎全部的测试框架都只是提供一个通用底层的解(更倾向于叫这种自动化测试框架叫自动化测试技术),自动化测试人员须要有架构方面的知识去根据自身产品特色,组织代码结构造成本身的框架;针对一个平台的测试会有多种框架可选,测试也须要兼顾性能方面的考虑,这一切都须要你去学习掌握不一样的语言,或者不一样种类的语言及配套的一系列平台框架内的知识;自动化测试工做中仍须要开发及扩展一些工具,各类类型的工具去知足自动化测试的需求,因此网页开发,桌面程序开发,移动端开发这些是必会的;自动化测试有时也须要去读产品代码去分析问题,定位问题,快速理解全部产品代码逻辑是必须的;测试人员不仅要关注产品bug,产品体验也是工做很重要的一部分,因此一个好的测试人员能够当作半个产品;测试自己的职业特色要求测试人员沟通技巧要像销售同样刚刚的(这点我作的不是很好);测试对工做流程,项目进度掌控,团队配合等管理技巧没必要其余团队差;虽然各个方面都不算是最专业的,但测试须要的是全才,全才也算人才的一种。测试对于软件开发的上游来说,是大家前进的鞭策而不是大家成功的障碍,经过一个个bug,你才能认识到本身的不足啊,孩子!收起你那好笑的傲慢吧,大家的代码我见过,而咱们的代码大家并没机会见到。这时候通常我会强调一句话:将代码写得优雅是每一个工程师的义务。工具
给微软作外包两年,除了学习了一堆微软测试技术及经过内部资源了解的其余东西外,最主要的印象在于其软件测试这么多年积累起来的流程规范,对于测试来说,强与不强永远不会体如今技术积累上,更多体如今流程管理,权限管理,文档(代码也在文档范畴)规范上。微软产品较为封闭,版本迭代较慢,UI等风格也较为统一,其测试能够减小cost最大的点在于增长测试用例,文档的复用,他在测试管理上全部的细节也在尽量的增长复用,WTT,PS等测试平台软件的设计上这点很是突出,在其管理模式上也颇有很大的体现,这就是微软的测试取得成功的重要缘由。性能
来到移动互联网后,刚开始也一直沿着这种思路在作,你们的重心仍然放在增长复用,作了一整套测试用例执行平台以增长用例复用,对各类测试框架扩展以增长代码复用,想尽一块儿办法实现代码录制以减小代码编写,这一切的一切貌似总赶不上版本更新的速度,自动化测试老是测试中最拖后腿的一环,因此一段时间内对自动化测试定位产生了严重的怀疑,没有存在感。学习
其实仔细想一想,这一切并无错,那究竟问题在哪呢?产品!移动互联网的发展速度太快了,其产品更新也快,尤为是新产品,版本之间UI变化特别大,基于UI的自动化测试在有限的cost下很难跟上这种速度,你大部分的测试代码只有执行一次的命运,没法迭代复用,有这时间手动就点完了,包括代码录制,就目前来说,极端的说对于Android这种开放性特别强的系统来讲一切的代码录制都是耍流氓,你录制一次出来的代码很难达到其余设备上不经修改就能够回放,基于UI的自动化测试驱动UI操做历来都不是难点,难点在于各类对结果的Verify,录制完逐行去添加这些东西简直是噩梦,并且就目前的代码录制实现手段来说,限制性太多,想要达到别说完美就是能知足测试百分之五十的需求都很难,花大量时间和精力去弄这个是很不明智的。那么自动化测试的出路在哪?应该是辅助手动测试,自动化测试终极目的在于增长复用,减小重复性动做,其cost相对于手动测试来说是巨大的,因此有限的人力应该去投入到更有效的地方去,测试人员都知道一句话,全覆盖的测试是不存在的,所谓测试就是拿有限的cost去尽量覆盖更多的测试点,其注重于投入产出。回过来说自动化测试,在移动端它的价值更多体如今性能监控,非必现bug复现,适配测试,健壮性测试等复用较多的点,举个健壮性测试的例子,涉及到图片操做分享的应用都会关注在重复发送及接收大量图片的时候,这对手动测试简直是噩梦,交给自动化测试,或调取服务器接口,或客户端ui自动化这很容易解决,并且自动化测试还有个很大的好处,不须要占用太多的资源,手动提出相关需求后,白天写代码,晚上或者节假日把手机借过来跑case,次日直接拿报告,这简直是完美的配合。我想这也是自动化测试在移动端的出路吧。测试
未完待续。。。。ui