谈谈软件测试职业规划
所谓方向比努力重要,这绝对是一句真理。
如果能在刚走上测试工作岗位的时候明白这个道理,那么不出5年,你一定能成为某一测试领域的专家,那时不管是薪水、自信心都是顺其自然的事情。
但是遗憾的是,我们获取的太多信息是,测试人员是一个通才,什么都要学,什么都要懂。
结果这样的一个方向,导致了3脚猫功夫的测试人员一大把。那么什么都懂一点的测试人员难道就没有用武之地了吗?也不是,可以朝着测试管理岗位发展。
说到这里,引出了测试职业规划的第一条路:测试管理。那么很容易想到职业规划的另外一条路,测试技术专家。
在测试技术领域里,无外乎就是性能测试专家和自动化测试专家。
明确了软件测试职业规划的三个方向,接下来就是如何选择一条适合自己的方向。下面给出我的几条建议。
关于选择测试管理:
首先、你一定不是一个喜欢技术,对技术敏感的人,这个很容易判断。
第二,你一定是个善于沟通,组织协调能力强的人。
第三,你的长期抗压能力较强,上能顶住领导批评,下能顶住下属埋怨。能受得了委屈,吃的了亏。
第四,你对管理工作充满持续的激情,如果过去你是一个比较如鱼得水的学生干部,那更加没问题。
总之,相对你的IQ,你的EQ更高。那么从性格上来说你比较适合做测试管理工作。
关于选择性能测试专家:
正好和测试管理人员具备的性格相反。
首先,你不喜欢组织协调这样的工作,你性格有些孤傲,你上学的时候一定不是学生干部,或者不是一个如鱼得水的学生干部。
第二,你不一定是个技术狂热者,但你不排斥技术,你的动手能力较强,喜欢实践。能静下心来学习。那么你有成为一个技术专家的潜力
关于选择自动化测试专家:
和性能测试专家类似,如果你掌握一门编程语言,或者有信心学好一门编程语言,那么恭喜你,你有成为自动化测试专家的潜力。通常,性能测试专家和自动化测试专家在技术上是相通的。
确定了自己的测试发展方向,接下来就是如何实现的问题。有一个著名的10000小时定律理论,即一个人想要成为某个领域的专家,需要经过1万个小时的锤炼。
按此比例计算,如果以每天工作8小时,一周工作5天计算,那么成为一个领域的专家需要4-5年的时间。
关于如何成长为测试管理人才:
首先你一定要成为一个功能测试专家;通过参与至少2个完整项目的测试工作,你对测试理论、一个完整项目的测试流程、测试活动、测试输出了于指掌。
第二,尽量选择一个行业如电信、支付、网购、通讯等深入做下去,成为该领域的业务专家。因为测试经理的角色往往也是半个需求人员的角色。
第三,尽量在头三年的时间里,亲自参与功能测试、性能测试、自动化测试工作,为后面测试管理的招聘工作、测试计划、人员分配、任务安排打下一个良好的技术基础,说白了,测试管理工作也是一个技术管理岗位,没有一定的技术功底,很难开展后续的管理工作。
关于如何成长为性能测试专家:
刚进入测试管理岗位,你负责的工作一定是功能测试任务。没有机会接触性能测试工作。
怎么办?我的建议是:自学或者参加培训班,如果你是一个自我管理能力非常强的人,建议自学,如果不是,那么建议参加专门的性能测试培训班。
参加培训班之前最好大致了解一下性能测试的基础知识。
性能测试的学习过程大致如下:
1) 首先了解一个系统的架构,明白各服务器之间是如何交互工作、系统的数据流向、系统的压力点,从而确定性能测试需求和指标,即那些功能需要考虑压力,能承担的压力是多大。
比如一个购物网站,最典型的登陆功能、提交订单功能需要支持多少个用户并发,每个并发用户在几秒之内完成操作,系统长时间在压力状态下的稳定性。
2) 第二选择测试工具,对于基于Http协议的应用来说,一般loadrunner都能完成性能测试工作,学习loadrunner的三部曲:脚本录制编写(loadrunnergenerator)、场景设置和执行(loadrunner controller)、结果分析(loadrunner analysis)的内容。
对于一些无法用现有工具实施性能测试的应用,需要考虑自己编写工具来完成。所以一个优秀的性能测试工程师一定是能熟练使用一门编程语言的。
3) 实践,一定要多实践,安装完loadrunner以后,loadrunner里带有现成的性能测试项目---飞机订票系统。完全可以拿来练手loadrunner。
4) 性能测试的目的是发现系统处理能力的瓶颈 而系统调优才是最终的目的,如果能进一步提高各业务服务器、数据库服务器的调优技能,对性能测试工作来说是如虎添翼。
关于如何成长为自动化测试专家:
自动化测试和性能测试不一样,性能测试主要是对服务器的性能做测试,而自动化测试是从前端考虑,其目的旨在于替代部分手工测试、考量客户端长时间运行的稳定性。
自动化测试分为:web站点的自动化测试、PC客户端的自动化测试、手机端的自动化测试。每一个终端的测试都是一个大的领域,建议先深入学习一个终端的自动化测试技术。
关于Web端站点的自动化测试:常用的开源测试工具:selenium框架+一门编程语言(建议python),或者收费软件QTP,推荐selenium,因为它是开源的、免费的,不存在盗版问题、且可扩展,所以国内的一线大公司喜欢用。
Pc客户端自动化测试:常用的测试工具:QTP。付费软件,国内很多小公司在用。
Android手机自动化测试:常用的测试工具:monkey、monkeyrunner、robutium、appium等,这些都是开源软件。一样,国内一流的公司都在使用。
苹果端的自动化测试:常用的测试工具:Instrument、FoneMonke、Broomine、iphone SDK自带的test unit。
不管学习哪一个终端的自动化测试,熟练掌握一门编程语言是必要条件。
最后谈谈软实力。一个优秀的测试技术专家,我认为需要具备以下几个特性:
持续学习能力:计算机技术的发展可谓日新月异,如果不持续学习,那么不出2年,你就会发现你只能当一个廉价的手工测试人员。所以如果能在工作中学习最好,不能的话,下班后保证2个小时的自学时间。几年下来,你就能发现自己的进步有多大。
沟通能力,我觉得可以从2方面培养:
第一:日常工作的沟通能力:和开发、产品、运维、客服同事的沟通要及时,表达要准确,多微笑、多倾听、保持良好轻松的同事关系。
第二,正式场合的沟通能力,如项目周会、评审会议、总结会议,一定要提前做准备,讲什么、怎么讲,自己私下里先练习一下,这样在正式场合才能表达清楚、气定神闲、落落大方,给领导和同事留下一个好的印象。
团队合作能力:首先从心态上,要强调整体的概念,放下单打独斗的想法。在实际项目中,体现为团队成员之间的相互协作、资源共享、共同进退。这个时代已经不是一个英雄创造神话的年代了,只有团队的齐心协力才能把项目做好,这样的人往往也是公司最喜欢,最愿意去培养的人。
与优秀的人为伍:所谓近朱者赤,近墨者黑。跟对一个老大、和优秀的人共事,找一个优秀的伴侣、经常去参加一些牛人讲座、技术论坛,通过这些人的耳濡目染,一定会让你少走很多弯路。
其他还有很多软实力,但我个人认为以上几点比较重要。
凡事要趁早,特别是技术行业,一定要在头几年打下扎实的技术功底,这对将来的技术管理或技术专家路线都有极大的帮助。
一、Linux必备知识
linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有linux能力。
二、Mysql数据库
软件测试工程师必备Mysql数据库知识,不仅仅停留在基本的“增删改查”。
三、接口测试工具
接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman。
四、抓包工具
Fiddler、Wireshark、Sniffer、Tcpdump各种抓包工具适用于各种项目,总有一款适合你。
五、自动化测试Java&Pyhton
自动化测试作为测试行业需求最大的技术点,招聘要求随处可见,必学!涨薪的最短技术途径。
六、敏捷测试&TestOps构建
揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心。
七、性能测试
性能测试从零开始,从理论到脚本到分析调优,步步惊心,教学使用行业最火性能测试工具Loadrunner,解决工具一系列使用问题,翻身成高手。
原文链接:https://blog.csdn.net/suizhituan8337/article/details/80941625