计算机教程

当前位置:澳门娱乐场网址 > 计算机教程 > 软件测试面试中有哪些一定会问到的问题?

软件测试面试中有哪些一定会问到的问题?

来源:http://www.ablakeforum.com 作者:澳门娱乐场网址 时间:2019-04-05 17:42

软件测试面试官会如何刁难你及都会问到什么问题? 我剖析下面试不同的岗位问的问题,不同岗位问的肯定是不一样的,那么我先从初级开始 分为三个等级,就是初级怎么去面试,中级岗位怎么去面试,还有高级的怎么去面试。 还有就是测试经理或者领导一般想是怎么衡量你是什么级别的?他的衡量标准是什么? 初级测试人员通常面试官上来先会问她们什么?首先当然是自我介绍,这个环节是必不可少的,因为每个面试官都需要通过你用最快的时间去了解你这个人,了解你以前干过什么项目,做过几年,有没有项目经验,通过你一个简短的自我介绍,可以对你有一个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)群文件夹里下载查看即可

测试开发工程师

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

⦁ 回归测试

⦁ 冒烟测试用例:确定主要模块的主要功能,根据需求文档提取测试用例功能点并编写;

⦁ 测试实施阶段

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

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

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

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

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

⦁ 测试归档执行人员:测试组长/负责人。

⦁ 测试环境的准备:硬件环境、软件环境、网络环境、历史数据环境;可靠且可控的测试环境有利于bug重现、减少环境的变动对测试工作带来的不利影响;

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

软件发布需满足以下标准

⦁ 完成发布计划中所有的工作;

⦁ 实现需求定义中所有功能特性;

⦁ 完成所有的测试工作(按测试计划严格执行);

⦁ 严重缺陷都已修复;

⦁ Bug趋势图接近于零,新发现的缺陷;

⦁ 出具完整且权威的测试报告

⦁ 已达到验收标准

软件产品未经测试合格,有严重bug时,不允许发布。

⦁ 争议处理

若针对同一问题研发、测试团队对结论有争议,需项目组成员及产品共同讨论,项目经理给出最终结果,并衡定是否上线。

⦁ 单元测试后交付测试,测试人员进行冒烟测试,确保后续正式的测试工作可顺利进展;

⦁ Priority 2—比较严重的bug,根据模块关联性依次修复;

⦁ 项目立项

注意:以上事实流程仅限于有足够的测试时间方可全方位实施,根据敏捷迭代的特性,在实施的各阶段需因环境变化而制定临时测试实施策略。具体详见敏捷迭代过程中各阶段的测试策略及计划报告。

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

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

⦁ 五级:对软件的改进建议,如:需求说明中未明确但影响用户体验等;

⦁ 测试总结阶段

⦁ 测试归档

⦁ 修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的;

注:Bug严重等级与Bug优先级一一对应,特殊情况可调整映射关系。

⦁ 在组织回归测试时需要注意两点,首先是各测试阶段发生的修改一定要在本测试阶段内完成回归,以免将错误遗留到下一测试阶段。其次,回归测试期间应对该软件版本冻结,将回归测试发现的问题集中修改,集中回归;

2)实施阶段

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

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

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

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

⦁ Bug提交规范

⦁ 测试经理

⦁ Priority 5—针对软件改进建议可以修复或不修复,由产品最终决定;

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

⦁ 用例评审

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

⦁ 研发在编写代码后需进行单元测试且达到一定的覆盖率标准,才可交付给测试人员。

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

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

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

⦁ 总结内容:对整个研发过程改进的建议、提高测试效率的方法、若出现问题需追溯出根本原因、测试过程出现问题的改进方法、对测试过程中好的一面予以肯定并继续推行等;

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

⦁ 功能测试通过标准:需求覆盖度达到100%,且测试用例的粒度达到单个细小模块的校验,所有用例被严格执行且fix掉所有bug(或最终上线前产品、研发及测试评估优先级为三、四级bug是否全部fix);

⦁ 测试过程中的缺陷跟踪及处理

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

⦁ 每个测试阶段或上线前用例及各环节执行完毕后都需要提供测试报告;

⦁ 测试计划

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

⦁ 集成测试细则:考虑各模块连接起来时,穿越接口的数据是否丢失、一个模块的功能是否影响另外一个模块的功能、子模块组装后是否满足父功能等;

⦁ 系统测试分类:恢复性测试、安全性测试、压力测试等;

⦁ 单元测试

⦁ 需注意:回归测试贯穿于整个开发周期的各个阶段;

⦁ 测试归档是在测试验收结束宣布测试有效,结束测试后,对测试过程中涉及到各种标准文档进行归类,存档;

⦁ 集成测试执行人员:模块测试负责人员。

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

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

⦁ Priority 4—轻微性bug,经讨论后可决定是否在下一版修复;

⦁ 测试流程及规范

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

⦁ 业务功能细则测试:当冒烟测试通过后,进入正式功能测试;

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

⦁ 功能细则测试

⦁ Bug优先级定义

⦁ 上线后总结

⦁ Priority 1—严重bug,需立即修复;

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

3)测试总结阶段

⦁ 系统测试是在集成测试基础上进行的测试,依赖于产品需求说明书中已经确定好的系统外设、硬件、网络等组成因素;

⦁ 系统测试

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

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

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

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

本文由澳门娱乐场网址发布于计算机教程,转载请注明出处:软件测试面试中有哪些一定会问到的问题?

关键词:

上一篇:澳门娱乐场网址详解python3中的真值测试

下一篇:没有了