本人本科学历,但非计算机专业科班出生,其实毕业后一开始想做开发,可惜没有系统学习过软件开发的知识,所以找了一份入行门槛更低的测试工作。之前一直主要做功能测试,差不多有三年时间。内心很早就坚定信念要做自动化测试,但是不知道从何学起。
正好有当时的同事提前离职,学习Python,他学习结束后在上海拿到一个12k的offer,更加坚定了我系统学习自动化测试的想法。
在辞职之前,心里还是有一些担忧,害怕学得不好,找不到工作,不过很快我就看开了,我觉得培训学习这种事情,更多的是要看自己的态度,要始终严格要求自己,确保自己在认真努力的学习,而不是自欺欺人的假努力。我自己也比较有信心,我知道我能做得到。
所以21年初,我毫不犹豫的选择裸辞,开始了为期半年的学习之旅。
我学的是Python,也是当下比较火的语言之一,发展方向也有很多。我选择的是做web,因为自己之前工作时就有自学找过过相关的知识。学习的日子当然是比较枯燥啦,还好与身边的同学们一起学习,一起讨论问题,也不会觉得特别无聊。
另外,进步最大的阶段,还是做项目实训的时候。几人一组,组成开发团队,然后分析项目,划分任务,根据平时所学,进行实战。会给大家提前进入职场的感觉,当然过程中会遇到大大小小的问题,同学们一起商量,互相帮助,最后项目成型以后,真的是觉得很有成就感,进步也是最快的。
学成就要实战嘛,学习结束以后,我开始投简历、面试。一开始还是很慌张的,因为自己是半路出家,没有经验,担心自己不够用人单位的要求、被嫌弃。
就这样,我面试了4、5家,后来拿到3个offer。最后我比对一番就入职了,目前我在华为的外包,办公地点也是华为公司,工作不算累,也不像网上说的那么可怕,偶尔加班也不会很晚,薪资16K。
现在回过头看当初的决定,还是正确的,我也没让自己失望,确实把自己成功了,薪资也翻了一倍不止。
3轮技术面+HR面面试总共经历四轮的面试,三轮的技术面试和一轮的HR面试,共耗时5个小时以上。
我将自己记忆中的面试题都记录下来,供大家参考。
上家公司项目以及团队的规模是怎么样的?
你负责的项目整体的流程是怎么样的?
自动化实施过程中,是如何和业务测试进行沟通的?
你们公司对单元测试会有一些要求吗?
在上家公司你已经是专职做自动化了,为什么还要出来看机会?
Andorid和iOS自动化实现原理有什么区别?
UI动化脚本是怎么编写?
为什么放弃录制模式编写脚本,而使用代码编写脚本模式?
元素定位不到的情况,你是如何解决的?
随机数字键盘图像识别定位你是怎么实现的?
你们自动化测试脚本的维护成本是什么样子的,花多少时间维护,由谁来维护?
UI自动化测试脚本的测试数据一般你们是怎么准备的?
UI自动化测试脚本公共变量是如何管理的?
以编码的方式写脚本时,你们的测试用例是如何管理的?
由录制转成代码编写后,自动化测试效率提升了50%,你能说说具体实现措施吗?
你们自动化脚本的用例覆盖率占比是多少?
为什么覆盖这么多?怎么衡量的?
你们接口自动化的测试流程是怎么样的?
写接口自动化测试用例时,你使用了requests库,那大概使用到了requests的哪里内容?
你们会做一些接口的开发工作吗?
使用什么技术?具体的流程?
接口自动化测试过程中,关联自动化测试如何做?
单个模块和多个模块关联的话会怎么去做?
你们的项目会用到持续集成工具吗?
自动化测试中哪些场景用到了持续集成?
你们Docker是如何使用在项目中的?
根据面试的情况,我觉得你有带团队的能力,有没有考虑来带团队,以及对带团队的想法是怎么样的?
针对第一面自己的一个表现能不能总结下?比如面试官的问一些问题哪些方面好,哪些方面不好?
第一面面试回答问题时,当时没有想到的点,现在可以补充一下吗?
作为工具开发,你做过哪些工具,哪些工具是你自己的创意?还是说只是接需求来做工具?
做工具时,是否能举些例子业务测试的业务痛点具体有哪些吗?
如何设计去解决这些痛点?如何评估业务测试提的需求是否合理?是否有更好的方案?如何去实现的?
需求合理和不合理的场景,分别举两个实例,什么情况下需求是合理的?什么情况下需求是不合理的?为什么不合理?不合理的话你如何将它转变了合理的需求?
工具开发中你担任什么角色?工具后续的规划和走向是什么样的?你想要达到一个目的是什么样的?
我想了解你在做appium遇到的难题是怎么解决的?要有特点的问题,是经过自己分析思考的,而不是从网上参考的,解决方案是什么?举些能代表你能力的例子。
UI自动化测试时,为什么由录制模式转成代码编写的脚本模式?
转成脚本模式后,对测试人员的要求提高了,你们是怎么解决这个问题的?
你带一个人转型时,会从哪些方面带他?转型过程中,使用了哪些方案?转型后,收益是什么样的?
UI自动化有哪些功能是实现不了的?为什么?有没有尝试去寻找解决方案,去攻克上述实现不了的场景?有的话,麻烦举个实例?
能说下图像识别的原理和实现思路吗?
你现在是出于一个什么样的考虑,看新的机会?
现在在家庭方面有哪些方面的压力?
你期望对下一份工作的整体诉求是什么?你期望它能满足你哪些方面的要求,你觉得它的吸引力非常大?
通过前面的一面和二面,你应该大概了解了我们公司测试和整体定位是什么。简单的评价下从你目前获悉的这些方面来看,你觉得你原来的工作经验有些方面有好的应用场景在我们公司这边呢?
你在上家公司完成UI自动化大概的完成度是多少?占总体的用例比例是多少?
UI自动化由录制模式转型到代码编写模式过程中,中间有没有遇到一些什么难题呢?是如何解决的呢?
在帮业务测试转型到UI自动化测试时,你觉得你目前培训的整体的系统性是什么样子的?你如何让他们一点一点的去接受我们必须要学会这样东西?你如何去检查他们目前学习的成果,他们的完成度到底是什么样的?
你的上级挺欣赏你的,要你接触了核心职位,为什么没有考虑转正呢?
接口做数据构造时,能否详细描述下你会基于哪些方面的考虑?最后达到了一个什么样的效果?
造数据过程中,你觉得它的难点是什么?
前前后后我一直在聊到你在自动化方面一些建设和沉淀,你是通过什么样的一个手段去了解这些的呢?
你当初为什么从非计算机专业转型到测试岗位的呢?你未来怎么打算的?
你如何看待测试这个工种在互联网后续发展的行情?测开分很多类型的测开,有些偏客户端,有些偏后台的,你觉得你目前这个能力偏向来看在哪个方面更为突出一些?
排序算法你比较了解哪个?你可以随机挑选一个你比较了解的,讲下它的算法思维,空间复杂度和时间复杂度分别是多少?
快排和二分查找你有了解吗?分别讲下他们的算法思维,时间复杂度和空间复杂度分别是多少?
数据结构类型都包括哪些?能给我解析下二叉树的结构体吗?关系型数据库经常会设置索引,我们设置索引的目的是为了什么?
设置索引又有什么代价呢?MYSQL索引的存储结构是怎么设计的?慢查询的原因是什么?
如何做慢查询的调优呢?
讲讲OSI七层模型,每层模型具体干嘛的?
分别讲讲HTTP和HTTPS协议?说说TCP协议,三次握手和四次分手,以及和UDP协议的区别?
说说TCP的流量控制?
你觉得你是一个什么样性格的人?
你曾经因为你性子比较急遇到过一些困难和麻烦吗?是如果解决的?
你未来会有什么打算?如果遇到压力很大情况,你会怎么做?
如果一切都聊的顺利,你什么时候可以入职?简历上的点我都提问完了,你有没有属于个人的一些闪光点,但是三轮面试官都没有给你对应表现机会的一些方面呢?
我这边没有问题了,你有什么想补充的吗?
你对下一份工作的诉求是什么?主要看哪一些方面的因素?
你在上家公司的加班强度是怎么样的?你在上家是自动化测试工程师,主要工作包含哪些?不同工作的占比是多少?
你有了解过后续你进我们公司对你的一个定位吗?
带自动化测试团队转型时,转型前是怎么样的?转型后又是怎么样的?
有了UI自动化录制平台,他们自己去用不就好了吗?为什么还需要对他们进行培训呢?
为什么会增加测试成本呢?在转型过程中,你优化了什么,才能带他们成功转型呢?你给他们新增了什么样的知识呢?
UI自动化测试团队一开始有多少人?转型后又有多少人?
你在公司怎么带团队的?带了多少个人的团队?UI自动化测试团队是在什么样的一个场景下由你去带领去转型的?
你在上家公司时,绩效是怎么样的?
你毕业后为什么想要做测试呢?
你目前的薪资是多少?期望是薪资是多少?
你现在手上有其他公司的offer吗?哪些公司的?给到的薪资是多少呢?给你的岗位是什么?
让你进来做负责人岗位的话,需要带团队遇到一些困难的过程,你对这个过程是有信心的吗?包括你有没有兴趣去做这些事情?你未来的职业发展是不是也是想往管理方向去走?
如果你也在往自动化测试开发方向发展,在适当的年龄,选择适当的岗位,将自己的优势都发挥出来!
我的自动化测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和收集总结,所以,我和朋友特意花了一段时间整理编写了下面的《自动化测试工程师学习路线》,也整理了不少【网盘资源】,需要的朋友可以在文末自行领取。希望我的这些资源会给你带来帮助和方向。
【自动化测试学习路线】
了解测试的基础技能,掌握主流缺陷管理工具的使用,熟练测试环境的操作与运维
Linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有Linux能力。
掌握Shell脚本:包括Shell基础与运用、Shell逻辑控制、Shell逻辑函数
自动化必经之路:前端开发基础知识以及互联网网络必备知识四、互联网程序原理
软件测试工程师必备MySQL数据库知识,不仅仅停留在基本的“增删改查”。
Fiddler,Wireshark,Sniffer,Tcpdump各种抓包工具适用于各种项目,总有一款适合你的
接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman
了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理
专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用
揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心
软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧!
上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系在1-2年内完成这样一个体系的构建。
可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。
合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试题合集
我们进阶学习自动化测试必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
包括,测试人技术进阶路径图,50多天的视频教程、16个项目实例,30多个测试工具,37份测试文档,70个软件测试相关问题,40篇测试经验级文章分享,还有软件测试面试小程序,求职简历的优化模板。
加油吧,测试人!如果你需要自我提升,那就行动吧,在路上总比在起点观望的要好。未来的你肯定会感谢现在拼命的自己!
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方进群即可自行领取。