我第一次接触自动化是在2016年。那时刚毕业一年有余,组内一直做手工功能测试,大概在2018年9月,部门领导要求测试组引入自动化。组内之前从没有开展过任何自动化,测试主管安排了一个刚入职不久的研究生同事去研究。
当时自己内心还有点狭隘 觉得为啥别人可以领着薪资学习,而自己先入职,只能测功能,加班还最多。过了3周左右他的一些框架写出来了,给我们介绍,可惜自己太菜,不懂 python,也从未接触过selenium和unitest。
当时看着别人有进步,自己就去看python书,可惜心里想着要提升,又没有积极性,无法专心,最多能专心看十几分钟。自认为可以参照别人写出来的脚本写自动化了,当时看人家脚本还问了一个很傻的问题,现在都还记忆犹新,当时问了“为啥代码里在用变量时,有的后面需要带括号,有的不需要”。 那时自己不知道类,不知道函数,只知道变量,后面代码用的前面能找到就是调用变量。
就这样第一次学习python自动化的事情就这样不了了之了。
2019年4月1号入职我职业生涯的第二家公司,这里测试还是以功能为主,前后开展过两次自动化测试,第一次用的是robotframework框架,大家都没有参与的积极性,且业务数据依赖硬件实时采集,引用自动化提高效率效果甚微,后来也就暂停了。
第二次是2020年下半年,公司自研的自动化平台上线,可惜主导接口自动化的不是组内人员,是其他组的人员。自研平台是可视化的,底层都是封装好的,使用者只需要填写URL,参数就可以发起调用,简单做下状态码断言。整个过程我写的接口还不足50个,虽然参与了,但是不理解原理。
这两年在组内觉得成长了很多,所以21年4月准备离职的时候,信心满满,觉得应该很快就能找到工作,但实际是连连失败,一个月半才面过了两家。
当时最大的感受就是,可以选择的职位太少,感觉自己要被这个行业淘汰了一旦被问到接口自动化,接口基础,python基础的问题自己就答不上来了。有的一面过了,二面因为一些坑也频频被淘汰。
于是我分析了一下连连失败的原因:
**第一个问:为什么离职?**我如实回答:工作量大,薪资低。HR接着问:那你现在是想找一份稍微安逸一点的工作,还是薪资高一点的工作?钱和工作量你更在乎哪一个?一看这个问题就知道自己给自己挖坑了,选择哪一个都不好,完全否定掉又与前面的离职原因不符。
**第二个问题:现在手上有其他Offer吗?**我说有,他接着问了:给你开了多少薪资。我回答了比给的多了两千,HR就说:这个公司能给这么多呀。我一听心里咯噔了一下,这个HR是了解这个公司的,然后HR也就没有在往下问了。
基于以上不停复盘总结,总算找到了工作。这次跳槽对我打击挺大的,一个打击是做了6年的测试,不懂代码、没有深入接触自动化,出去找工作简历上一点优势都没有。
另外一个打击是,我的两个大学同学兼舍友也入职了这个公司不,我们都重新找工作,结果他比我晚一周找工作,却比我先找到新工作,还拿到20k+的薪资,应聘的职位是测开岗,而且都至少会一门代码语言。而我呢,别说20k+,连预期的18k都没有哪个公司能给到。
当时感觉自己特别焦虑,同样的起跑线,仅两年时间就拉开如此大的差距。
为什么会有那么大差距?我认为主要原因就是过去的两年,自己没有主动额外去学习提升技术。看到这样的差距,当时开始在网站上看自动化相关的博客。网上相关的博客上千万,但是一篇博客只是一个小知识点,并且没有人解答,需要看很多博客才可能把一个知识点搞清楚,写的比较有技术含量的呢自己又看不懂,就如置身大海、毫无方向。
这时机缘巧合,关注到了华测教育做的学习交流群,无意间看到课程的推送,当时觉得课程目录大纲都是实用的干货,有我第一家公司用的selenium,当时自己真的太想找到学习方向、学习方法了,就抱着试试的心态买了python自动化课。
6月19号开课,10月23号课程结束。这4个月我收获满满。现在的我已经培养了学习的习惯,如果一段时间比如一整个周都没有学习输入,我就会开始焦虑。
通过这次学习,原来我也能掌握一门代码语言,那同样的,我也能掌握其他语言,并且现在去学习其他语言会更快。仿佛打开了我学习的世界,我现在已经给自己规划了好多学习计划,有进阶课程,测开可,性能可,还有一些其他课外书。原来学习真的可以使人快乐。
2021年11月我应聘上了自己心仪的公司,拿到了期望的薪资28K。这个目标本来是计划2022年上半年实现的,现在提前实现了。除了学习了自动化,python语言外,还免费学习了linux指令,以及一些面试技巧,知道了自己曾经是怎么踩坑的。
接下来我还想和大家分享下第二次找工作的面试经验,这次找我的公司大多是测开岗,而且曾经在自己看来是天花板的公司,如阿里、网易、华为、蚂蚁、字节,以前连投递简历的勇气都没有,而这次多个招聘主动找我,并且简历都通过了。
还有一个明显的差别就是每一轮面试,自动化相关的至少占一半,有两家整个一面都是在问自动化相关的问题,以前都是业务功能测试的问题,这里给大家列一下这次找工作被问到的一些问题:
接口的请求方式有哪几种,分别表示什么意思
POST和get请求方式的区别
http和https协议的区别
接口的几个状态码介绍一下
元组,列表,字典的区别(python基础高频题,被问了好几次)
给一个字符串怎么转为为json体(考json.loads(),eval())
给一个文件,查找里面的某串字符(考正则表达式的findall()和sub())
接口的请求头你们都处理些什么
怎么做断言
接口用例怎么设计
怎么做接口测试
接口的关联怎么处理
自动化怎么筛选回归用例,冒烟用例
用过哪些钩子函数
用过哪些python解释器
pytest的原理是怎样的
pytest框架都用过哪些
自动化中怎么处理报告的
python的解释器,迭代器,生成器有了解过吗
ui定位元素有哪些
可变元素怎么做定位的
ui自动化中有些用例失败了,可以附截图吗?
自动化用例有多少条
什么是持续集成
持续集成怎么做到定点自动执行
linux查看文件的指令有哪些
linux编辑文件的指令用哪个?使用过哪些快捷键
怎么开启一个线程
线程和进程的区别是什么
开启线程有几种方法了解过吗
了解基础的性能指标吗
怎么判断性能指标是正常的?
介绍下你的框架
你觉得你的框架有什么优点
你觉得你的框架和别的框架相比有什么不足
从页面输入一个url到页面加载出来数据的过程描述一下(字节的一轮面试题)
你在做自动化遇到的难点是什么,怎么解决的
现场写代码1: 给定两个已经排好序的列表,重新组合在一起排序
现场写代码2:给一个字符串,每个单子倒叙打印出来
现场写代码3:给定一串字符串,输出回文字符串(字节一面程序题)
怎么确保你负责的产品的交付质量
在这个项目中你遇到的问题是什么
你目前工作中遇到的最大问题是什么
篇幅限制,仅展示了部分目录,需要面试题文档完整版的,【点击文末小卡片链接】通过后自行下载。
处在功能测试阶段的如何进阶自动化测试呢,下面看我自己结合学习和工作经验得到的路线,给想在测试行业一路走到黑的朋友!
linux系统是主要的服务端操作系统,也是从事IT岗位的大部分人员必须具备的基本技术之一。
数据库作为软件系统必备的应用系统,在诸如接口测试、性能测试等等过程中往往需要操作数据库,验证数据正确性完整性,都离不开数据库的增删改查操作,在项目部署阶段数据库还需要配合项目部署。在性能测试、接口自动化测试中都需要数据库的支撑。
编程语言推荐大家以Python为首,Java语言为辅学习,查看各大招聘网站,基本上也是以这两种语言为主的。没有编程基础的朋友可以先学习Python语言
Python语言的学习内容包含以下知识点:
接口测试本质也是功能测试的一种,通过脚本或者工具,模拟客户端对服务端接口进行调用。因为是从接口层测试,所以能更早的发现问题,从而提高测试效率,降低修复成本。
性能测试的技术要求很高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景。
了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理;做测试的同学们都了解,做Web自动化,我们主要用Selenium或者是QTP,这里我们需要掌握Selenium的web自动化环境搭建,正确的浏览器配置。
越来越多的项目和系统通过移动端来提供服务,移动端的软件质量越来越重要,App自动化测试已经成为自动化测试的重要内容。借助Appium,使得App自动化测试和Web自动化测试有很多相通之处,不过作为测试工程师,依然需要掌握移动端应用的工具和特性。
持续集成和持续测试是一个在迭代中构建、测试产品并修复Bug的过程。它有助于团队在开发阶段的初期发现缺陷,这时的缺陷通常相对不那么复杂,并且更容易被解决。通过持续集成和持续测试,可以尽早地将错误风险降至最低,并加快交付更好质量的软件。
上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系,完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积硅步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。
我也分享一些软件测试学习资料,对于学软件测试的小伙伴来说应该会很有帮助,有需要的朋友可以点击下方卡片进去自取,除了基础入门的资源,大家在里面也上传了不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。
写在最后
最后在唠唠一句,如果想以测试为长期发展职业目标,是需要时刻保持学习的,要使自己具备竞争力,无论你现在工作几年,只要行动起来,你就已经占优势了,好啦就到这里了,祝大家2022年能升职加薪,拿到心仪公司的offer,事事顺遂。
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片进群即可自行领取。