2023最新的软件测试热点面试题(答案+解析)

  前言

  与开发相比,软件测试工程师前期可能不会太深,但涉及面还是非常广的。 在一年左右的实习生或岗位的早期面试中,主要是问的也是一些基本的问题。 涉及到的知识主要包括MySQL数据库的使用、Linux操作系统的使用、软件测试框架问题、测试环境搭建问题,当然还会有一些自动化测试性能测试的问题。

  软件测试工程师的面试题基本都是一样的。 面试的核心在于框架模块(一到两年的工作经验)。 今天的文章主要讲解之前自己面试或者身边人的面试过程中经常会被问到的经典面试题,也是软件测试的热点问题。

  1、软件测试的流程是什么?

  分析:每当HR问一个问题的时候,我们可以花1-2秒思考HR想从这个问题中得到什么信息。 弄清楚这一点就很容易回答了。 如果有工作经验,可按公司流程直接回答。 如果是刚转行或者刚开始实习,可以按标准回答。 文中答案仅供参考;

  答:项目经理或PD会提前将项目需求文档下发给相关研发人员,研发人员会花一定的时间记录文档中不清楚或遗漏的地方,为后续评审做准备; 在需求评审会上,每个研发人员提出自己的问题并解决。 需求评审最终通过后,会出一份最终的需求规格说明书; (需求评审阶段)

  需求规格书评审通过后,开发经理开始编写开发计划,测试经理开始编写测试计划,开发人员在计划评审通过后开始程序开发, 测试人员开始编写测试用例,第一版程序出来后,开发人员迭代第二版。 此时,测试人员对程序进行测试,记录和跟踪管理缺陷,直至程序迭代完成。 (产品研发阶段)

  程序迭代完成,且大部分缺陷修复后,测试人员开始进行工作总结,最终输出一份测试报告,记录这次的测试工作中,程序存在的相关问题。 (产品发布阶段)

  2、测试用例主要有哪些元素?

  分析:由于每个公司使用的模板不同,测试用例的内容也不尽相同,所以回答时只需要回答基本要素即可;

  答:测试用例的主要元素有:ID、标题、模块、预置条件、操作步骤、预期结果、实际结果、是否通过、BugID等。

  3、软件测试有什么策略和阶段?

  分析:软件测试的策略就是测试将按照什么样的思路和方式采用什么技术、什么步骤等。

  答:软件测试策略主要有:动态测试和静态测试、白盒测试黑盒测试。 测试阶段有:单元测试、集成测试、系统测试,有些公司会有验收测试。(单元测试开发是在调试代码时完成的,集成测试也是如此,但有时测试人员也需要进行集成测试;测试人员平时的主要工作是系统测试,验收测试是在客户参与下进行的测试);

  4、黑盒测试和白盒测试是什么?二者有什么区别?

  分析:黑盒测试和白盒测试百度百科上面有,这里不再做太多介绍了。

  黑盒测试和白盒测试的区别:

  答:黑盒测试主要是在程序界面进行测试的,它通过设定某种场景来检验程序在这个场景下是否给出正确的反应,从而验证程序是否正确满足需求规格说明书中的要求。白盒测试主要针对程序内部结构,对程序代码进行代码走查等等,但是白盒测试的成本会比较高,当程序有多个路径时,可能会出现更多的遗漏。

  5、软件测试有什么类型?

  答: 常见软件测试类型有:功能测试、性能测试、兼容性测试、可靠性测试、安全性测试、压力测试、负载测试等等;

  6、测试用例是什么?有什么作用?

  答:测试用例就是设计一个特定的场景,让软件在这种场景下运行,检验程序是否给出正确反应,以此验证软件是否正确实现了客户的需求。

  作用:

  1)避免盲目测试并提高测试效率;在软件版本更新后只需修正少部分用例就能开展测试工作,降低工作强度,缩短测试周期;

  2)可以分清哪些是测试的重点,测试用例是测试工作的见证,能知道测试了哪些功能,没有测哪些模块;

  3)测试用例是量化测试工作的方法之一。

  7、你平时是怎么设计测试用例的?

  分析:这个问题主要考察是否掌握测试用例设计方法,在回答后,HR可能会继续追问某种设计方法的概念或实例,举例说明即可;比如:等价类划分法就是把程序的输入域划分成等价类,从各部分中选取少数代表性数据当做测试数据。

  答:设计测试用例一般都会使用到等价类、边界值、场景/流程法、因果图及错误推测法。

  8、软件缺陷的定义是什么?

  分析:什么样的问题才是一个缺陷,需要从客户的需求出发;

  1)软件没有实现需求规格说明书中要求;

  2)出现了需求规格说明书中指明不该出现的错误;

  3)软件没有实现需求文档中虽未明确提及但应该实现的功能;(如:账密加密)

  4)软件出现难以理解、不易使用或运行速度慢等问题都可以认为是软件缺陷;

  9、缺陷中应该包含什么元素?严重等级有哪些?

  分析:和上面测试用例一样,每个公司的要求可能都会不同;

  答:主要元素有:标题、BugID、复现步骤、实际结果、预期结果、截图、日志等等;

  软件缺陷等级一般有四种:致命(程序奔溃)、严重(金额计算错误、数据出错)、一般(不影响使用但会造成一定的麻烦)、优化(字体字号不统一)

  10、给你一个杯子,你会怎么测试?

  分析:这种问题在前期的面试中是经常遇到也是很经典的一道面试题,回答时从外观、功能、性能等各个角度说起,再结合自己的一些话就可以了。

  11、测试报告里面包含什么内容?

  分析:测试报告是测试工作结束之后测试部门输出的测试结果,但各个公司的测试报告内容都会有些差别。有些公司的测试报告是由测试部门负责人一人编写,或者是由每个测试工程师输出自己对应模块的测试报告再由测试组长整合成完整的测试报告;

  答:测试报告内容有:编写目的、系统简介、测试环境、测试方法和工具、测试执行结果与记录、缺陷汇总、遗留缺陷跟踪、测试用例执行情况、测试结论与建议等。

  12、如果在测试过程中发现了BUG,可是开发不认这是Bug,你会怎么办?

  分析:HR问这个问题主要是想知道你平时是如何处理与同事之间的关系的。开发和测试是对立又统一的两个岗位,所以开发和测试之间关系的处理是HR面试过程中需要考虑的一个点。当然,HR问这个问题也说明该公司有氛围不是很好的风险。

  答:首先还是要回归到客户的需求上面,确认这个问题到底属不属于一个缺陷,如果确实是的就要和开发同事解释清楚;如果开发还是坚持自己想法的话,就询问同事或者测试组长的意见,讨论一下这个问题到底属不属于缺陷问题,如果大家都觉得是则需要再和开发解释清楚。

  13、你们公司的需求评审是怎样进行的?

  分析:需求评审,就是对客户需求、软件各个模块之间模糊的点进行审查,排除不理解或没有考虑到的点。

  答:需求评审,在一些分工较明确的公司,都是由PD(产品设计师)负责的,需求确认好后再下发到开发和测试部门;分工不明确的公司可能就是开发测试产品等大家坐在一起共同进行探讨;评审形式一般分线上和线下两种方式,负责人一般会提前把需求文档下发到大家手上供大家整理各自的疑惑点,为后续评审会议做准备。

  14、MySQL的常用命令有哪些?

  分析:数据库知识是测试工程师必备的一个基本技能,在面试过程中也是经常会遇到的一个考点。对于刚入行的测试,对数据库知识要求一般不会太高,只要求能掌握基本的增删改查语句就行。关于数据库的知识,后续也会慢慢的整理出来,供大家学习、参考。

  答:这里只给出几个标准的语法结构:

  增:insert into 表名(列名) values (数据);

  如:在stu表中插入id为001,姓名为李四的学生,(insert into Stu(stu_id,stu_name) values (001,‘李四’);)

  删:delete from 表名 where 指定数据;

  如:在stu表中删除id为001,姓名为李四的学生:(detele from Stu where stu_id=‘001’ and stu_name = ‘李四’;)

  改:update 表名 set 改变项 where 指定数据;

  如:在stu表中修改id为001的学生姓名为“李四”:(update Stu set stu_name = ‘李四’ where stu_id=‘001’ ;)

  查:select (查询项) from 表名 where 指定条件;

  如:在stu表中查询id为001,姓名为“李四”的学生信息:(select * from Stu where stu_name = ‘李四’ and stu_id=‘001’ ;)

  15、Linux下的一些常用命令是什么?

  分析:Linux系统,是软件测试工程师必须要掌握的一项基本技能,由于Linux具有运行稳定等诸多优点,所以软件的服务器大多部署在Linux系统上,搭建测试环境也是软件测试工程师需要掌握的。关于Linux的知识,后续会慢慢的整理出来,供大家学习、参考。由于Linux下很多命令都是常用的,所以这里就不给出答案。

  16、你未来的职业规划是什么?

  分析:这个问题是所有面试中最常问的,问的人可能是HR、部门主管、经理、甚至是董事长。同样一个问题,问的人不同,想获取的信息肯定也是不一样的。HR更多的是想看你在公司的稳定性;技术主管则更想知道你是否真的喜欢测试这个岗位,后期是否会主动学习型新的技能;经理更多的是看你的职业规划符不符合公司的发展方向;软件测试工程师发展方向主要有:测试开发、产品经理、测试转开发、测试大牛、讲师等岗位;

  答:HR:如果是HR问的话,要多从稳定性的角度回答,如:家人、朋友都在公司附近,或喜欢贵公司的文化氛围等等;

  技术:回答前可以先简单介绍一下自己为什么选择软件测试这个职业,及自己对这个职业的一些看法,最后再回答自己的职业发展方向就行;

  经理or董事长:这个回答起来的话还是比较难把握的,因为在面试时,面试者往往对公司的发展方向不是非常了解,所以要在回答时再带一句,“具体的发展方向,还需要根据公司的发展方向去调整”,这样回答会保险一些。

  17、还有什么想要问我的吗?

  分析:这个问题在每个面试尾声都会被问到,直接说没有的话,会让HR觉得你不关心这个岗位,问多了又会显得面试前没有做好充分准备。所以问题控制在两到三个比较好。

  1)公司的研发团队目前什么规模?开发、测试分别有多少人?

  2)公司的业务方向是什么?

  3)如果我入职之后,我的工作职责是什么?

  18、为什么想离职?

  分析:这个问题主要是想了解你的近况,以及上一家公司是什么原因导致你离职。大部分情况下,HR都会理解你的,但是回答问题时千万不要太过于实诚,有些面试者一上来就抱怨上一家公司如何压榨公司员工等这些话语,没有一家公司会愿意接受这样的面试者,HR并不能完全感受你遭遇到的,所以还请控制好自己的负面情绪。

 感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/200397.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

