软件测试面试官会如何刁难你及都会问到什么问题?
我剖析下面试不同的岗位问的问题,不同岗位问的肯定是不一样的,那么我先从初级开始
分为三个等级,就是初级怎么去面试,中级岗位怎么去面试,还有高级的怎么去面试。
还有就是测试经理或者领导一般想是怎么衡量你是什么级别的?他的衡量标准是什么?
初级测试人员通常面试官上来先会问她们什么?首先当然是自我介绍,这个环节是必不可少的,因为每个面试官都需要通过你用最快的时间去了解你这个人,了解你以前干过什么项目,做过几年,有没有项目经验,通过你一个简短的自我介绍,可以对你有一个50%的了解,还有可能你这一个自我介绍,面试官的心里就已经决定了要不要你了。
因为就一个短短的自我介绍,面试官已经心里有数,至少有了50%的数了,那么它还需要继续的去深挖一下,你的能力到底有多少,到底能不能做一个简单的功能测试,他需要问一些简单的问题,比如说有没有编写过测试用例,你编写测试用例的时候用到什么方法?还有就是你上一家公司的测试流程是什么样子的?他需要了解你上一家工作的事流程,为什么?
因为他需要跟他们自己这家公司现在的流程进行一个比较,需要知道你们上一家公司的工作流程跟他们现在的工作流程是不是一样的,如果不一样,那差距到底大不大?
了解下你们公司的流程是不是正规的?是不是一个比较完善的一个流程?他都需要了解。
可能不善于总结的测试人员有可能就说不太好。对吧!
那测试流程应该是什么样子?我现在简单的给大家说一下,一个标准的测试流程应该是什么样的!
首先呢,一家正规的公司,它们的测试流程应该是: 第一件事情拿到需求文档
首先用户把自己想要的东西说出来之后,由产品人员来记录,并且转化成一个需求文档。
那么咱们测试人员跟开发人员需要在产品人员拿出需求文档之后,进行一个需求的评审,
需要了解他们用户到底想要一个什么样的功能,想要一个什么的软件。
在评审的过程当中需要对需求进行一个测试,测试什么?测试他需求文档中有没有二义性的内容,有没有描述不准确,或者是理解不清楚的一些东西,包括你在参加这个需求文档这个会议的期间,产品在讲需求的过程当中,你有没有觉得这个功能有没有必要,或者可以删简,可以留到第二个版本在做。这就是第一件事情,需求评审。
那么需求评审通过之后,咱们测试人员需要由测试的组长或经理来编写一份测试的计划,这个计划里边包含的内容会非常的多,这个具体包含什么这里就不细说了,以后有机会的时候再给大家细讲测试计划,一般情况下都是20多页的A4纸,打印出来之后是非常厚的一摞,里边简单的会有概要设计,详细设计,参考文档还有这个背景,还有咱们人员分工时间安排里程碑,还有风险评估等等,这些都是写在咱们的测试计划里面的。
那测试计划写完之后,咱们会在把所有的测试人员召集到一起开会,对测试计划进行一个评审。
评审测试计划里边什么内容安排的是不是合理,时间的安排是不是真的够用,包括里边的风险是不是规避掉了,还有咱们的测试机的准备,系统的准备,还有测试的一些方式方法,时间的一些这个限制,都是需要写在里边,然后咱们评审通过之后。
咱们再去干什么事情?就是编写测试用例。在测试计划里边会给每一个人进行人员分工,可能张三负责注册模块,李四负责登录模块,王五赵六负责会员中心模块,他们每个人都有自己的负责的那一块功能,他们需要对自己的负责那一块编写测试用例,人员分工安排下去之后,每人编辑好测试用例,那么他们开始怎么样?
开始测试用例的评审
评审他有没有遗漏的点,评审通过之后开始执行测试用例,然后第一轮测试迭代,第二轮测试迭代第三轮测试迭代,直到它验收测试,然后发布上线编写咱们的测试报告,整个这一套流程结束,每一轮测试结束之后,都需要给出一个阶段性的测试报告,第一轮测试结束了,需要给一份测试报告,第二轮结束还是要给测试报告,最后总体的结束了,需要汇总,把所有的bug已解决的未解决的,包括遗留的都需要一个汇总,还有冒烟测试这个事情,我为什么没有说,因为冒烟测试有的公司把它直接进入到了系统测试
什么是冒烟测试?冒烟测试是为了验证这个系统是不是满足系统测试的要求,需要在单元集成系统验收的集成与系统测试之间进行的。冒烟测试通常只需要一天或者半天的时间来完成,它只需要去测一下,简单的去跑一下主要的流程,确保每一个页面能够正确地跳转,每一个正常的功能能够正常的点击就足够了,这就是冒烟测试。这也是面试官比较希望听到你一个完美的回答的一个问题,也是能够衡量出你这个人到底有没有真正工作过的一个问题。
那么还有就是它需要了解到你上一家公司你主要负责的是哪一块业务,那么我建议大家,如果你们去面试的时候,千万不要说你负责注册登录模块这些
为什么?
因为没有什么技术挑战,什么样的人领导才会分配这样的任务呢,那就是实习生去做,领导绝对不会把这个模块分配给一个技术能力强的人去测。
所以说如果你说你在上一家公司,你就做这个注册登录模块测试的话,那我只能说你们领导不太看好你。你应该要说什么?我是负责什么下单流程的,或者负责支付流程的,或者是负责这个退款流程,这些流程都是比较有逻辑性的内容。这些东西会涉及到的前后台,包括审核这个环节都会有。比如你去发布一件商品,需要后台审核通过才能发布,需要涉及到数据库,所以说需要涉及到后台,需要涉及到前台的展示,这些都涉及到很多的逻辑测试。这样的工作是比较有技术含量的。
那还有些面试官会问什么?
你认为你在测试过程中遇到了一个比较逻辑性最强的一个bug是什么?
这个东西就需要你们去想想,曾经你们在测的时候遇到了一个逻辑性特别强的bug呢
这个问题问的目的是什么? 问的目的是了解你到底有没有真正的测试过?
还有就是有的面试官会故意的说错一些东西,然后看你的反应,通过这些都能了解你到底会不会,所以想验证一个人到底会不会使用一个工具,不一定非得要考他。
再往深入一点,他会问你有没有性能测试方面的基础?功能测试这方面,实际上我觉得主要考验人的就是逻辑思维能力,还有你的细心程度能力
初级功能测试这一块,面试官着重要看的是你是不是一个真正细心,而且业务逻辑思维能力强的人,如果强是绝对没有问题的
初级这块还需要分清楚黑盒白盒跟灰盒的区别是什么?包括缺陷的严重级别,提交缺陷的流程,包括缺陷管理工具,一个缺陷的生命周期是什么?还有你会不会简单Linux指令都会问到
还有就是协议这一块,什么是协议?就比如七层协议,还有四层协议都要有一个概念,tcp
ip协议,OSI 协议要一定的了解,这都是属于一个软件行业的一些基础的知识点
面试官还会问,测试的方法有哪些,黑盒测试的范围有哪些?
如果能说出来十条以上的,我觉得面试官对你会比较有兴趣,如果连五条都说不出来基本会pass掉的,要是连十个测试范围的方法都不知道的话,绝对是一个不合格的测试工程师。
软件测试初级有专门问初级的题中级有专门问中级的题,高级有专门高级的题,初级主要针对于围绕着它的功能测试这一块的方式方法,并且测试用例的方式方法,还有就是它对测试流程的掌握,编写测试报告,都会着重的去问这些,要是问什么Java,selenium什么的都没有意义,答上来那就不是初级了,所以一般情况也不会去问,除非面试官有毛病。
那么针对于中级的话,一般都会把功能问一遍,面试一个中级测试工程师,着重会问性能自动化跟接口,这是三大重中之重,还有数据库。数据库都是其次的,为什么是其次?因为数据库在大学里有讲,基本上上过大学的都会数据库,都会懂得增删改查,再往深入说,就是表连接子查询的问题了,实际工作当中用的也不多。因为我工作这么多年了,在工作当中用到表连接子查询的机会并不是很多。当然这是衡量一个人的技术水平的一个标杆,
着重要问的是性能自动化,性能的话主要问loadrunner或者jmeter,不要求你全会,最起码达到熟练,因为有很多人会在简历里这样写,明明只是一个了解,他非要写掌握,明明只是一个掌握,他给自己写个精通,这样面试官看到就要考验你,你到底是不是达到一个精通的标准,或者是一个掌握的标准,但是我建议在简历里尽量少出现了解这个字眼,在我看来写了解的就是等于不会,所以尽量不要写了解,如果非要做个比例我可以说我了解东西多了去,什么宇宙的来历啊什么的都了解,是吧!根本没有意义,
所以建议以后简历里头写精通或者掌握、熟悉都可以,千万不要写了解,性能基本会问你们平时要关注哪些指标,怎么做性能测试,这些指标说明什么问题?分别代表着什么意思,怎么叫合格?怎么叫不合格,你得跟我说出个123来,否则的话你就是一个初级。
这些都是面试官会问的问题,jmeter都会问到什么是断言,断言干嘛使的,都有哪些断言,怎么连接APP,假如我要测试一个手机的性能测试的时候,我要怎么设置,包括它这个聚合报告里边每个指标代表什么意思?它的塑型图,塑型结果怎么看,怎么看它的请求,怎么看它的返回值,每个请求代表什么意思?什么是post,什么是get?这些都会。还有接口测试怎么测?首先你要做性能,你必须要先会接口,你不会接口你就没法做性能测试。
像自动化这块问的就比较多了,会问你QTP和selenium的区别是什么?
QTP能干嘛selenium呢?QTP能够测试cs跟BS架构,selenium只能针对于BS架构。
那么QTP用什么语言?用VBS语言,那selenium又用什么语言?python或者Java都可以
这些都是中级应该会的,如果我阐述的这些问题你都会了那么你就具备中级的测试能力了
如果我问的这些问题确实把你们难住了,这答案应该是什么?怎么答?如果你自己现在已经开始懵
了,那你需要好好巩固了
还有高级面试的部分,高级部分还需要你会写Java会写Python,需要能解决一些问题,遇到一些疑难杂症的时候,别人解决不了,你能解决,脚本录不了的地方你能录,不用录的方法能写的出来。这就是高级工程师,高级还能干嘛?不仅能看得懂代码,看得懂脚本,还能找到问题的原因,知道这个bug是怎么出现的,是由于什么导致这个bug出现的,怎么去解决它!虽然不用自己去解决,但是告诉开发人员这个问题是由于什么原因导致的,你需要把接口的哪一个代码改掉,把这个参数给换了才能解决这个问题,你需要知道这个问题是怎么出现的,包括解决的方案,并且能够把控整个项目的进度,包括它的时间节点,包括他的所有的人员分工跟安排,
你才能够敢说你自己是一个高级测试工程师
以上就是我总结的现在公司面试都会问到的问题,包括后续你有什么职业规划,或者为什么从上家公司离职,又或者面试官问你你有什么需要问我的吗?这时候一定要问点有水平的问题!不要让面试官觉得你很low,至于该问什么不该问什么在这我就不细说了,如果还是不知道怎么说可以给我留言,看到会给予回答~至于教学资料和学习思路可以在(152
015 953)群文件夹里下载查看即可

