很多软件测试工程师在面试的时候都会遇到考官给的各种各样的面试题,这也反应了测试工程师对企业的重要性,面试通常分为以下几个方面,由于篇幅有限,在这里就只给大家分享一些比较常见的问题。
一、 自我介绍
这里我不分享如何自我介绍,比我话术之类,相信大家都比我熟悉套路,这里分享几个细节
1、自我介绍时需要有底气
有些同学明明技术很厉害,但是一面试就紧张,一直低头,不敢直视面试官,更为紧张者都说不出话,这样的表现面试官不会觉得你是紧张,反而是觉得你是没能力的表现,所以要有底气,自信很重要。
2、自我介绍时可保持微笑、语速稍慢清晰
面试官可以通过你的表情、语调、语速,来判断是放松还是紧张,所以就算紧张,也要想办法保持淡定,脸上可适当加点微笑,语速放慢,让面试官听清你说的是什么
3、自我介绍时该说的内容
内容不能太多和太杂,太杂容易找不到重点,一般内容有:自己的名字、工作经历、有什么能力或技能、获得哪些成绩(最好有数据)等,时长控制在1-2分钟即可
二、 项目介绍
从几个部分来说,先项目规模,包括项目代码规模,需求规模、用例规模,工作量,进度,质量和成本,然后是整体的测试流程,然后再是角色与职责,接下来是在项目中自己的特色,比如做得最好的是、遇到最大的困难时(如何解决)、哪些地方还有待提高,最好有相应的数据进行支持,最后是心得体会。
三、 面试问题
1、职业规划相关
Q:你的测试职业发展是什么?
A:测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自己,不断更新自己改正自己,做好测试任务。
Q:你为什么选择软件测试行业?
A:因为之前了解软件测试这个行业,觉得他的发展前景很好
Q:你对测试最大的兴趣在哪里?为什么?
A:最大的兴趣就是具有挑战性。因为我并不知道哪里会出现bug,在找到一个bug后会很高兴。并且测试需要很强的耐心和细心。我可以很容易的找到一些细节问题。
2、 个人能力(软实力、专业能力)
(1) 项目经验
Q:您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
A:我一般都是做的Web测试,搭建测试环境,对于一个程序进行集成测试,系统测试,回归测试等。还要编写测试用例以及一些文档,用户使用手册,功能测试文档等等。最擅长的是功能测试。
Q:您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
A:有黑盒和白盒两种测试种类,黑盒有等价类划分法,边界分析法,因果图法和错误猜测法。白盒有逻辑覆盖法,循环测试路径选择,基本路径测试。
例子:在一次输入多个条件的完整性查询中。利用等价类划分法则和边界分析法则,首先利用等价划分法,可以一个或多个结果是OK的测试用例,然后确认多个NG的测试用例,然后利用边界值分析法,可以对结果分别是OK和NG的测试用例进行扩展和补充。
Q:在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
A:检测时间,系统环境,硬件环境,严重程度,程式版本,确认人,功能模板,问题描述,详细操作步骤,是否会重现。问题描述和详细操作步骤要尽可能详细。Bug应该尽量用书面语,对于严重程度比较高的缺陷要在相同环境下测试一遍。在CS模式下,如果条件满足可以使用替换法来确认是client端的问题还是server端的问题。
Q:您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪些
(这个问题答案因人而异,大家可以根据自身的项目经验进行回答,回答的时候要突出自身的优势以及获得的成果)
(2) 软实力
Q:你认为测试人员需要具备哪些素质
A:做测试应该要有一定的协调能力,因为测试人员经常要与开发接触处理一些问题,如果处理不好的话会引起一些冲突,这样的话工作上就会不好做。还有测试人员要有一定的耐心,有的时候做测试很枯燥乏味。除了耐心,测试人员不能放过每一个可能的错误。
Q:结合你以前的学习和工作经验,你认为如何做好测试。
A:根据我以前的工作和学习经验,我认为做好工作首先要有一个良好的沟通,只有沟通无障碍了,才会有好的协作,才会有更好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就要问,实时与同事沟通这样的话才能做好测试工作。
Q:为什么尽量不要让时间富裕的员工去做一些测试?
A:首先,专业的测试人员是有一定的技能和耐心对软件一步一步进行测试。如果让时间充裕的员工去测试的话,他可能心思并不在测试上面。会很随意的、没有目标的进行测试。这样子的话测试并不完整,有的时候甚至很重要的bug都没法找出。所以还是需要专业的测试人员来进行测试的。
Q:开发人员老是犯一些低级错误怎么解决?
A:要在开发的前期就制定好一些编码规范,这样子可以减少很多因为个人习惯引起的错误。同时,测试人员在发现开发人员犯一些低级错误的时候不可以指责他们,要耐心的给他们指出错误所在。然后可以有开发人员自己进行测试,找出一些一眼看得出来是错误的地方。
Q:开发与测试的关系?
A:开发和测试是一个有机的整体。在产品发布之前,开发和测试是循环进行的,测出的缺陷要经开发人员修改后继续测试。在开发的同时测试经理开始编写测试用例,测试文档要参考开发文档,所以开发和测试是不可分割的,少了任何一个都不能开发出产品。
Q:为什要在一个团队中开展测试工作?
A:因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量认证,这个时候就需要在团队中开展软件测试的工作。在测试的过程中发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
(3) 专业能力
Q:软件测试的流程是什么?
A:需求调查:全面了解系统概况、应用领域、软件开发周期、软件开发环境、开发组织、时间安排、功能需求、性能需求、质量需求及测试要求等。根据系统概况进行项目所需的人员、时间和工作量估计以及项目报价,制定初步的项目计划。
测试准备:组织测试团队、培训、建立测试和管理环境等。
测试设计:按照测试要求进行每个测试项的测试设计,包括测试用例的设计和测试脚本的开发等。
测试实施:按照测试计划实施测试。
测试评估:根据测试的结果,出具测试评估报告。
Q:你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度的保证软件的质量?
A:测试并不能够最大限度的保证软件的质量,软件的高质量是开发和设计出来的,而不是测试出来的,它不仅要通过对软件开发流程的监控,使得软件开发的各个阶段都要按照指定的规程进行,通过对各个阶段产物的评审,QA对流程的监控,对功能及配置的审计来达到开发的最优化。当然测试也是保证软件质量的一个重要方式,是软件质量保证工程的一个重要组成部分。
Q:一个项目需要写多少测试用例怎么估算?
A:这个在需求分析之后根据测试点来评估的,我们的测试点写的很细,所以测试用例的数目几乎等于测试点的数目。
Q:不能发现BUG的测试用例不是好的测试用例吗?
A:我不这样认为,我觉得在执行之前,每个用例都可能发现缺陷,好的测试用例是一套完整的不遗漏的测试用例,是能够被其他的测试人员执行的测试用例。不能因为是否找到BUG来说明用例是否好。
Q:为什么要进行交叉测试?
A:因为自己执行自己设计的用例,会按照设计用例的思路来执行用例,可能会忽略一些偶然或异常的情况,交叉执行可能会发现新的BUG,当然如果用例已经写得很细,颗粒度很小吗,输入输出写得很全面交叉执行的结果都会差不多,无论谁来执行结果都是一样的。
Q:什么叫预测试,预测试是怎么进行的,预测试一般为多长时间?
A:预测试就是开放刚刚开发完成,测试环境刚搭建起来,这时我们要对系统的各种功能能不能跑通,业务流程能不能完成进行测试,就是冒烟测试,这就是转测试,我们转测试大概需要一天的时间。
面试方面的问题今天就为大家分享这些,有任何问题可以评论或者私信。最后为大家推荐云测试服务平台-优测(https://newtest.21kunpeng.com/home)。优测云服务平台是移动云测试平台,拥有50余名测试领域专家,300余人专业测试团队,10余年终端测试服务经验,提供兼容性测试、自动化测试、云真机,设备分享等多种服务方式,不仅支持标准能力输出,也可提供定制化测试解决方案,帮助企业打造完备的DevOps测试体系,以及具有互联网思维的质量团队。