社区新零售:打造便捷生活

社区新零售:打造便捷生活 如今,随着科技的迅猛发展和人们对便捷生活的需求不断增长,社区新零售正逐渐成为城市中不可或缺的一部分。社区新零售是以社区为基础,借助互联网技术和智能化设备,将线上线下融合、商品与服务相…

Qt MVC示例 simpletreemodel 树模型

Qt MVC示例 simpletreemodel 树模型 从文本中读取树模型数据&#xff0c;缩进代表子项 TreeItem 表示一行字符串数据 treeitem.h #ifndef TREEITEM_H #define TREEITEM_H#include <QList> #include <QVariant>//! [0] class TreeItem { public:explicit Tree…

[Docker]十二.Docker consul集群搭建、微服务部署,Consul集群+Swarm集群部署微服务实战

一.Docker consul集群搭建 Consul 是 Go 语言写的开源的服务发现软件&#xff0c; Consul 具有 服务发现、健康检查、 服务治理、微服务熔断处理 等功能,在微服务中讲过如何搭建consul集群&#xff0c;接下来看看在 Dokcer 中如何去创建搭建consul 集群 1.linux上面部署consul集…

05、基于梯度下降的协同过滤算法

05、基于梯度下降的协同过滤算法理论与实践Python 开始学习机器学习啦&#xff0c;已经把吴恩达的课全部刷完了&#xff0c;现在开始熟悉一下复现代码。对这个手写数字实部比较感兴趣&#xff0c;作为入门的素材非常合适。 协同过滤算法是一种常用的推荐算法&#xff0c;基于…

