当前位置: 首页 > news >正文

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

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

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

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

  • 软件测试的目的是什么?
  • 你觉得软件测试工程师在一个团队中,都需要做什么?有什么价值?
  • 一条高质量的缺陷记录(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自动化,不仅提升了自己编码能力,也在每周的常规发布中,起到举足轻重的作用
长期的测试过程中,提升了自己解决问题的能力

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

尽量的去获取其他的文档吧,比如开发的一 些设计文档—概要设计、功能设计、详细设计
尝试从网上找类似的项目文档,如果幸运,可以从公司的资料库找到类似的文档
按照开发的接口或者设计文档,按照功能模块划分,大致写一些用例,然后进行摸索测试,在测试过程中逐渐完善自己的用例

最后给大家分享一份测试资料,这些资料已经帮助过我很多,相信也能帮助到你!

这些资料对于软件测试的新人以及进阶的人来说,都是非常完备的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。加入下方我的测试交流群就可以免费领取了!

相关文章:

  • 【毕业设计】python 机器视觉 车牌识别 - opencv 深度学习 机器学习
  • [SpringBoot系列]进阶配置
  • pc网站和手机端h5网站开发接入微信支付
  • 数据库MySQL----(二)语句
  • 2021年中国研究生数学建模竞赛D题——抗乳腺癌候选药物的优化建模
  • 【AI】PyTorch入门(三):数据集和数据加载器
  • Windows系统下MySQL8.0版详细安装及配置教程
  • Qt5开发从入门到精通——第五篇四节( 文本编辑器 Easy Word 开发 V1.3详解 )
  • c#-WPF使用类和子类绑定到DataContext
  • 图像隐写,如何在图像中隐藏二维码
  • SPL工业智能:发现时序数据的异常
  • 【Linux】进程概念(万字详解)—— 冯诺依曼体系结构 | 操作系统 | 进程
  • 网络编程套接字-----实现网络间通信
  • 机器学习:详细推导支持向量机SVM原理+Python实现
  • mysql socket文件丢失处理或者mysql.sock被删除
  • 分享一款快速APP功能测试工具
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • Angular Elements 及其运作原理
  • C++类中的特殊成员函数
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • HTTP--网络协议分层,http历史(二)
  • isset在php5.6-和php7.0+的一些差异
  • LeetCode算法系列_0891_子序列宽度之和
  • Linux链接文件
  • PaddlePaddle-GitHub的正确打开姿势
  • Promise面试题2实现异步串行执行
  • Python socket服务器端、客户端传送信息
  • React as a UI Runtime(五、列表)
  • select2 取值 遍历 设置默认值
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 从零开始在ubuntu上搭建node开发环境
  • 浮动相关
  • 给Prometheus造假数据的方法
  • 给第三方使用接口的 URL 签名实现
  • 入手阿里云新服务器的部署NODE
  • 走向全栈之MongoDB的使用
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (12)目标检测_SSD基于pytorch搭建代码
  • (7)STL算法之交换赋值
  • (BFS)hdoj2377-Bus Pass
  • (LeetCode C++)盛最多水的容器
  • (初研) Sentence-embedding fine-tune notebook
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (分享)自己整理的一些简单awk实用语句
  • (力扣)1314.矩阵区域和
  • (未解决)macOS matplotlib 中文是方框
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)linux下的时间函数使用
  • (转)程序员技术练级攻略
  • *** 2003
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .net core 连接数据库,通过数据库生成Modell
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题