你眼中的软件测试岗位是怎么样的?大部分人给出的回答是:“测试啊,简单,没啥技术含量。无非就是看需求、看业务手册、看设计文档、然后点点功能是否实现,麻烦点的就是测试下部署安装是否出现兼容性问题等 。”
没错,不可否认这是你踏入软件测试行业的基本要求,但是互联网时代在飞速发展,APP已然生活化,如果你仅仅只会功能测试,必然会限制你的职业发展,2022求职季已经来到,又会有一批新生力量涌入测试行业,那你的优势又是什么呢?凭什么让一家企业高薪聘用你呢?
据某招聘APP数据显示,2021年人才流入率最高的行业是互联网行业,平均薪资最高的也是互联网行业,平均薪资达到10K。面对日益严重的就业形势,想要在求职大军中异军突起?就要有人无我有、人有我精的专业技能和面试技巧,才能站稳脚跟,才能升职加薪!
下面就是我这些年来测试总结的一名软件测试人员必备的技能,以及给在路上的测试朋友的一些建议,希望能给你带来力所能及的帮助!
软件基础知识
这一点是一名软件测试员的必备技能,也是最最基础的~~如果你有一年以上的工作经验的话,对这一块一定有比较清晰的认识,当然,在实际的工作中不需要你对每一种测试方法去寻根求源,知道这些方法的含义与应用场景即可。
编写各种测试文档,对于初学者来说稍有难度。但终究还是谈不上什么技术含量,如果对业务和流程足够熟悉文档用例自然就会写了。
测试辅助技能
我发现这两项技能在笔试和面试过程中必考,出现几率超高,但在实际的工作中,有些测试根本碰不到linux ,有些测试不需要去操作数据库。当然,测试也不能太处于表面了,也需要熟悉熟悉相关测试的表,了解了解系统服务器。
好在这两项技能的要求都不高,linux 大多考几个常用命令,SQL一般考一下增、删、查、改。
测试技术
针对高级测试岗位需要一些有针对性的测试技术类问题。
1、例如,针对前端测试岗位,在技术提问上会有针对性地在前端提问,没有自己写过前端程序的人也很难把前端测试做好,html/css/js/Selenium/Webdriver等方面的知识必不可少,开源的工具没用过,没有关系,你只要能把类似的思路说清楚也可以。怎样精准定位web页面上的元素、如何得到这个对象而不是另外一个相同类型的元素、背后原理是怎样的,等等这种有针对性的问题很容易试探出候选人在前端测试方面的技术深度。
2、例如,一个测试工具开发的候选人必须知道框架、工具、平台的区别,框架如何提供接口给业务测试人员使用,哪些是框架要解决的问题哪些是业务测试自己要解决的问题,他们的问题域和解决方案都必须要了如指掌。
3、例如,针对自动化测试,什么情况下适合做自动化?你的自动化测试用例是怎么写的?什么样的用例适合转成自动化?你是如何来实施的?有什么样的策略来开展自动化工作?你需要自动化在项目中达到一个什么样的预期和效果?只是学学工具,拿个例子练习练习。很难对这些问题有真实的理解。
4、例如,针对性能测试,测试流程是怎样的?你做性能测试的目的是什么?新系统验证?还是旧系统扩容?需要达到一个什么样的预期?在独立的环境可以开展么?压力在哪儿,脚本为什么要这样录制?你的测试结果真的有知道意义么?或对系统性能做出了合理的评估,或为系统有调优做出指导,或为系统扩容做出了依据。如果前因后果弄不清何必去做呢?
5、类似地,在单元测试、api测试、安全测试、手机测试、后端服务测试、大数据测试等方面,都会有针对性的问题等着你。相比较代码能力,面试官一般更看中测试技术本身的掌握能力,代码能力只能说明你有潜能,而测试技术是未来会在项目中真实用到的技术,会真正地帮助到测试本身的技术。
编程能力
如果是开发人员,那么编程能力是必定会考察的,而且是重点。据我所了解,现在的互联网企业,特别是一些大厂,对现场上机编程甚至白板编程,基本都是必须的。
认识一位饿了么的测试开发的朋友,面试时直接写字板手写算法,当时我震惊了……
关于这点,业内还有个梗:Homehrew的作者马克斯.霍威尔(MaxHowell)去Google面试时无法在白板上翻转二叉树,从而Google面试没通过……
大多机智的同学也会在简历的必备技能最下方面写上一条,熟悉Python、C语言或其它某种语言。
划重点!如果在编程能力上略懂一二,面试官也会给你加分。懂编程和不懂编程的人看系统的深度不一样,一点不懂的只能看出来这是按钮,那是输入框。懂编程的就知道你的登录是个,输入框是个,你的登录提交是用的post 还是get呢?逻辑层就是获取到输入的用户名密码是查数据库做比较嘛。
在测试过程中不管功能实现也好,bug也好,都会看得更透彻,从而更容易挖掘出相关的bug。
工具使用
关于这点,开发工程师对工具的使用熟练程度,面试中问到的几率我不太了解。
但对于测试工程师,特别是性能和自动化岗位,使用什么自动化或者性能测试工具,技术框架如何设计,在面试中就被频频问到。满大街的招聘要求上都写着“要求熟悉jmeter、LoadRunner、Selenium等自动化测试工具等。”虽然不是每个公司都用的到,但是既然这么多公司有要求,还是有必要学一下这些工具的。
LoadRunner、jmeter做测试必玩工具。没摸过jmeter都不好意思说自己是做测试的。性能测试是必须是要借助工具来实现了。不借助工具如何模拟成百上千的并发?
而且熟练地使用工具可以在日常工作中带来较大的效率提升,这也是不可忽视的作用。
上面就是一名软件测试人员必备的技能,希望按照这些能给自己的职业生涯形成一条完善的规划路线。
最后想给在路上的测试朋友一些建议
过去几年,测试行业还是风口,随着不断有转行以及应届大学生疯狂地涌入进来,目前测试行业“缺口”相对饱和。当然,我说的是最基础的功能测试的岗位,而自动化测试、性能、安全和后续的的大数据测试、AI测试存在着非常多的机会。
“长江后浪推前浪,前浪死在沙滩上”,竟然变成了测试行业的真实写照。由于入门门槛低,薪资报酬高,不断有新鲜血液冲刷着测试行业的“前辈”们,给我们带来了非常大的压力。更别说,入行好几年还在点点点的摸鱼大师们。
说到底测试也是吃技术的岗位,必然需要去提升自己的技术,以满足互联网行业不断提高的技术要求。因此,现在大部分功能测试人员都在朝自动化测试,性能安全靠拢
但是有不少的测试工程师站在“十字路口”迷茫、无助,找不到自己的方向。
其实每个测试人也能意识到目前自己面临的窘境,但能够及时作出改变,顺应时代变化的人太少了。毕竟更多人的情况是,忙着上班,也没人引路,自己也不太会规划。多数人明明“泰山崩于前,而面色如土”只能眼睁睁看着自己被行业淘汰吗?
并不是,如果你是不知道怎么去学,自学没有方向的话?下面的这个《软件测试全栈工程师成长路径》和配套的【测试资源】,应该会给你带来很大的帮助和方向:对于学软件测试的小伙伴来说应该会很有帮助,希望也能帮助到你。现在免费分享给大家。713739254
自动化测试已是这个行业的潮流,这是不得不的选择。我们能做的只有顺应时代的发展。很多人看起来很努力,但大部分都是用战术上的勤奋掩盖战略上的懒惰,在技术层次就输掉了。一个技术人员职业生涯成功与否,努力和选择同等重要,但在此之前,技术过关才是第一道门槛。
否则,当机遇来临时,你不一定能恰到好处的抓住,而努力也只是低水平的重复。希望你能按照我给的《软件测试全栈工程师成长路径》和配套的【测试资源】实现高水平的进阶,加油吧!测试人!想想你为什么要在这行坚持下去,你需要的是进阶,丰富你的技术栈,还在等什么?以上资料,对于学软件测试的小伙伴来说应该会很有帮助,希望也能帮助到你。现在免费分享给大家。713739254
总结
机会从来都是留给有准备的人的,只要你做好了充足的准备,抓住了机遇,就会获得成功。身为一名软件测试工程师,你不应该只会点点点,你应该持续学习;丰富自己的技术栈;向自动化进阶。计算机技术日新月异,无论从理论还是实践,知识更新都非常快。所以测试人员必须不断学习,了解掌握最新的测试理论、测试技术、以及其他领域的计算机技术例如云计算、敏捷开发与测试等。并在测试中,将这些理论知识付诸实践,让测试人员的测试边变得更有效、更高效。