软件测试基础
包含测试计划、测试策略、需求分析、测试用例设计、测试流程管理、测试报告、风险控制等。
通常,我们对校招生还会做一些测试,但是社招一般问的较少,因为一般都经历过完整的迭代,都能hold住。
这块其实是测试的核心所在,但是我们往往考察不多或者不深,不能真正看出一个人的测试分析和设计能力。我们需要研究下如何加强这一块的考察。
编程设计能力
这块一般是现在面试问的比较多的一块了。现在的行业趋势就是如此,要求测试人员有编码能力,去做接口测试和性能测试等。
通常是介绍下实际项目中做的接口、UI测试的实现过程,用到了哪些开源框架,对框架的理解和应用能力,以及遇到问题如何去解决,后期有什么优化方案。
如果是面前端的测试,一般会有Selenium、Appium、Monkey等前端自动化测试工具的一些经验。可以考察一下候选人对这些开源框架的理解,如何识别空间,用过哪些API,是否做过二次开发和优化等等。由于我本身也做的比较少,也就只能闻到这里了。。。
这部分还包含了一些持续集成应用,Mock服务实现,测试平台开发集成以及性能测试方案等内容。
我还会去网上找一些编程题,让候选人尝试写一下。这也是我自己面试的经历,很多公司都会让你手写一段代码来考验你的基础,我觉得是很有必要的。编程题不要求太难太大, 也是一些基础应用的考察,比如String、HashMap的操作,循环和if-else判断,排序等。
另外,如果候选人有其他经历,也可以相应提及,比如Linux,自动化运维技术,爬虫,大数据。这对面试官的知识储备也是一个考验,聊不聊得起来或是被忽悠,就看各位的了。
思维和反应
对校招生,由于项目经验较少,我会搜一些逻辑题来考察,保证我们能找到一些爱动脑的同学。
临场反应能力,可以面试中挖掘和发现。在沟通项目经验时,可以中途提问具体模块的实现,遇到哪些问题,有没有更好的方式去做等等,从而考察候选人的反应能力。
其他软技能
沟通能力:通常,一个问题不止有一种解决方案,这种情况其实是贴近现实工作的。我很享受这个过程的体验:想象和候选人已经是同事,正在讨论项目中的一个实际问题,争个面红耳赤。切记,不要觉得自己是面试官,就去竭力尝试说服别人接受你的观点,我们要注重这个讨论的过程,目的是跳出来评判候选人是否适合团队。
写作习惯:优秀的人,有很大一部分人是非常善于写作的。我们的项目经理,简书上的几个关注朋友,还有TesterHome上的几位大牛,一直保持着非常高质量和稳定频率的产出。所以我会问候选人,是否有些博客的习惯,或者有GitHub的更新。这绝对是一项加分项目,如果两个候选人技术能力接近,我肯定会选择有原创博客的人。