面了一个31岁的哥们,一看就背了很多面试题,一问三不知,还自认为很牛逼...

2022-12-14 14:58:02 浏览数 (3)

作者:伤心的辣条

主要分享测试的学习资源,帮助快速了解测试行业,帮助想转行、进阶、小白成长为高级测试工程师。

最近看了很多简历,很多候选人年限不小,但是做的都是一些非常传统的项目,想着也不能通过简历就直接否定一个人,何况现在大环境越来 越难,大家找工作也不容易,于是就打算见一见。

在沟通中发现,由于年限不小,他们的定位基本都是高级及以上,毕竟,年限摆在那里,面个中级也不体面。

面试时我打算聊点基础的,先打开一下话题,结果发现对于一些测试中很基本的问题:

代码语言:javascript复制
软件测试的目的是什么?
你觉得软件测试工程师在一个团队中,都需要做什么?有什么价值?
一条高质量的缺陷记录(Bug)应该具有哪些内容?

上面几个问题没有一个是“造火箭”的,结果发现,这些很基本的问题,他们普遍都答得很模糊,或者支支吾吾。其中,一个候选人的反问,令我印象特别深刻,他说:

上面的问题我虽然都不懂,但是我都工作六年了,如果我不能胜任工作,那你告诉我,我这4年经验是怎么来的?

听完我沉思了良久,做为一个几年经验的测试员,如果连这些基本问题都没思考过,试问谁又愿意和这样的“高级大佬”一起干活?

其实我想了一下,他之所以有这样的想法,很大程度取决于他的经历,长年在传统行业,或者“小作坊”,平时就两三个测试一起,大家都是“难兄难弟”的水平。让他认为,年限上去了,就是高级测试。

思维一旦形成,就很难改变。但是,互联网是个瞬息万变的行业。

从BAT等各种大厂的应届生招聘薪水就可以看得出,现在应届生的水平越来越6,如果还是这种想法,迟早会被淘汰。

还问了很多其他的问题,我在这边就不一一列举了。同时,我也问了很多去美团、腾讯…等大厂面试过的同学,并整理了一套面试题。

软件测试的目的是什么?

为了发现程序中的缺陷,保证软件质量。

满足用户需要

软件测试的一般流程是怎么样的?

项目立项后,参加需求评审

根据需求文档制定测试用例,然后进行用例评审

项目提测后,执行用例,问题记录cp4,及时有效的跟进问题的解决情况

测试环境测试通过后,产品进行验收测试

常见的测试类型有哪些?分别说明一下?

1.黑盒测试,即常说的功能测试

2.白盒测试,即单元测试,通常由开发来完成,对程序类和方法的测试

3.兼容性测试,主要是浏览器的兼容测试

4.集成测试,即各个模块的测试

5.系统测试,各模块测试完成后,对整个系统的完整性测试

6.回归测试

7.验收测试

解释下单元测试,集成测试,系统测试以及验收测试?

1.单元测试,通常由开发来完成,对程序类和方法的测试

2.集成测试,即各个模块的测试

3.系统测试,各模块测试完成后,对整个系统的完整性测试

4.验收测试,测试环境测试通过后,由产品或者用户进行验收测试,看看产品的实现,是不是满足了他们当初设计的需求

探索性测试是什么?应该怎么做?

在需求文档不完善或者压根没有需求文档的情况下,根据经验进行摸索尝试性进行的测试,是测试过程中形成的基本的思维性测试

什么是冒烟测试,如何有效的开展冒烟测试?

1.软件最基本的功能测试,通常由开发完成,只有冒烟点都通过的产品,交由测试,才会比较有意义 2.冒烟测试贯穿于测试的各个阶段,比如集成测试,系统测试等

一条高质量的缺陷记录(Bug)应该具有哪些内容?

1.记录bug产生的前提条件

2.产生bug的详细操作步骤

3.截图,直观的展示问题,有效帮助开发快速定位问题

缺陷的生命周期是怎样的?

1新建–提交–分配–修复–验证–验证通过关闭–验证不通过reopen

Alpha测试与Beta测试的区别?

Alpha测试:把用户请到开发方的场所来测试,用户在模拟实际操作环境下进行的测试,由开发记录下用户反馈的问题

beta测试:当开发和测试根本完成时所做的测试,很多不同的用户,在不同的环境下操作,然后用户把产生的问题,定期发给开发者,进行修复(开发不在现场)

通常现有alpha测试,后有bata测试

你认为做好软件测试应该具备哪些素质?

较好的技术能力

对业务逻辑的理解

良好的沟通能力

解决和分析事情的能力

作为测试人员,在与开发人员沟通过程中,如何有效的提高沟通效率和效果?

耐心的跟开发沟通,跟他阐述不过的重要性 说服他解决问题

充分尊重对方,哪怕再低级的bug都不要小看他

宽以待人,设身处地为他人着想 即使开发因为压力或者其他原因不肯合作 也要心平气和的跟他沟通 讨论bug的优先级

平时多跟开发沟通 无论是工作还是生活上的问题,但是测试一定要有自己的原则 对测试的产品质量负责

自己先定位问题 帮助开发缩小排查范围

你觉得软件测试工程师在一个团队中,都需要做什么?有什么价值?

在产品需求会上 可以站在用户的角度 提一些贴合用户需求的建议

测试阶段,根据自己对项目的了解和专业的测试技能 尽可能在项目上线前测出更多问题 保证产品质量

对测试过程中出现的问题 合理有效的进行风险评估。

对质量严格把关 测试不通过的 一定不能发布生产

你对软件测试最大的兴趣是什么?

行业前景比较好,而且近些年 越来越多企业更注重测试

测试时间越久 面临的困难和挑战也越多,解决问题的同时 也提高了自身的能力

自己的性格比较外向开朗 很容易跟产品和开发沟通 做起事情可以事半功倍

你对自己的职业规划是什么?

先做高级测试 有机会的话,想往管理方向发展,目前在携程做测试组长,也为以后管理做储备

在你以往的工作中,发现的影响大或印象深刻的Bug是什么?为什么?

印象深刻的bug:近期的一个项目,x发单n是发qmq消息,调用发单服务自动发单,测试过程中,我给开发提议加个手动发单–作为发单失败或者未发单的补偿,开发力争 生产不会出现发单失败的情况,但后来还是被我说服,在上线前,加个手动发单的功能。上线第二天,公司qmq框架出现问题,产生消息消费的延迟,导致一段时间内的订单不能自动发单,这时候大家手动发单,解决部分订单,事情过后,开发更加肯定了 我当时的提的bug修复是正确的

在你以往的经历中,解决过的最困难的问题是什么?

环境问题,是所有测试人员都面临的一个难题;解决的那么多问题中,测试环境无法使用,无法快速的介入测试,仍然是比较突出的。曾经把一个长久未使用的环境,根据经验和clog定位,各个服务之间的调用,一步步完成调通

在你以往的工作或学习中,你最大的收获是什么?学到了什么?

业务的积累

通过各种自动化,如UI自动化,job自动化,api自动化,不仅提升了自己编码能力,也在每周的常规发布中,起到举足轻重的作用

长期的测试过程中,提升了自己解决问题的能力

在没有任何文档的情况下,你如何开展测试?

尽量的去获取其他的文档吧,比如开发的一 些设计文档—概要设计、功能设计、详细设计

尝试从网上找类似的项目文档,如果幸运,可以从公司的资料库找到类似的文档

按照开发的接口或者设计文档,按照功能模块划分,大致写一些用例,然后进行摸索测试,在测试过程中逐渐完善自己的用例

1 人点赞