简单的先说一下,坐标西安,16届本科毕业,目前在跳槽,算上国庆节前的面试,一共有面试了5家公司(因为不想请假,因此只是每个晚上去其他公司面试,所以面试的公司比较少)其中成功的有5家,另外2家失败的原因在于:
1.对于系统知识的了解还是不够全面,在最后一轮主管面试的时候,主管问得巨细,问的我都语塞了,就直接回去坐等通知了,那不用想肯定凉了
2.另外一家失败的是一家小公司,本身人数就不是很多,面试完我多方了解了一下,对方认为我基本功什么的都不错,但是实际项目经验还是欠缺一些,火眼金睛呐!!!因为对方是创业型公司,我觉得不太适合我这种想稳定的人,就果断拒绝了。
至于其他成功的3家公司,给我的面试评价都挺高的貌似,具体就不说了,因为薪资待遇方面和我目前差的不太大,所以暂时也不考虑了,所以也就不——列举每家公司的面试过程了,下面主要谈谈作为一名工作一年多(包装5年多)的软件测试工程师该具备的一些技能以及个人的一些其他感悟:
一:入门阶段
这个阶段你或许是刚从学校毕业,也或许是从其他行业转行,就会像我一样,对软件测试行业产生一系列的疑问,比如前景怎么样?薪资高不高?加班多不多?零基础应该如何学习?需要学会哪些技能才能找到工作?
其实这些都不重要,重要的是你一定要搞明白这个行业是做什么的,你是否适合这个行业。
如果你还没有进入这个行业或者刚开始了解,那么这几个问题你一定一定要进行思考:你是否真的热爱这个行业,起码有足够的热情愿意去钻研?你的学习能力是否能够让你在日新月异的技术浪潮中不掉队?
首先作为互联网行业,必然会有加班,即使不是996,也必然会有紧急任务或者上线,问下自己是否能够接受这样的工作节奏。如果赶到要上线了,通宵也是常有的,第二天早上你下班了,你的同事刚刚拎着早餐上班。
其次,如果你对这个行业有着基本的热情,或者说不讨厌这个行业,那么起码你能够有动力去钻研,去自我驱动,这样才能保证你的工作对自己不是一种煎熬。
最后,互联网行业,技术日新月异,能够在软件测试这个行业长久的走下去,必然要不断的学习。如果讨厌学习,或者上进心比较差,那不建议你进入这个行业。
二:初级阶段
到了这个阶段,你已经开始上手做测试了,哪怕是最基础的点点点,你也已经知道互联网企业测试流程是什么样子了,可以说这个时候是你最朝气蓬勃的时候。
你在工作中遇到问题时的窘、遇见大神时的敬仰,都会转化为你努力求知的动力。阅读书籍、看公开课、逛论坛,你的各种知识和技能会在这个阶段急剧扩充。
但是这个时候,也尤其要注意不要病急乱投医。这个阶段我不建议基础没有打牢,就开始学习自动化,最后啥也没有搞明白。业务能力才是最重要的,自动化玩的再溜,也只是个辅助。基础不牢,地动山摇。
三:中级阶段
这个时候的你,或许已经做测试有1-2年的时间了,很多工作也得心应手,薪资也基本稳定,技术上知道的也比较多,但是仍然感觉自己什么都不会。对某个方向缺少的深入研究!
处于软件测试行业的中级阶段,必然要面临的一个问题就是我该朝哪个方向去深入发展。自动化还是性能?Python还是Java?APP还是web?
我以我的经验给你一点建议:关于发展方向
无论APP测试也好、web测试也好,或者想研究自动化,或者想专精性能,都是可以的。没有什所谓的好不好,重要的是你喜不喜欢,如果你觉得性能做着心累,没有自动化测试有成就感,那就一门心思去研究自动化测试。只要往某个方向专精,一段时间后你就可以成为大神。
关于语言选择
可以选择Python,上手更快,更加灵活,至于自动化测试还是性能测试,对于自动化测试,不要被其牵着走,不要过分夸大作用,也不要为了自动化而去自动化。性能测试某种程度上会比自动化更难搞定。代码、运维、计算机原理、数据库、业务等等,你都要搞懂。写脚本或者执行都还好,难的是性能分析和调优。当然如果这个阶段你对自己的要求还不是很高,那么掌握性能测试的基本流程和简单的性能分析就可以了。更多的比如搭建压测环境、监控性能指标等等,还是要在实战中去积累经验的。对于这两个方面,我建议都去学习,因为目前的招聘需求、都已经是标配要求。
下面分享我整理的这一份2023年可能是最全的软件自动化测试开发工程师发展方向知识架构体系图。
一、测试基础
了解测试的基础技能,掌握主流缺陷管理工具的使用,熟练测试环境的操作与运维
二、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框架烂熟于心
十一、性能测试&安全测试
软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧!
希望大家根据这个学习路线,突破技术的瓶颈,不断的去摸索和提升。虽然这个过程会很艰难,但是万事开头难,只要你熬过去了,未来的你肯定会感激现在这个努力拼搏的自己。
作为过来人也是希望大家少走一些弯路,下面这些自动化测试的学习资源,希望能给你带来帮助。