Python3基础

导包 在 python 用 import 或者 from...import 来导入相应的模块。 将整个模块(somemodule)导入&#xff0c;格式为&#xff1a; import somemodule 从某个模块中导入某个函数,格式为&#xff1a; from somemodule import somefunction 从某个模块中导入多个函数,格式为&#…

Grafana部署与Zabbix集成,搭建开源IT监控平台

Grafana部署与Zabbix集成 目前在一家公司主要是网络、运维、IT支持&#xff0c;每次需要检查服务器状态都是需要手动登录系统进行查看&#xff0c;因此想着部署一套监控系统&#xff0c;功能上需要实现监控、可视化、告警等。由于预算没有&#xff0c;服务器资源倒是有空闲的&a…

数据结构之二叉树与堆以及力扣刷题函数扩展

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力 目录 1.前言 2.树 2.1概念 2.2树的相关概念 3.…

virtuoso layout版图设计 调用器件

在设计好一个电路之后&#xff0c;需要对其进行版图设计。 在原理图界面点击 点击ok 库和名字要跟原理图名字一致&#xff0c;一般自动就命名好了&#xff0c;点击ok 出现版图界面&#xff0c;点击左下角的图标。 选择要不要生成boundary 选择layer&#xff0c;一般为M1&#…

优维低代码实践:搜索功能

