今年刚接触了(功能)测试工程师的面试工作,有遇到对信贷业务流程较熟悉的、工作内容纯测试app功能的、什么都接触过但是不够深入的,发现简历上写的东西和实际真的有点差距,面试也是一个艺术活。
如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站百万播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取
B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibiliB站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click
为了更好地考察面试者的能力,让面试工作更加有条理,总结了下我考虑的几个方面:沟通能力、测试基础和技能、业务能力、测试思维、学习能力。
基本的逻辑能力及表达能力
这个不用特意考察,观察面试者在表达的时候条理是否清晰,逻辑性强不强,是简洁明了还是一大堆无关紧要的让人抓不住重点。
对项目流程的了解
一个完整的项目流程是什么;测试工程师在其中的角色和工作是什么,测试工作从哪里开始介入到哪里结束。如果该同学经历的公司项目流程并不是非常规范,可以问他觉得这样的流程会有哪些问题,如果能清楚知道问题,再继续问有没有尝试改进(主动性)。
项目经历
印象深的项目或者问题,遇到的问题怎么解决的。
有没有独立负责哪些项目,负责哪些模块,具体的交互是怎样,怎么做测试分析和风险分析
遇到问题是如何应对的,体现面试者处理问题的能力。
是否有独立负责项目,可以根据具体项目观察是怎么统筹全局的;如果没有独立负责项目的经历的话可以结合某个项目问主要负责哪个模块,是否有关注上下游系统。
对业务流程或者行业的了解
如果有相关行业工作经历,有哪些熟悉的业务、某个模块的功能和系统交互(比如说你测放款,你连数据流资金流都不知道怎么走的,只知道页面上点提款之后就生成还款计划)。
如果没有,为什么想在这个行业,以及对这个行业的了解有多少。
简历中特别提到的能力
比如测试工具或者安全、性能测试的能力或者经历。
在哪些项目中运用到,需要准备什么工作、步骤是什么、如何进行分析、需要观察什么指标、怎么观察这些指标、最后发现了什么问题,考察面试者对这些工具的使用是否深入。
编程能力
如果有代码基础,在某个项目中有没有结合编程能力来提升测试效率,如测试脚本和工具,或者做白盒测试。如果有使用脚本,是自己搭建的框架还是公司现有的框架。
使用测试脚本遇到过的问题,是如何解决的。如果有自动化测试经历,自动化了哪些场景和模块,比如接口自动化是实现了几个简单接口的自动化测试还是全流程的接口自动化测试(很多面试同学简历上写的有python+request做过接口自动化测试,然后一问其实就是实现了几个简单的查询接口),有做哪些断言。
计算机基础知识
比如:
-
HTTP请求的组成、HTTP和HTTPS的区别;
-
存储过程、左连接右连接的区别;
-
LINUX有哪几种查看文件的方式、如何修改文件。
常见问题处理方法
比如怎么进行问题分析和定位,如果开发同学不认同你提出的问题你会怎么处理。
测试过程中遇到的问题怎么处理:
-
小白是直接将日志信息保存;
-
有经验的会先跟开发、产品沟通确认,再将相关日志、截图或视频保存;
-
老手会结合日志和代码进行分析。
遇到理解不一致的情况,还是要先沟通,拿出有说服力的证据,或者请第三人进行沟通。实在解决不了向上一级反馈寻求帮助。
踩坑记录
有没有漏测的线上问题,为什么出现,当时怎么解决的,可以怎么预防?
常在河边走,哪有不湿鞋。翻车是正常的,即使是业务能力强的测试工程师,都会有漏测的情况,或大或小的问题。
但是测试工程师需要会总结和反思,出现问题要思考怎么可以避免再次出现这样的问题。
紧急情况处理方法
如果手里有一个需求,上线前一天测试进度不理想,会怎么做?
首先这种情况不能在上线前一天才提出,每天都要汇总测试进度和风险给项目经理和测试组长,其次看面试者遇到这种情况怎么进行风险应对,是否有责任心,愿意加班赶进度。
用例设计
给某个功能,如游戏登录界面、ATM取款等,怎么设计测试用例?
一是考察面试者会不会思考需求的完整性和合理性,会不会进一步问需求能否具体一些(因为给的题目本来就不对,需要结合明确的需求才能设计测试用例)。
二是看面试者能想到的范围,会不会想到一键登录、免卡取款等方式,以及考虑的点是否全面,是否有异常场景、非功能用例等。
未来规划
比如3年要达到什么水平,目前有做哪些努力。
3年的目标不远不近,比较好规划和实现,未来的目标就太长远太缥缈了。从目标中可以侧面体现面试者对自身的认识,一般3年后想达到的目标也就是目前觉得自己缺乏的,以及对行业的了解,比如是否结合行业未来的发展趋势,是否对测试工作有正确的认识。
大部分人的想法就是3年要达到资深测试工程师的水平,熟练掌握安全和性能测试,能够编写测试脚本。
但是我感觉测试工程师的使命不止于此,脚本和性能安全只是一方面,还有很多测试工程师需要关注的,并且三年就想在安全和性能达到专家水平,恐怕是有点难。
同时需要问面试者针对这些目标,目前有什么计划和行动。主要是考察面试者的上进心和规划性,仅有目标又没有努力就是空头支票,有具体规划并且有按照计划实现的说明基本具备自主学习能力,自我约束力较强。
质量管理
对质量管理工作的理解,测试同学有哪些可以实践的?
如果是工作年限长一些的测试工程师,应该对软件测试工作&质量管理工作要有更多的思考,而不是仅限于测试执行工作。
如果非软件专业的可以额外聊下为什么会选这个行业,面试者一般会说对这个行业的看法以及自己适合的原因,可以继续追问对方觉得自己的缺点是什么,考察下面试者对自身的认识。
就是通过聊天的方式,从一个项目入手去挖他做了哪些好的哪些欠缺的,引导对方说出自己的想法。所有这些问题是没有一个标准答案的,每个同学情况不一样。