8年测试工程师,从“点点点”成长到华为测试主管——我必须告诉你这些......(共勉)
Posted 不是Z君
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8年测试工程师,从“点点点”成长到华为测试主管——我必须告诉你这些......(共勉)相关的知识,希望对你有一定的参考价值。
从手工功能测试,在微软外包自动化测试2年,后转入互联网公司做移动端自动化测试1年,经历了入行时的迷茫,而后的笃定,转入移动端后对自身定位和价值的怀疑,继而对自动化测试的重新认识,职场8年经验有所论述,本文发表下我个人对与软件测试的看法。
浅谈测试
测试本身有其自己的价值吗?我觉着这个得看公司对自身的定位,倘若公司本身定位就是一个小作坊,出一款产品就打算小捞一笔,受众较小,那测试真就是累赘,对于测试的投入是毫无道理可言的。
但如果公司打算长久规划,想树立自己的品牌价值,那么还是一开始就尽可能的投入吧,毕竟口碑这种东西,失去了一次,想要挽回来那可不是阵痛那么简单。
在今天技术无法形成壁垒,产品同质化严重,竞争日益激烈的大环境下,国内环境越来越重视测试行业要求水涨船高,长江后浪推前浪,作为老前辈已有些力不从心。
选择测试还是明智的
测试毫无技术含量吗?就这几年,听到过无数这样的论述,搞技术的看不起搞测试的,这里我不想反驳什么。
我只想说说就我来看一个出色的测试人员所具备的素质:测试人员是块砖,哪里需要哪里搬,几乎所有的测试框架都只是提供一个通用底层的解(更倾向于叫这种自动化测试框架叫自动化测试技术),自动化测试人员需要有架构方面的知识去根据自身产品特点,组织代码结构形成自己的框架;针对一个平台的测试会有多种框架可选,测试也需要兼顾性能方面的考虑,这一切都需要你去学习掌握不同的语言,或者不同种类的语言及配套的一系列平台框架内的知识;
自动化测试工作中仍需要开发及扩展一些工具,各种类型的工具去满足自动化测试的需求,所以网页开发,桌面程序开发,移动端开发这些是必会的;自动化测试有时也需要去读产品代码去分析问题,定位问题,快速理解所有产品代码逻辑是必须的;测试人员不只要关注产品bug,产品体验也是工作很重要的一部分,所以一个好的测试人员可以看成半个产品;测试本身的职业特点要求测试人员沟通技巧要像销售一样刚刚的(这点我做的不是很好);测试对工作流程,项目进度掌控,团队配合等管理技巧不必其他团队差;虽然各个方面都不算是最专业的,但测试需要的是全才,全才也算人才的一种。
测试对于软件开发的上游来讲,是你们前进的鞭策而不是你们成功的障碍,通过一个个bug,你才能认识到自己的不足啊,孩子!收起你那可笑的傲慢吧,你们的代码我见过,而我们的代码你们并没机会见到。这时候一般我会强调一句话:将代码写得优雅是每个工程师的义务。
给微软做外包两年,除了学习了一堆微软测试技术及通过内部资源了解的其他东西外,最主要的印象在于其软件测试这么多年积累起来的流程规范,对于测试来讲,强与不强永远不会体现在技术积累上,更多体现在流程管理,权限管理,文档(代码也在文档范畴)规范上。微软产品较为封闭,版本迭代较慢,UI等风格也较为统一,其测试可以减少cost最大的点在于增加测试用例,文档的复用,他在测试管理上所有的细节也在尽可能的增加复用,WTT,PS等测试平台软件的设计上这点非常突出,在其管理模式上也很有很大的体现,这就是微软的测试取得成功的重要原因。
来到移动互联网后,刚开始也一直沿着这种思路在做,大家的重心仍然放在增加复用,做了一整套测试用例执行平台以增加用例复用,对各种测试框架扩展以增加代码复用,想尽一起办法实现代码录制以减少代码编写,这一切的一切貌似总赶不上版本更新的速度,自动化测试总是测试中最拖后腿的一环,所以一段时间内对自动化测试定位产生了严重的怀疑,没有存在感。
其实仔细想想,这一切并没有错,那究竟问题在哪呢?产品!移动互联网的发展速度太快了,其产品更新也快,尤其是新产品,版本之间UI变化特别大,基于UI的自动化测试在有限的cost下很难跟上这种速度,你大部分的测试代码只有执行一次的命运,无法迭代复用,有这时间手动就点完了,包括代码录制,就目前来讲,极端的说对于android这种开放性特别强的系统来说一切的代码录制都是耍流氓,你录制一次出来的代码很难达到其他设备上不经修改就可以回放,基于UI的自动化测试驱动UI操作从来都不是难点,难点在于各种对结果的Verify,录制完逐行去添加这些东西简直是噩梦,而且就目前的代码录制实现手段来讲,限制性太多,想要达到别说完美就是能满足测试百分之五十的需求都很难,花大量时间和精力去弄这个是很不明智的。
那么测试的出路在哪?应该是自动化测试辅助手动测试,自动化测试终极目的在于增加复用,减少重复性动作,其cost相对于手动测试来讲是巨大的,所以有限的人力应该去投入到更有效的地方去,测试人员都知道一句话,全覆盖的测试是不存在的,所谓测试就是拿有限的cost去尽可能覆盖更多的测试点,其注重于投入产出。回过来讲自动化测试,在移动端它的价值更多体现在性能监控,非必现bug复现,适配测试,健壮性测试等复用较多的点,举个健壮性测试的例子,涉及到图片操作分享的应用都会关注在重复发送及接收大量图片的时候,这对手动测试简直是噩梦,交给自动化测试,或调取服务器接口,或客户端ui自动化这很容易解决,而且自动化测试还有个很大的好处,不需要占用太多的资源,手动提出相关需求后,白天写代码,晚上或者节假日把手机借过来跑case,第二天直接拿报告,这简直是完美的配合。我想这也是自动化测试在移动端的出路吧。
如果您对软件测试的职业后半生还有迷茫得话,不如现在行动起来树立新的职业规划,不再为以后职业后悔。
一、测试基础
了解测试的基础技能,掌握主流缺陷管理工具的使用,熟练测试环境的操作与运维
二、Linux必备知识
Linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有Linux能力。
三、Shell脚本
掌握Shell脚本:包括Shell基础与运用、Shell逻辑控制、Shell逻辑函数
四、互联网程序原理
自动化必经之路:前端开发基础知识以及互联网网络必备知识四、互联网程序原理
五、mysql数据库
软件测试工程师必备MySQL数据库知识,不仅仅停留在基本的“增删改查”。
六、抓包工具
Fiddler,Wireshark,Sniffer,Tcpdump各种抓包工具适用于各种项目,总有一款适合你的
七、接口测试工具
接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman
八、Web自动化测试Java&Python
了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理
九、接口与移动端自动化
专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用
十、敏捷测试&TestOps构建
TestOps,持续集成Jenkins框架烂熟于心
十一、性能测试&安全测试
让自己变得更强:想一想,如果你想在测试这个行业一直做下去,35岁之后,凭什么让一家企业继续任用你?你的经验和功能测试技术是远远不够的,你需要进阶,你需要丰富你的技术栈!在线推出【Python自动化测试开发核心课】,小白都能学会的Python全栈测试开发课程,限时优惠!并赠送超全软件测试免费学习资料,还等什么!
对于我们来说想要去完成这样子的一个体系构建。并不轻松,但是等到完成之后,再来回顾一下这一段路程时候,你肯定会感慨颇多。
共勉:【可能给予你助力的教程】
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。
关注我的微信公众号【程序媛木子】免费获取~
不登高山,不知天之高也,等待只会错失,奋斗才能成功。
我的学习群:644956177 群里有技术大牛一起交流分享~
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
以上是关于8年测试工程师,从“点点点”成长到华为测试主管——我必须告诉你这些......(共勉)的主要内容,如果未能解决你的问题,请参考以下文章