软件测试面试一般会涉及非技术类问题和技术类问题:
一、非技术类问题:
非技术类问题,又分为封闭式问题、开放式问题、诱饵式问题三个维度。
01.封闭式问题
比如:你在哪儿读的书?你有英语四级证书吗?你有几年工作经验?……
这类问题答案是单一的,所以回答的时候要简洁明了。
02.开放式问题
面试官一般想通过一些开放式问题,了解你的沟通表达,思维逻辑等方便的能力,遇到这类问题时,就需要有条理的进行阐述。比如:
你对我们公司有什么了解?
遇到这类开放式问题时,可以提前做一些准备,在网上多了解一些应聘公司的信息,并进行简单的梳理,在遇到类似问题时,就可以结合自己整理的大纲来展开延伸。
你的弱点是什么?
回答这类问题,不要过多谈论和这份工作明显相关的弱点,使自己陷于不利的境地。
比如从长处来说,我相信我最大的优点是我有一个高度理性的头脑,能够从混乱中整理出头绪来。我最大的弱点是,对那些没有秩序感的人,可能缺乏足够的耐心。
我相信我的组织才能可以帮助企业更快地实现目标,而且有时候,我处理复杂问题的能力也能影响我的同事。
03.诱饵式问题
面试官通过这类问题主要是想了解在简历上看不到的你,比如:你为什么从上份工作离职了,是因为发生了什么不愉快的事吗?
遇到这类问题时,我们要保持警惕,思维不能被面试官牵着走,也不能把面试官当知心,大肆吐槽前份工作中遇到的种种不愉快。
二、技术类问题
常见的技术类问题主要涉及项目经历,技术基础,测试思路,方案设计等方面。比如:
01.介绍一下你们公司的测试流程
回答要点:有些面试官也会问项目流程,作为一个普通的测试工程师,不熟悉整个项目流程是很正常的,如果这样,可以就回答测试流程。一般来说,测试组长或者测试经理才会相对熟悉项目流程。还有流程不要回答的太过简单,太过书面化,如提需求-写用例-提交bug-验证bug,可以结合自己做过的项目来回答。
02.app和web测试有什么区别?
回答要点:主要考察你的经验积累,以及你对于app和web的理解。
参考回答:web和app其实本质上并没有什么区别,只是面向用户的不同前端软件而已,后台的架构都可以一模一样,比如说都是linux+jdk+tomcat+mysql。
web是bs架构,app是cs架构,由于这个差别,web安装部署都比较方便,app经常需要更新。在测试过程中,有一些web特色的测试,比如鼠标悬停,键鼠操作等。
app测试也有交叉事件测试,网络测试,横竖屏切换,手机按键等等 。Web测试经常需要考虑响应时间,2-5-10原则,app测试还需要考虑流量和电量测试等。
03.你熟悉哪些测试工具?
软件测试工具有很多,测试管理工作、自动化测试工具、性能测试工具等,在回答这个问题的时候,最好是结合你做过的项目去阐述。
比如在做过什么项目时,在哪些场景下,你使用了什么测试工具。
04.简单说一说你做过的一两个项目
面试之前,要把自己近期做过的项目进行梳理,重点总结自己最近做过的1-2个项目。
比如项目基本情况,你在项目中负责哪些内容,是怎么测试的,使用了哪些工具,在哪些场景下如何使用的。这些细节都需要梳理清晰。
更多具体的问题,可以在网上搜索软件测试面试题库,详细了解~
软件测试面试前的最后一波恶补!不要打没有准备的仗。
想要拿到心仪的offer,光有相应的技术水平是不够的,还是要提前做好面试题的熟悉以及学习一些面试时的技巧,否则,就算是金子也很可能会被埋没了。
下面给详细讲讲一些面试中比较常见的题吧!
1、软件测试的流程是什么?
分析:每当hr问一个问题的时候,我们都必须在脑海里先想一下他是想通过这个问题获取哪些信息,做好了这步先行工作再回答就比较稳健了。如果有工作经验,那么直接按照公司流程去答就可以了,如果你刚转行或者是才实习,那就按下面的标准回答走就行了。
回答:项目经理将项目需求文档给到开发,开发记录文档内需求不明确或者遗漏点做好准备,然后在需求评审会议上,各开发人员提出自己的疑问并解决,需求评审最终得到一份需求规格说明书。(需求评审阶段)
评审通过后,开发这边的经理就开始编写开发计划,测试经理编写测试计划,计划评审通过后开发人员进行程序的开发,测试人员开始测试用例的编写。当项目的第一个版本出来后,开发负责第二个版本的迭代,而测试这边对项目进行测试并记录追踪管理bug,直到项目迭代完毕。(产品研发阶段)
项目迭代完毕并修复大部分的bug后,测试这边开始进行总结,最终产出一份测试报告书,记录此次的测试工作及项目存在的问题。(产品发布阶段)
2、测试用例主要有哪些元素?
分析:每家公司用的模板都不尽相同,所以内容也是多种多样的,你只需要把基本的元素回答出来就行了。
回答:测试用例的主要元素有:ID、标题、模块、预置条件、操作步骤、预期结果、实际结果、是否通过等等
3、软件测试有什么策略和阶段?
分析:策略就是你是以什么样的思路去测试,或者是通过什么样的技术或者步骤去执行等等。
回答 :软件测试的策略主要有:动态、静态测试;白盒、黑盒测试。测试阶段按照研发顺序分别是:单元测试、集成测试、系统测试,有些公司还会有验收测试;(单元测试开发在调试代码时就完成,集成测试也是,但是有时测试人员也需要进行集成测试;测试人员平时主要的工作就是系统测试,验收测试是客户参与进行的测试);
4、测试用例是什么?有什么作用?
回答:测试用例实际上就是预设好一个特定的场景,让软件再这个场景中运行,以检验程序是否给出正确反应,来衡量软件是否正确满足了客户需求。
作用:
1、避免盲目测试并提高测试效率;在软件版本更新之后只需要少量修改即可开展测试工作,提高工作效率,大幅度缩短测试周期。
2、可以直观看出哪些是测试重点,测试用例是测试工作的见证,可以看到测了哪些功能,又有哪些模块没有测。
3、测试用例是量化测试工作的方法之一。
5、你平时是怎么设计测试用例的?
分析:这个问题的点主要考察是否掌握测试用例设计方法,在回答之后,HR可能会继续追问某种设计方法的概念或者实例,这时举例说明即可;如:等价类划分法就是把程序的输入域划分成等价类,从每个部分中选取少数代表性数据当做测试数据。
回答:设计测试用例一般都会使用到等价类、边界值、场景/流程法、因果图还有错误推测法;
6、你们公司的需求评审是怎么进行的?
分析:需求评审,就是对客户需求,软件各个模块之间模糊的点进行审查,排除不理解或者没有考虑到的点。
回答:需求评审,在一些分工比较明确的公司,都是由PD负责,需求确认好后再下发到开发和测试部门;分工不怎么明确的公司可能就是开发测试产品等大家坐在一起共同探讨;评审形式一般分为线上和线下两种方式,负责人一般会提前把需求文档下发到大家手上供大家整理各自的疑惑点,为后续的评审会议做准备。
7、还有什么想要问我的吗?
分析:这个问题在每个面试的尾声都会被问到,如果你直接回答没有,会让hr有种你不在意这份工作的感觉,如果你问得多了又会显得面试之前没有做好充分的准备,所以问题一般控制在2-3个就差不多。
直接说没有,会让HR觉得你不关心这个岗位,问的多了又会显得面试之前没有做好充分的准备。所以问题一般控制在两到三个比较好。
回答:
1、公司的研发团队目前是什么规模?开发和测试分别有多少人?
2、公司今后的业务方向是什么?
3、如果我入职了,我的主要工作职责是什么?
以上!