编写目的(此文非原创,只是忘了当初是谁写的了~)

主要明确测试团队在整个项目各阶段中的职责,并对测试团队的组织架构、职能划分进行说明,对日后各部门间配合及组内工作的正常开展起到规范的指导作用。(注:该文档在测试流程及规范部分主要针对测试团队来撰写,其他团队的职责仅略微描述。)

各角色职责

⦁ 测试经理

1)负责团队内部管理工作,各部门间协调工作;协助团队内部解决测试技术问题;

2)根据每次即将上线的版本内容制定测试范围、分配测试任务;

3)制定测试方案并推进实施加以改进,改善产品体验;

4)制定质量管理体系标准,严格保证并管控产品质量;

5)打造高效的测试团队,培养人才梯队,制订团队发展计划与培训机制,不断学习新技术;

6)优秀的执行力,面对挑战,能快速决策分析,调动资源集中突破;

7)负责测试人员招聘、组织架构划分、人员的绩效考核等。

⦁ 测试接口人

1)根据测试经理指派的任务,根据各组别职能协调小组内成员共同完成测试任务;

2)编写测试用例、测试计划、测试方案、测试报告并能指导测试工程师完成工作;

3)与产品、研发、运维团队进行有效的沟通,并负责组织测试用例评审工作;

4)验收各阶段测试工作,保质、保量、按时完成小组内的测试任务;