优维低代码技术专栏&#xff0c;是一个全新的、技术为主的专栏&#xff0c;由优维技术委员会成员执笔&#xff0c;基于优维7年低代码技术研发及运维成果&#xff0c;主要介绍低代码相关的技术原理及架构逻辑&#xff0c;目的是给广大运维人提供一个技术交流与学习的平台。 优维…

Linux之高级IO

目录 IO基本概念五种IO模型钓鱼人例子五种IO模型高级IO重要概念同步通信 VS 异步通信阻塞 VS 非阻塞其他高级IO阻塞IO非阻塞IO IO基本概念 I/O&#xff08;input/output&#xff09;也就是输入和输出&#xff0c;在著名的冯诺依曼体系结构当中&#xff0c;将数据从输入设备拷贝…

《opencv实用探索·四》Mat图像数据类型转换和归一化显示

一种数据类型转为另一种数据类型&#xff0c;不改变图像大小&#xff0c;但每个像素值可能会变 src.convertTo(dst, type, scale, shift);Scale和shitf默认为0&#xff08;这两个参数也相当于对比度和亮度&#xff09; 现在有个8位图像&#xff0c;把8位转成32位 可以看到像素…

WSDM 2024 | LLMs辅助基于内容的推荐系统增强BPR训练数据

本文提出了一种简单而有效的基于LLMs的图数据增强策略&#xff0c;称为LLMRec&#xff0c;以增强基于内容的推荐系统。LLMRec包含三种数据增强策略和两种去噪策略。数据增强策略包括从文本自然语言的角度挖掘潜在的协同信号, 构建用户画像(LLM-based), 并强化item side informa…

JS 倒计时方法(可改造)

起因&#xff1a; 写好备用。 代码&#xff1a; // 直接把方法写在了原型上&#xff0c;通过原型调用 /*** 倒计时* time_str String 到期时间(2023-11-28 16:50:00)* dom_obj Object 需要显示的倒计时的dom对象*/ Date.prototype.countdown function (time_str, dom_obj…

【古月居《ros入门21讲》学习笔记】13_服务数据的定义与使用

目录 说明&#xff1a; 1. 服务模型 2. 实现过程&#xff08;C&#xff09; 自定义服务数据 Person.srv文件内容 Person.srv文件内容说明 编译配置 在package.xml文件中添加功能包依赖 在CMakeLists.txt中添加编译选项 编译生成语言相关文件 创建服务器代码&#xf…

python获取系统当前进程数和最大进程数

参考&#xff1a; https://blog.51cto.com/u_16213345/7115864 https://www.baidu.com/s?wdpython%20%E8%8E%B7%E5%8F%96%E7%B3%BB%E7%BB%9F%E5%BD%93%E5%89%8D%E8%BF%9B%E7%A8%8B%E6%95%B0%E5%92%8C%E6%9C%80%E5%A4%A7%E8%BF%9B%E7%A8%8B%E6%95%B0&rsv_spt1&rsv_iqid…

2023年国内主流的低代码平台

低代码开发平台&#xff08;Low-Code Development Platform, LCDS&#xff09;为企业和开发者提供了高效的应用开发方式。这些平台使得开发者可以通过简化的设计界面快速创建和部署应用&#xff0c;大大提高了开发效率并降低了开发成本。 伴随数字化转型推进&#xff0c;选购低…

外汇天眼:外汇市场中的“双向交易”是什么意思?

说到外汇市场&#xff0c;总免不了提到它双向交易的优势&#xff0c;很多新手会对这一点有所疑问&#xff0c;今天我们就帮大家解决这一个疑问。 何谓双向交易&#xff1f; 金融市场上&#xff0c;交易者最常接触到的股票&#xff0c;多属于单向交易。 单向交易的模式便是「先…

1688 API接口的介绍丨商品详情页接口丨搜索商品列表接口

1688&#xff0c;作为中国领先的B2B电子商务平台&#xff0c;为全球的买家和卖家提供了一站式的采购和销售服务。而它的API接口&#xff0c;更是开放了1688平台的核心功能&#xff0c;让开发者能够根据自己的需求来定制和扩展商业应用。 1688 API接口的介绍 1688 API接口提供…

初刷leetcode题目(11)——数据结构与算法

&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️…

ntopng如何将漏洞扫描与流量监控相结合,以提高网络安全性

来源&#xff1a;艾特保IT 虹科干货 | ntopng如何将漏洞扫描与流量监控相结合&#xff0c;以提高网络安全性 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; ntopng为人所知的“身份”是被动流量监控。然而&#xff0c;如今的ntopng6.0也进化出主动监控功能来&#xf…