Time will tell.
很多软件测试工程师遇到过面试官各种各样的问题,反应了测试对于企业的重要性,而以下就来分享一些经典问答。
1、自我介绍环节
在这一环节,一些套话就不如何详细讲了,相信大家是比较熟悉了,所以就在这里分享几个细节:
自我介绍时要有底气
- 有些人技术明明很厉害,但一面试就紧张,低头,不敢直视面试官,更为紧张者都说不出话。这样的表现,面试官不会觉得你是紧张,反而是觉得是你没能力的表现,所以底气、自信很重要。
自我介绍时可以保持微笑、语速稍慢且清晰
- 面试官可以通过你的表情、语调、语速,来判断是放松还是紧张,所以就算紧张,也要想办法保持淡定,脸上可适当加点微笑,语速放慢,让面试官听清你说的是什么。
自我介绍时,说该说的内容
- 内容不能太多和太杂,太杂容易找不到重点,一般内容有:自己的名字、工作经历、有什么能力或技能、获得哪些成绩(最好有数据)等,时长在1-2分钟即可。
2、项目介绍环节
先说项目规模,包括项目代码规模,需求规模、用例规模,工作量,进度,质量和成本。
然后是整体的测试流程。
再是角色与职责。
接下来再是,在项目中自己的特色。比如做得最好的是什么;遇到最大的困难时如何解决;哪些地方还有待提高。最好有相应的数据进行支持。
最后是心得体会。
3、面试问答环节
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应该尽量用书面语,对于严重程度比较高的缺陷要在相同环境下测试一遍。在C\S模式下,如果条件满足可以使用替换法来确认是client端的问题还是server端的问题。
-
Q:您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪些?
-
A:(这个问题根据自身项目经验进行回答,回答时要突出自身优势以及获得的成果)
(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:预测试就是开放刚刚开发完成,测试环境刚搭建起来,这时我们要对系统的各种功能能不能跑通,业务流程能不能完成进行测试,就是冒烟测试,这就是转测试,我们转测试大概需要一天的时间。
面试过程基本就是这样,如果你要想要的更多面试题、Python自动化软件测试资源,在这里推荐一个学习资料分享群:175317069。有各项已整理好的测试学习资源,也有行业深潜多年的技术人分析讲解。
新人学习自动化测试,最好能够掌握一门编程语言,掌握一些基础的知识,多在社区论坛交流,提升自己找问题以及解决问题的能力。加油,测试人!现在就行动,总比在路上观望要好。
最后希望看到这里的你终成为一名极具竞争力的高级测试工程师。
觉得还不错就【点赞】、【评论】、【关注】吧~
Time will tell.(时间会说明一切)