5)负责小组内的团队建设,探索并提升组内所需新技术,提高组内技术实力等。

测试开发工程师

⦁ 根据项目组需要,能够独立完成测试框架开发工作及所需工具;

⦁ 熟悉mock测试工具,完成mock测试开发;


精通web端及客户端APP的自动化测试工具,如selenium、monkeyrunner等,能够熟练使用其做自动化测试;

⦁ 掌握持续交付理念、快速接受持续交付中自动化测试部分;

⦁ 掌握全业务流程,可以分析并提取出业务框架并实施开发;


指导其他自动化测试人员,并通过组内培训分享自动化测试理念及方法,提升组内技术水平等。

性能自动化测试工程师

⦁ 有扎实的功能测试基础,能够根据独立编写性能测试方案及性能测试报告;

⦁ 熟练掌握LoadRunner、Jmeter等工具的使用及原理;


与客户一起制定并分析性能指标、编写性能测试方案、定位性能瓶颈并找出解决方案;

⦁ 掌握linux命令、Sqlserver、Qracle、Mysql等数据库

⦁ 熟悉Apache、windows及linux平台;

⦁ 编写性能测试脚本并调试。

功能测试工程师

⦁ 服从上级安排,并通过指导能够胜任测试任务;

⦁ 参与需求评审,并对产品需求提出各方面建议及意见;

