欢迎同行来交流,wx 群二维码应该过不了审核,私聊要把。税收图保证真实性。
一、何为测试
简单做一下科普。测试简而言之就是应用上线前,验证应用是否存在bug,是否满足产品的需求。大家津津乐道的程序员,也就是开发,他们开发程序,然后下一步就是测试来测试他们开发的程序,提bug,保证上线不出问题。(路人bug多都骂开发,其实测试被大锅)。测试主要包括
- 黑盒测试:又叫功能测试,书面的定义大概是不需要清楚内部逻辑,只需要关注输入输出。简单来说就是点点点,俗称点工。门槛低,谁都能干,也是目前行内最多的。比如说微信要上抢红包功能,测试也是点一点,能不能正常发红包抢红包(当然还需要考虑异常case,暂不展开)
- 白盒测试:又叫服务端测试,书面的定义大概是需要清楚内部的实现逻辑,针对内部逻辑进行测试。这就需要代码能力,能够看懂开发提测的代码,通过结合产品文档验证是否逻辑正确,是否缺少逻辑。
- 性能测试:测试服务器性能,比如双11流量比平常大很多,目前的服务器配置能否满足双11,这就需要提前进行性能测试,以此来判断是否需要扩容服务器配置
- 接口测试:通过直接请求接口,关注输入输出
- 自动化测试:通过自动化框架来实现自动化测试,主要包含UI自动化,接口自动化
二、入行
上面简单介绍了测试这个职业,其实我入行做的是cos测试(card operation system),也就是卡片操作系统,比如公交卡,银行卡,门禁卡之类的芯片搭载的驱动程序的测试,由此可见根本不是主流的测试行业,这也是后来要跳槽以及跳槽难的根本原因。
大学就是臭打游戏的,各种逃课,期间所有科目都以不挂科为目标,代码也是完全看不进去,作业全靠抄。大四迷茫期,也尝试过考研,当然也以失败收尾。毕业干什么工作也成了天天最焦虑的事,校招简历什么都投,中央电视台外包的转播,物业公司,开发,测试,产品,链家房屋中介,国外干土木的猎头,这些都面试过,最后选择测试也是因为岗位明显是cos测试工程师,至少听着是工程师,技术成分应该多一些。为什么能拿到这个offer,我也不知道,其实面试的挺差的。还记得当时问的问题一个是 “一个int类型储存占几位”,我蒙的4,一个是“4左移一位是几‘’,这个也是想了半天才算答对,整体效果不是很好,稀里糊涂的就拿到了offer,就这样入了行,月薪7k,北京刚够温饱而已,此时也依然不知道工作具体是要干什么。
在这里干了快一年半,主要的工作内容有两个,一个是往芯片里下载驱动程序,这个没什么难度,就靠记,不同型号对应的程序不一样,下对就可以了,有时候备货的时候得下几百个,纯体力活。另一个工作内容就是测试芯片功能,因为业务已经稳定了,流程都差不多,不同类型的芯片都有现成的测试脚本,大部分都不需要动,个人的需要微调,脚本都是JS语言,完全不懂,但是工作又得天天接触,就只能耐下心来学,因为是带着看懂测试脚本的目的,所以学习有目标,慢慢能看懂逻辑过程的时候,觉得代码还是挺有意思的(后面代码的兴趣就是这里培养的),完全掌握后就成了日复一日的重复工作了。
这里是半年发一次奖金,一次一月工资左右,我是5k左右。工作一年后,就开始考虑未来出路,天天这样干也没意思,工资也不高,这样下去可咋办,开始焦虑。这个时候开始收集资料,了解测试整个行业,发现原来我干的都不是主流测试,对整个行业有了了解后就给以及定了个模糊的职业规划,最终目标是测试开发,先转到软件测试上去。
理想中的路径:
cos测试——功能测试——自动化测试——测试开发
一年半,领了第三次奖金后,去问hr ,我已经干了一年多了,今年有涨工资的机会吗?hr 说今年公司都没有涨薪。听到这,辞职的决心就下了,重复的工作加上不涨工资,没必要继续干了(感谢没涨,涨了说不定还得在这份工作浪费一段期间)。果断裸辞,然后在家准备跳槽需要的技术。
由此可见,本人是啥也不懂入行的,所以后面的修炼跳槽的过程可以给行内人或者还没工作的小伙伴参考
三、修炼
裸辞在家,打算找软件测试的工作,然后百度找了个测试全家桶资料开始学习,主要准备了
-
python:买了python的语法书开始啃,照着书练习,书后面的实战部分就只把那个飞机大战(好像)照的码了一遍,算是python入了门,至少会了常见语法和库。然后准备了常用的排序算法
-
接口自动化:简单的用了用pytest 框架和requests库,其实很简单,没想象中难,还是得动手呀
-
UI自动化:跟着学习了appium框架,手头没有安卓机用的模拟器,跟着把元素定位和操作玩了一遍,发现也不是很难
-
web自动化:跟着学了selenium框架,主要还是元素的定位和操作,用的最多的还是id 定位和xpath,针对xpath定位方法也都练习了一遍,入门也不难
-
性能测试:跟着了解了性能测试的概念和指标,通过jmeter工具进行压测,跟着练习了jmeter 的常用组件和指甲,简单使用同样也不难
-
接口测试:跟着学习接口测试的概念和场景,了解了postman的用法和常用配置,也没啥难度,跟着操作一遍就会了
-
抓包:跟着学了charles的用法,如何抓包,如何过滤请求,如果模拟响应,如何转发请求等常用操作,也是跟着操作一遍就差不多了。
-
mysql:学习增强改插语法,准备联表查询,左连接,锁,主键,索引等基础知识,百度面试常问mysql题目进行提前准备,比如查询各种成绩
-
linux:背了些常用指令,没有服务器没用过,比如rm,mv ,cat等
-
理论知识:通过百度面试经验提前准备了理论知识,比如什么是黑盒测试,测试用例的设计方法,什么是软件测试,有哪些必要性等,背就完事了
-
准备面试问题:比如为什么离职(当前测试工作不是主流,想做主流的测试工作为了以后更好的发展),职业规划(上面提到的道路)等。
大概有一个月的时间吧,把以上东西都过了一遍,其实软件类的东西都不难,跟着操作一遍就能会。代码的东西不要畏惧,入门并不难。凭借着这些知识储备以及cos测试的经验开始了跳槽之旅。
PS:介绍了我自己的学习方向,都是从0开始,我可以你也可以
四、跳槽
因为第一份工作和软件测试没太大关系的原因,导致工作并不是好找,但是至少简历把学到的都写上去了,面试机会还是很多的,基本上一天面试4场,面试了2周终于拿到2了offer,月薪都是1w,一家是16薪,每半年发2个月的工资当奖金,一个是14薪,年底多发2个月,果断选了16薪。
入职时间大概在2019.10,这一份工作的具体内容,就是功能测试了,给柬埔寨的银行开发的一个银行app,功能比国内软件简单多了,就是些存款,转账,缴费啥的,在这里学习到了软件测试的整个流程,还有写测试用例,jira 提bug等,主要的工作内容就是点点点(有手就行!!!)。这家公司干了4月,到2020.02,过完年回去,还没出实习期被裁员了,因为众所周知的疫情还有公司斗争(领导是空降的不服众,我也是他招的),这个领导招的人都被裁了。虽然在实习期内,但是我对我的工作还是很自信的,和老板据理力争,争取到了一个月的补偿。(这个时候是真的很难攒钱)
补偿都给了,那没什么好说的了,收拾东西有人了, 疫情最严重的时候也没办法继续找工作,在家打了一个月游戏(库里的游戏终于不是用来看的了)古墓丽影三部曲,奥日,耻辱基本都是那段时间通关的。
到4月份左右,看企业都陆续复工了,接着开始了工作之旅,因为疫情工作还是不好找,除了海投也没什么办法,那段时间感觉把拉勾上的都投过了。也差不多2周,收到一个自动化测试的offer,因为工作不好找,薪资也不好谈,象征性的给加了1k,工资来到了11k,13薪,虽然月薪涨了,但是年薪低了。考虑到工作的职位是自动化测试,想着就算工资不是很高也可以进入学习,所以就选择了这家。
这是第三家公司了,这家公司其实是个游戏公司,主要核心产品是XX三国,但是我在的组是搞一款叫萌股的软件的。整体节奏就是996,因为领导想搞ui自动化所以设置了这个职位,我的主要工作就是写UI自动化的case。组长是简单的搭了框架,只是说能跑起来,其他人也不懂,我就先把目前已有的东西看懂,再查资料,边学边写,在这家是主动学习时间最多的,因为我不用测功能,迭代我不需要管,只需要搞UI就行,后来说要搞接口自动化,我还用的是jmeter,哈哈哈哈,通过jenkins触发定时任务,大概干了半年,中间搞了一次压测,领导说要支持游戏那边,摸索着用air test 搞了个自动化过新手任务的脚本,然后觉得不想搞不喜欢的lj 手游,再加上能学的都学完了,又剩下没啥意思的活了,工作还是996,又选择了离职。
经过这半年,积累了UI自动化的经验,Jmeter压测经验(一次,至少感受了流程),Jmeter接口自动化经验,Jenkins初步使用经验,所以这次找工作就比较顺利,很快就入职了第四家公司。
入职大概是在2020年10月,因为我面试时没有水分,薪资都是按照实际说的,所以第四家公司的薪资只是在上次的基础上加了2k,月薪来到了13k,14薪。这家公司主要是做保险行业的智能双录软件的,也有一些其他业务。组内的技术项目是pytest 框架的接口自动化,因为有了前面的积累,这个时候看简单项目已经没难度了,接口自动化的项目用了2天时间就啃完了,还帮着解决了一个已知bug。记得有个项目是搞身份证识别,给了我一堆样本,有真有假,要测算法跑的结果准不准,正常来测的话就一个一个跑,我发现一样的流程完全可以用脚本实现,方便又快捷,画了一天时间写调试脚本,其实就是一个循环请求接口接口拿到接口,再和已知比对。类似的项目搞了几个,都产出了脚本,还有个压测需求,有个数据是视频数据使用base64加密,导致数据太大,一打开jmeter数据一粘贴就卡死,调研选择了用locust来压测,数据读了文件。
在这里工作发现自己会的东西好像变多了,也能使用技术手段来解决一些问题,这个时候有个测试同行的群拉了我,进群的这几天,一直在群里回答各种问题,他们也聊了薪资,发现问的很基础问题的人薪资好多都17,18k,心理越来越不平衡,群里说我才13k的时候,他们都觉得我可以更高,还在群里get到了谎报薪资(流水可以造假)的谈薪技巧,群里呆了一周越来越难受,每天都想离职,开始下班时间和中午休息时间约面试,同时群里也有发招人的信息。最终是在群里的小伙伴的招聘信息获得了现在这份工作。
现在是第五份工作,2021年2月入职的,谎称自己16k,期望18-22k,hr给了21k,15薪,直接起飞。说来也是运气好,组里是2个小姐姐要生孩子了,人手不足,组长看上了我有强烈的学习欲望才收了我。这一份工作主要是服务端测试,需要能看懂开发提测的代码,通过接口来测试,同时还需要会看日志,查问题,真的很难,前半年过的很痛苦,不过还是啃下来了。具体就不展开了,自此就已经上了20[cube_喜欢]
省流:3年5份工作,从7k-10k-11k-13k-21k-25k(晋升),cos测试-功能测试-UI自动化-接口自动化+python脚本-服务端测试,每份职业都是在学习,没东西可学时就跳槽,积累了多的经验就拿到好工作。 测试同行可以参考[cube_开心]
(尽人事,而后听天命)
五、面试&谈薪小技巧
像我这样工作经历太多的,最好整合一下,面试官不会喜欢一个工作干几个月不稳定的人,不要怕背调,一般不会查那么早的。离职理由也尽量往想要寻求更好的发展上靠,说清楚现在工作环境的局限性,和自己期望的环境。对自己能力有自信的,现在的薪资也可以多报点,别怕流水,这些东西都可以搞的,hr工资都是根据现在的定的,说高点可以拿多点。
六、职业建议
软件功能测试门槛低,有手就行,尤其是天天打游戏和玩游戏的人,熟悉软件都是点几下的事。在校大学生可以考虑一下这个行业,具体学习的内容上面也提过了,也可以通过报班的形式提前准备(前同事毕业前报班出来的),相关专业的同学,开发能力要是够不上,可以找找测试的实习,只要入了行,积累了经验,成长之路可以参考我的路径。
想跨行的小伙伴慎重,沉没成本比较大,而且能自学的应该不多,报班的话现在的大环境不是很好,有可能花了钱还找不到工作,先苟着吧,春暖花开时可以试试,可以尝试自学试试,网上的资料一抓一大把。
因为自己就在行内,测试对觉得对迷茫的不知道干什么工作的学生是一个不错的选择,我给亲戚的孩子也都会建议。亲弟是煤矿相关专业,他的同学工作都要下矿,条件很艰苦,他听我说的给他们同学说了这条路,报班入行了3个,再怎么说摆脱了下矿,后面的发展看个人能力,发展空间肯定是有的,这条路我走过有发言权。
不是鼓励大家都去报班,我也不拉人头,也不打广告,只是提供一种可能性,怎么选择都在个人。
七、结语
本帖的主旨是为了给大家一个思路,一个可能性,不是骗大家都报班买课,转行需慎重!!!最后送给大家2句我喜欢的话。
前方未必有天堂,地狱一定在身后(鼓励大家一定要动起来往前走)
尽人事,听天命(一定要把自己能做的都做好了,剩下的交给运气吧)