现在的生活状态——工作稳定,生活充实,但是总是会陷入迷茫,我前进的动力在哪里?我的未来还能更明亮吗?
实话实说,昨晚又失眠了,这段时间出去都会被同事调侃,“昨晚捉鬼去了吗?”哎!这哪是我愿意的呢?只是因为在知乎上会看到很多朋友迷茫吗,焦虑,比较频繁的问题就是:“软件功能测试后期如何提升自己,感觉得到迫切希望提升自己,但又找不到明确的方向”,“想要改善生活,让父母不在操心,月入过万,但是不知道如何突破”…
是啊,这不就是以前的我吗?我非常能感同身受。
从毕业到现在已经5年,5年来一直从事着软件测试的工作。从一个什么都不会,到测试技术人员再到测试管理,期间有迷茫,有痛苦,有弯路,有捷径。什么舍己为人、助人为乐说不上,希望能带给软件测试新人一些职业生涯规划的灵感吧,也能给自己重新出发增加动力!
其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经基本饱和。当然,我说的是最基础的功能测试的岗位需求已经很少了,而自动化、性能、安全乃至于以后可能出现的大数据测试、AI测试仍存在着非常多的机会。
那些入行几年,但是依然是功能测试的同学所面临的的压力可想而知。说到底,软件测试行业还是属于技术岗位。既然是技术岗位,那就要靠技术说话。不断掌握新的技能,提高软件测试“找bug”的能力也就变成了目前软件测试从业人员迫在眉睫需要解决的问题。因此,现在大部分初级功能测试人员都在向自动化、性能、安全靠拢。
但是还是有不少的软件测试工程师站在“十字路口”迷茫、无助,找不到自己的方向。
首先你一定不是一个喜欢技术,对技术敏感的人,这个很容易判断。第二,你一定是个善于沟通,组织协调能力强的人。第三,你的长期抗压能力较强,上能顶住领导批评,下能顶住下属埋怨。能受得了委屈,吃的了亏。第四,你对管理工作充满持续的激情,如果过去你是一个比较如鱼得水的学生干部,那更加没问题。总之,相对你的IQ,你的EQ更高。那么从性格上来说你比较适合做测试管理工作。
正好和测试管理人员具备的性格相反,首先,你不喜欢组织协调这样的工作,你性格有些孤傲,你上学的时候一定不是学生干部,或者不是一个如鱼得水的学生干部。第二,你不一定是个技术狂热者,但你不排斥技术,你的动手能力较强,喜欢实践。能静下心来学习。那么你有成为一个技术专家的潜力
和性能测试专家类似,如果你掌握一门编程语言,或者有信心学好一门编程语言,那么恭喜你,你有成为自动化测试专家的潜力。通常,性能测试专家和自动化测试专家在技术上是相通的。
确定了自己的测试发展方向,接下来就是如何实现的问题。有一个著名的10000小时定律理论,即一个人想要成为某个领域的专家,需要经过1万个小时的锤炼。按此比例计算,如果以每天工作8小时,一周工作5天计算,那么成为一个领域的专家需要4-5年的时间。
刚进入测试管理岗位,你负责的工作一定是功能测试任务。没有机会接触性能测试工作。怎么办?我的建议是:自学或者参加培训班。
性能测试的学习过程大致如下:
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。
不管学习哪一个终端的自动化测试,熟练掌握一门编程语言是必要条件。
一个优秀的测试技术专家,我认为需要具备以下几个软实力特性:
其他还有很多软实力,但我个人认为以上几点比较重要。
不知不觉写了这么多,感觉还没有说完,希望我的一些拙见能对刚毕业的同学和还在测试领域迷茫的同学一点帮助。
凡事要趁早,特别是技术行业,一定要在头几年打下扎实的技术功底,这对将来的技术管理或技术专家路线都有极大的帮助。
这些资料对于软件测试的新人以及进阶的人来说,都是非常完备的,有需要 这些免费资料的人可以加扣扣裙 946094265,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。
加油吧,测试人!路就在脚下,成功就在明天!