⦁ 按照需求文档设计测试用例、编写测试用例并严格按照测试计划及用例执行;

⦁ 参与用例内部评审及外部评审;

⦁ 按规定格式提交有效的软件bug,并对软件bug周期进行跟踪处理。

⦁ 测试流程及规范

⦁ 测试流程

1)计划与设计阶段

2)实施阶段

3)测试总结阶段

⦁ 计划与设计阶段

⦁ 项目立项


项目立项主要是阐述项目背景、内容及意义,确定项目相关负责人、评估项目预算等;

⦁ 测试参与人员:测试经理;


其他部门参与人员:研发总监、产品总监、产品经理等与项目相关的领导、高层。

⦁ 需求评审

⦁ 产品部门组织召开需求评审会议,以产品需求文档、原型设计、UI为输出条件;


会议内容:测试团队对需求文档存在异议/需求不完整/不清晰的地方提出问题,相关人员进行解答;

⦁ 会议结束的标准:所有人员达成一致,对需求无异议,需求确定;

⦁ 测试参与人员:测试经理、模块测试负责人;


其他部门参与人员:研发总监、模块研发负责人、产品总监、产品经理、UI设计等;

注:


需求评审会议召开之前,产品需将产品需求文档、原型及UI设计图提前发给各个团队,以便测试团队预留出熟悉及理解需求的时间;


测试团队参与人员由测试经理指定,包含测试模块负责人、测试设计人员、质量保证人员等。

⦁ 测试计划


制定依据:需求文档、原型设计、UI设计、研发计划、概要设计及详细设计文档;


内容:包含测试范围、测试环境、测试方法及策略、资源分配及进度安排、风险预估等;

⦁ 评审:研发、测试人员需对测试计划初稿进行评审,确认测试的侧重点。


评审目的:确保测试计划的正确性、全面性、可行性。评审后完善测试计划,并形成终稿;

⦁ 测试参与人员:测试全体参加。

⦁ 用例设计

⦁ 设计依据:需求文档、原型设计、UI设计、研发概要设计及详细设计文档;

⦁ 测试用例设计

1)需求测试分析、分解需求功能模块、提取测试点后,根据以上文档采用边界值、等价类划分等方法设计测试用例

2)包含测试用例的要素:

首页签:测试用例目录及链接、用例修订日期及修正模块等信息说明;上半部分:项目名称、版本号、编写人、编写时间、功能模块要点、联调测试要点(涉及哪些客户端的交互联调测试);下半部分:用例ID、优先级、功能模块、用例名称、前置条件、输入数据、操作步骤、预期结果、实际结果、备注(关注点、bug号等信息);

⦁ 测试参与人员:模块负责人、用例设计人员及用例执行人员。

⦁ 用例评审

⦁ 用例评审及标准:确保测试用例的全面性、需求覆盖率达到100%;

⦁ 测试参与人员:测试经理、模块负责人、用例设计人员及用例执行人员。

⦁ 测试实施阶段

⦁ 测试准备

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图