古语云:“知己知彼,百战不殆”。
想应聘测试工程师,首先要知道企业需要什么样的测试工程师,需要具备哪些技术。想知道这点并不难,并且有捷径可走,直接去招聘网站中找答案,看各公司的招聘简章即可。
一起去看看
好了!以上是这篇文章书写时,在Boss直聘搜索并顺手截图保存的。其他招聘网也实时浏览了一下,但并没有截图,大同小异。这里,主要是给楼主提供一个思路和方法。
结合上述的简历截图,在这里帮助楼主梳理一份 软件测试工程师必备技术。供楼主参考:
1、测试理论基础。 掌握测试的基本概念和测试常见分类。 熟悉测试计划,测试方案,测试报告的核心内容。
2、功能测试 掌握基本的功能测试方法,并能独立编写功能测试用例设计,会编写缺陷报告;
3、系统方面 掌握Linux操作系统安装配置;会使用linux常用命令
4、数据库方面 掌握关系型数据库(如:MySQL)的增删改查操作。熟悉索引、视图、事务等技术。 掌握非关系型数据库(如:Redis)常见基础数据类型及相关操作。如:string、hash、set、list 等。
5、UI界面测试 掌握Web项目UI界面测试、功能测试分析和用例编写。
6、测试工具 会用常见测试工具。如:禅道、JIRA、fiddler,Postman、Jmeter、Chrome开发者模式等。
7、编程语言 java和Python是企业要求较多的两门语言,相对Python上手更为轻松写。 建立编程思维以及面向对象程序设计思想。最终要求能编写自动化测试脚本。 掌握一些常见的框架 ,如 pymysql、parameterized、requests、unittest、pytest 等
8、接口测试 需要掌握一定的http协议 会使用常用的工具或使用代码编写测试用例脚本。 能借助工具或脚本实现自动化测试。
9、自动化测试 掌握断言的用法,使用工具、程序代替人工,判断测试结果。是实现自动化的必备技术。
10、性能测试 软件测试中较为高端的领域。是高级软件测试工程师和普通软件工程师的分水岭。 主要以软件的时间性、空间性、稳定性、并发性等为主要测试点。 知道了企业需要什么样的人才,目标便明确了!接下来,只要将自己打造成企业期望的那个样子就可以了。大致可以把 后续的准备工作分3步走:
第一步,技术储备。
第二步,积攒实战经验。
第三步,准备面试。
一、技术储备
储备技术前,要清楚一件事:每家公司主营的业务是不同的,因此,一定存在差异化。所以,浏览招聘简章时,不必深入过细,找出大多数公司都要求应试者具备的技术即可。这些技术基本能代表目前软件测试行业在企业中使用的主流技术。
刚才上文,结合软件测试招聘简历,大概梳理出脉络软件测试工程师必备技术后,接下来就开始做储备技术。不要强求自己面面俱到,你也做不到。把有限的时间用在刀刃上,不做无用功。尽自己最大努力,减少时间浪费的程度。
为方便入门者能系统学习测试,特意准备了一份13G的超实用干货学习资源,涉及的内容非常全面。
没有软件测试经验的计算机专业的毕业生,这是优势。像Linux命令、数据库的基本curd操作、Python、java编程语言等技术,在校学习期间或许已经掌握。所以这些技术,只需在后期 “面试准备” 阶段,刷刷面试题,系统的组织下自己的知识体系结构即可,不需要花太多精力。重点是软件测试相关的技术(重点看3-9这几个阶段)。
二、实战经验
对于楼主个人而言,专业是优势,劣势是什么呢?没有实际工作过,没有实战经验!这是楼主的弱点,也是短板!
好多刚毕业的同学认为这是无解的,是一道无法跨越的鸿沟。
我们可以换个角度思考,每家企业在招聘的时候,都希望招到有工作经验的熟手。那么每年应届毕业的新兵蛋子哪去了?他们都是0工作经验啊,都回家务农去了吗? 一定不是!
企业招人,一定是以 你是否能为公司创造价值 为衡量标准。 并不是非要关注你 “到底” 有几年工作经验。而更看中的是 你是否已经掌握了,有 2 年工作经验的测试工程师,应该掌握的技术!
明白了这一点,你自己的短板也就迎刃而解了。说的轻松点就是没有真正的测试过一个项目,那实际测一个不就完了吗?把自己储备的技术在测这个项目的时候,尽可能多的用一遍。
这时,大多毕业生会碰到另外一个问题,将理论和实际主观的分开。 大家普遍会陷入一个怪圈—— 理论就是理论,在学校学的就只能是理论,只有到社会、到企业中用到那些才是技术。
带来的直接影响就是 “不自信”。 明明自己掌握了能出色完成工作的技术,具备了胜任这份工作的能力,由于过度的不自信,不敢承接某项任务,先天觉得自己不行。
这里给出一个切实可行的测试流程,楼主可以参考流程实施:
1、找到一个平日里熟悉、常用的软件或网站,尝试做如下解答: 这个项目是做什么的,主要用户是哪些 项目的属于什么类型的项目(B/S、C/S) 项目主要的业务模块是哪些,核心业务模块有哪些
2、针对一个自己最熟悉的模块,展开测试: 设计功能测试点,设计并编写功能测试用例,编写缺陷报告 完成上述测试需要用到哪些工具。禅道、Jira、fiddler、Chrome开发者模式等。 思考在测试过程中涉及到哪些技术。Linux方面的,数据库方面的,或UI方面的。
3、对功能所对应的接口,展开测试 设计、编写接口测试用例。 可以采用工具展开测试。postman、jmeter等。 也可以采用代码方式展开测试。Python、java等。 思考在完成测试过程中用到哪些技术。工具方面、代码框架方面。
4、尝试将完成的测试用例,实现自动化 借助工具 postman、jenkins、Selenium等。
5、重复上述过程,对其他的模块展开测试。
6、尝试对软件或网站的性能展开测试。
7、回顾自己在对各个测试点展开测试时,遇到哪些难点。
8、统计自己测试的模块设计的用例数、bug数各是多少
9、总结自己在对该项目测试过程中的收获
把自己学到的知识,运用到解决实际问题中去!真正的做到让 “理论结合实际”。 时间充裕,两到三个, 时间紧张一个。 不能不做!
三、准备面试
技术和经验都有了,接下来,就要开始着手准备面试了。
说到这里,要特别指出:学习、面试、工作 这是三个截然不同的阶段。
面试,独立与学习与工作存在,自然准备的方式也不相同。
单独说说面试! 可能,楼主会有疑惑,面试不就为了检验是否能胜任工作吗?为什么不一样?业内流传这这样一句带有戏谑调侃意味的话 —— “面试感觉自己将来要造火箭,实际入职天天拧螺丝” 。确实存在这种状况。
一者,企业在招人的时候,一般要求会比实际需求高一些!以便新人更能胜任被安排的工作。
再者,从人才储备的角度,企业希望吸纳进来的人才技术更为全面,以备不时之需。万一将来有业务变动或者调整,公司现有人员即能从容应对,而不需再另行招人。
因此,面试前,要针对企业这一招聘现状,专门做应对性准备!
首先,自己掌握的技术,必须要能口述清楚。好多应试者技术能力过关,但表达困难,属于典型的茶壶煮饺子,肚子有货倒不出来。这在面试中十分吃亏的。审视自己的语言表达能力,如果不足要专门针对这方面做专项训练。
第二,一些实际工作中不被频繁使用的技术,在面试中却是常客。因此,本行业的常见面试题,还是有必要刷一两遍的。
另外,一些公司面试的时候喜欢考察应试者逻辑思维能力,出一些非技术而纯逻辑推导方面的试题。实话讲,这类题大都更偏向于脑筋急转弯或者缜密思维推导。如果没有事先准备,完全靠临场发挥,大多不尽如人意。最好闲暇时间,适当做做这类试题,涨见识的同时,也锻炼下自己这方面的思维能力。
第四,最好能花一两个小时的时间,了解下即将应聘公司。面试时,如果能从应聘公司现有业务角度出发,有针对性的回答,会大大提升面试官的好感度,面试成功机率也自然更高。
最后,在跟hr对话时,有些话也是不适合说的。比如对过往公司、同事的评价,自己跳槽的原因等。楼主是毕业生,或许不存在这种顾虑。但有些问题也需要适当准备下。如:对自己未来 3年、5年的职业规划是怎样的。如果没有事先准备,直接在面试中被问到,一定不能给出让人满意的作答。
四、写在最后
总而言之,还是开篇那句话!知己知彼百战百胜。永远不打没准备的仗。
做了充分的准备,面试时只要尽力发挥长处!能让面试者感受到你的踏实、认真、努力。除了欠缺一点具体的实战经验,其余的在软件测试中所需要的东西,你都不欠缺!甚至比他们公司现有的员工,无论是在技术储备,还是在个人品质及未来培养价值上都是有优势的!
只要能在面试官的脑海中成功树立这样的形象,那么你离你期望的那个 offer 就不远了。
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。