一七年毕业以来自己工作也快三年左右了,自己最开始其实是想找java开发的,大学的毕设也是用jsp写的一个简单的web网站,无奈面试总被刷而且遇到了大量的培训机构。于是乎就转入软件测试这个行业。没想到啊转眼间一干就三年多了。
第一家公司
记得第一家公司在二小小城市,规模其实也不是特别小,研发团队开发大概四十多个左右吧,但是测试主要团队七八个人主要在另外一个二线城市,自己这边就三个测试,核心业务在大团队那边,这边主要是一些小项目,于是乎,自己就特别的闲,闲到什么程度呢?有两个礼拜我没有一点任务,自己周报都不知道咋发。而且自己的leader自己也是舒适惯了,她自己很多关于接口和自动化的也不清楚。于是乎自己就自学,自己也是不够自律吧,很多东西也是学了一点就坚持不下去。
学习的现状
1、java本身是有一点基础的,然后想着学学ssm框架,结果项目搭不起来就弃了。
2、学js,好像是学到jquery就弃了,当然js高级的涉及原型,闭包之类的也学的一知半解,时间一久也忘得差不多了。
3、然后又是学python,高级的那些线程,反射的也没怎么看,当时想着做自动化,在慕课网跟着做了一个python接口自动化的项目,想自己实践一下,反正是遇到各种阻力,也没弄成。
4、然后是性能,网上找了教程关于jmeter和loadrunner,反正也是中途放弃。
业务方面也没啥长进,后来公司新招了一个测试leader,北京呆了十年,回本地工作我记得他的薪资只有10k不到,他是主管理的,技术也不是太好。当然当时自己的也很少,这就是二线啊。他说我很幸运第一家公司这么轻松,建议我去一线看看。
第二家公司,上海独角兽企业
于是乎我就来到上海了,很幸运刚面试就拿到offer了,是一家独角兽,不过上海这边是分部,上海研发团队一百多人吧,测试团队二十多个。leader是位女强人,很强势,在她的上家公司被称为测试三霸之一。
业务是做toB,面向上家的,业务逻辑要复杂些,开发用到的技术栈客户端是nativa+reactNitvie,原生的很少,基本上是rn,所以很少出现闪退的情况,而且改bug验证只需要升级rn对应就可以,很快不用打新包。但是这家公司迭代很快,第一次感受到了加班压力,而且明面上六点下班,但是大家都不好意思准时下班,一般是起点走的样子。加班也成了家常便饭。
最疯狂的还是迭代吧,我记得一八年12月份,迭代了四次,基本每次都是过凌晨,真的是遭受了社会的毒打啊,原来做软件测试也可以这么累。还有几次发布直接见到凌晨的日出。关键是tm的工资还不高(这个是后续了解论坛以及行业群知道的)。自己也几乎没啥时间学新东西了,组内会定期分享技术,但是你懂得,基本是是sql脚本,linux,charles和postmanjmeter工具使用,以及业务方面的。
关于知识点,在工作中长了一些见识,比如简单的查看服务器实时日志,查看索引库(也就是redis库,因为这个被开发鄙视过好几次,因为我看到客户端和数据库数据不一致,就去找开发结果开发说他取得是索引库,要看就先看索引库)。以及线上问题的跟进吧。记得自己周六正在外面玩突然群里报一个线上问题,我差,各种找人,心累。
其间自己用java写了一版本豆瓣网页的ui自动化脚本,还自不量力的上传到git上面(项目链接还放在简历上了,被面试官技术leader嘲讽了,说类名首字母怎么能是小写)。一直做功能自己就想着跳槽了,自己心想着一定要做自动化之类测试工作,不能再跟迭代版本了,太累了。
于是乎开始第三家的寻找之旅,面试过程中,被问及为什么离职,我就死脑筋的说追求自动化,测试平台架构。虽然后面被问及是否愿意做功能,自己说愿意。但是显然前面已经给面试官留下不好印象,因为他们只要点点点。
自己也面试遇到过问技术很难的(当然这个是相对的,我觉得难)。印象深刻的是让我看java代码提问题,是关于内存溢出的,自己没想到,还有关于饱汉单例的线程安全问题。还有一个问我讲“123.456"转换成数字,我竟然说用Integer,他笑了(int是整数,前面的只能转换成浮点),说不用java自带api,自己原生实现,我没答出来,还有一道是如何判断输入的括号是否回文类似于” 【『{ }』】“原生实现,自己懵逼了不知道,后面再le’etcode看到这道题说是用栈实现(当然看完之后我还是手撕不出代码,就是这么菜的真实)。还有另外一个面试官问单链表翻转,我说我不会,数组的行不,就是就说了下。
新公司
说说进入的这家公司吧,面试官问了我很多,前面的链表翻转就是他问的,还有单例,spring的aop,ioc,自己也了解一点,就吹说的很高大上。自己也觉得面试很牛逼,这家公司一定会让自己写测试开发类的脚本。但是我错了,我进入公司之后还是点点点。
新公司是一个做社交软件的,基本上是原生native+h5,所以测试过程中经常出现crash的情况,而且据传最开始外包做的,后来没想到做起来了,就自己招团队做。每次被嘲讽代码烂,他们就是甩锅说架构是外包做的,没办法。
关于知识点的话,学习了埋点的测试(其实有次面试被问到如何知道用户经常使用的功能),以及app的a/b实现,一般产品是看是ab实现效果决定是否全量。h5与原生native跳转桥接问题,关于im的通信问题,涉及推送推消息,服务端=》im=》客户端,以及消息的kafafa消费。以及开发之间的服务依赖,这家公司基本是用的hsf,经常互相调用服务。
自己终于有权限拉开发的gitlab代码,有些开发无聊的删掉注释和空格,也能看到提交记录哈哈哈。另外就是自己接口测试,客户端的接口header依赖数据比较多,而且登录的时候sdk会携带手机信息生成数据给服务端返回token(主要是token)还有其他的比如devied等。还有自己接口由于自己的手误出现400请求参数,405请求方式错误和413content-type错误的情况。
另外在说点其他技术的,组长招我进来说写前端,其实公司原先招一个人写qm平台技术栈是django+vue,说不忙的时候让抽二分一时间写前端(大部分时间很忙),自己前面用vue写了一个mock平台的前端页面,页面非常丑,但是基本凑合能看,后来那个写后端离职了,他没用orm映射,自己返回数据,自己照猫画虎用他的后端代码写了几个增删改查接口。后来忙,也就搁置了,于是乎继续点点点吧。
当然这家公司是一如既往的忙,基本一两周一迭代。
先写到这里吧,未完待续。。。。。。
资源分享
下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】