铺天盖地的职场内卷文章充斥我们眼球,给大家带来山大压力,内心焦虑。据闻,2023年有1070万高校应届毕业生涌入用人市场,其中有多少人将卷入软件测试行业呢?而最近大厂毕业之风盛行,对外输出人才,职场又该掀起怎样的血雨腥风?
这几年,一般的中小企业也能经常见到知名985、211院校求职者的身影,从而使得HR对人才的筛选越来越严格,招聘流程也越来越复杂,给出的薪资也越来越“经济实惠”。特别今年,互联网大厂开启了一波“毕业狂欢”潮,这让一些原本反对996的职场“勇士”,声音戛然而止,然后偷偷摸摸地加班卷了起来,生怕自己就是下一位“毕业生”。大厂尚且如此,下面的小厂必然跟着节奏走,作为研发团队的辅助位,测试员必然是面临毕业的“高危”岗位。
此时,大部分测试员内心是充满焦虑的,自己了解自己的情况,面临内部优化和大量求职者融入市场的情况下,自己怎么才能卷得赢呢?
找到自己的优势,然后去强化练习,最终成为这方面的精英。
据一份研究,只要人们肯在某个领域,有效练习10000个小时,那就能成为该领域的精英。而软件测试这个领域,强化练习的方面非常多,我们可以走专精路线,也可以走多面手路线。
看到1后面这么多0,相信绝大部分人第一感觉——不可能完成,自己坚持不下去,连我也是这样。
好多人有这样一种经历:有那么一件事,自己认为非常困难,十分抗拒,但别无选择,我们只能硬着头皮去做,真的做起来后,我们已经沉迷在克服一个个困难中不可自拔,最终完成后获得满满的成就感。
这种经历说明:只有行动起来,我们的动力将越来越强烈,最终做成事。
所以,目标与行动,可以是行动在前,当我们行动起来才越发具有动力,然后才能不断去追寻目标,目标清晰、明确后,再加速推动行动,终有所获。
否则,终日不食,终夜不寝,悔恨过去忧虑未来,哪怕另立远大的目标,也一动不动,也就心动而止。
在瞬息万变的环境中,行动之余,我们还得学会调整自己——调整自己的状态、自己的方向。如同大海中的帆船,如果水手不时时校准方向,根据风向调整船帆,那最大可能就是偏航,甚至倒退。
人力终有穷尽时,逆势而行难以成事,逐浪而行方得始终。多读书,多看报,让自己的目标贴近大势,方有机会成为滚滚浪涛中的冲浪者。
接下来我就给大家安利一下自动化测试学习路线
大概步骤如下:
1. 做好手工测试(了解各种测试的知识)-> 2. 学习编程语言-> 3. 学习Web基础(HTML,HTTP,CSS,DOM,Javascript)或者 学习Winform
-> 4. 学习自动化测试工具 ->5. 学习自动化测试框架 -> 6. 实现自动化测试用例 -> 7. 开发自动化测试工具 ->8. 开发自动化测试框架
自动化测试的最高境界是: 开发测试工具,设计自动化测试框架, 让别人用。
自动化测试的本质是:用程序测试程序。 也就是说学习“编程语言”是学习自动化测试的基础。
很多人问我学自动化测试,应该去学什么自动化工具。 我的回答是,第一步:应该先学习编程语言,以后再去学自动化测试工具
自动化测试是一定要写代码的, 编程语言水平的高低决定了自动化测试水平的高低, 有了扎实的编程技术,干什么都可以。
学习编程语言时, 要把自己当做开发人员, 系统地学习各种编程知识。
很多新手一开始,就学习复杂的自动化测试工具, 我觉得这样是本末倒置了。
如果不先理解HTTP协议, 就不会理解Jemeter, LoadRunner, Fiddler, SoapUI这些工具的。
如果不先理解HTML,DOM, 就不会理解Firebug 这种工具的
如果不先理解Win32 API, 就不会理解Windows 窗体自动化测试的原理的。
如果自己没有开发过网站, 就不会理解网站的各个方面,测试起来难免有遗漏。
总之学习自动化测试,需要循序渐进, 把基础打好。
自动化测试工程师的职位叫做: (SDET) Software Development Engineer in Test. 专注于自动化测试
手动测试工程师叫: (STE)Software test enginer. 专注于手动测试
在微软有很多SDET的职位,但是没有STE的职位, STE职位一般都是外包给外包公司的, 目前自动化测试还是非常吃香的。
自动化测试也有非常多的种类,
目前大部分项目都是Web的, 所以我们说的自动化测试,大部分都是针对Web程序的自动化测试, Web自动化测试分两类:
第一类是:模拟用户真实操作,比如,模拟点击鼠标,键盘输入,等,去操作浏览器上的控件。 (代表框架有selenium-webdriver, VS Coded UI)
这类的自动化测试的是通过高级语言(C#, JAVA, Python 等)来调用selenium的一些工具来操作浏览器,帮助我们实行Web UI自动化
第二类是:模拟HTTP请求。
应该像开发人员一样的心态去学习技术, 自动化测试需要掌握以下的知识:
了解Javascript, CSS的知识。
熟练掌握DOM和HTML知识, (用来解析Web界面)
熟练掌握XML技术,(需要用XML保存测试数据,用XML展现测试报告)
熟练使用C# P/inoke技术调用Windows API (可以用来操作Winform 窗口)
熟练掌握窗体"句柄"的概念
熟练使用C# 操作Windows 注册表
熟练使用C# 中的Process 类
熟练掌握数据库的基本操作语句 (测试数据库肯定要用到)
熟练掌握HTTP协议的知识 (请参考我的 HTTP系列博客 [HTTP协议详解])
熟练掌握C# 中的HttpWebRequest 类的用法 (用于模拟HTTP请求)
熟练掌握正则表达式
关于软件自动化测试的书,真心不多, 我查过市面上所有关于自动化测试的书,只找到下面这边书, 电子档
测试套件工具: JUnit, Nunit, MSTest, 这几个工具功能都一样学起来比较简单。
性能测试工具: JMeter, VSTS 负载测试, LoadRunner(收费), QTP(收费)
Web UI 测试框架:WebDriver/Selenium, VSTS Coded UI, Watri
Windows UI 测试框架:VSTS Coded UI
其他工具: firebug, Fiddler
正在做测试的朋友可以进来交流,群里给大家整理了大量学习资料和面试题项目简历等等....