根据字节、华为、阿里、腾讯等大厂整理的2023最新面试热点问题,还不行我也救不了你了~

news2025/6/22 0:58:40

大厂面试热点问题

1、测试人员需要何时参加需求分析?

如果条件循序 原则上来说 是越早介入需求分析越好 因为测试人员对需求理解越深刻 对测试工作的开展越有利 可以尽早的确定测试思路 减少与开发人员的交互 减少对需求理解上的偏差

2、软件测试与调试的关系

测试条件已知,规程可定义,结果可预知

测试可以计划,过程可控

测试是检验,调试是推理过程

测试表明程序失败,调试表明正确

测试可不了解设计细节

测试由非设计人员完成

测试有理论依据

测试可自动化

3、比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系

黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。 白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。 单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。 集成测试:在单元测试的基础上,对单元模块之间的连接和组装进行测试。 系统测试:在所有都考虑的情况下,对系统进行测试。 验收测试:第三方进行的确认软件满足需求的测试。

4、什么是兼容性测试?兼容性测试侧重哪些方面?

兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。

兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。

兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。

兼容和配置测试的区别在于,做配置测试通常不是Clean OS下做测试,而兼容测试多是在Clean OS的环境下做的。

5、所有的软件缺陷都能修复吗?所有的软件缺陷都要修复吗?

从技术上讲,所有的软件缺陷都是能够修复的,但是没有必要修复所有的软件缺陷。测试人员要做的是能够正确判断什么时候不能追求软件的完美。对于整个项目团队,要做的是对每一个软件缺陷进行取舍,根据风险决定那些缺陷要修复。发生这种现象的主要原因如下:

-没有足够的时间资源。在任何一个项目中,通常情况下开发人员和测试人员都是不够用的,而且在项目中没有预算足够的回归测试时间,再加上修改缺陷可能引入新的缺陷,因此在交付期限的强大压力下,必须放弃某些缺陷的修改。

-有些缺陷只是特殊情况下出现,这种缺陷处于商业利益考虑,可以在以后升级中进行修复。

-不是缺陷的缺陷。我们经常会碰到某些功能方面的问题被当成缺陷来处理,这类问题可以以后有时间时考虑再处理。

最后要说的是,缺陷是否修改要由软件测试人员、项目经理、程序员共同讨论来决定是否修复,不同角色的人员从不同的角度来思考,以做出正确的决定。

6、简述一下缺陷的生命周期?

参考答案:提交->确认->分配->修复->验证->关闭

7、如果一个缺陷被提交后,开发人员认为不是问题,怎么处理?

1.首先,将问题提交到缺陷管理库里面进行备案。

2.然后,要获取判断的依据和标准:

(1)根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;

(2)如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;

(3)根据用户的一般使用习惯,来确认是否是缺陷;

(4)与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;

3.合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不掺杂个人情绪。

4.等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。

8、如果一个缺陷被提交后,开发人员认为不是问题,怎么处理?

1.首先,将问题提交到缺陷管理库里面进行备案。

2.然后,要获取判断的依据和标准:

(1)根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;

(2)如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;

(3)根据用户的一般使用习惯,来确认是否是缺陷;

(4)与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;

3.合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不掺杂个人情绪。

4.等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。

9、什么是关系型数据库,主键,外键,索引分别是什么?

关系型数据库是由多张能互相联接的二维行列表格组成的数据库

主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录

外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字

在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构, 它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单

10、nginx,tomcat,apache 都是什么?

Nginx (engine x) 是一个高性能的HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器。

Apache HTTP Server 是一个模块化的服务器,源于 NCSAhttpd 服务器

Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,是开发和调试JSP 程序的首选。

11、描述 TCP/IP 协议的层次结构,以及每一层中重要协议

12、Jmeter,一个接口的响应结果如下:

请用正则表达式方法分别获取一下 74956 和 713504275825 这两个数值分别赋值给 A1 和A2

13、HTTPS和HTTP的区别主要如下:

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

14、1Python 里 match 与 search 的 区 别 ?

match()函数只检测 RE 是不是在 string 的开始位置匹配, search()会扫描整个 string 查找匹配;也就是说 match()只有在 0 位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回 none。

15、Python 里面如何生成随机数?

在 Python 中用于生成随机数的模块是 random,在使用前需要 import.

如下例子可以酌情列举:

random.random():生成一个 0-1 之间的随机浮点数;

random.uniform(a, b):生成[a,b]之间的浮点数;

random.randint(a, b):生成[a,b]之间的整数;

random.randrange(a, b, step) :在指定的集合 [a,b) 中,以 step 为基数随机取一个数; random.choice(sequence):从特定序列中随机取一个元素,这里的序列可以是字符串,列表,元组等。

16、Python 是如何进行类型转换的?

内建函数封装了各种转换函数,可以使用目标类型关键字强制类型转换,进制之间的转换可以用int(‘str’,base=’n’)将特定进制的字符串转换为十进制,再用相应的进制转换函数将十进制转换为目标进制。

可以使用内置函数直接转换的有:

list---->tuple tuple(list)

tuple---->list list(tuple)

17、常用自动化测试工具机器运行原理,写出一段元素查找的代码?

webdriver 原理:

每个Selenium 命令,这里指的是所谓的基础操作,例如,点击、输入等,都会创建一条 HTTP 请求, 发送给 Browser

WebDriver Browser WebDriver 使用一个HTTPServer 监听和接收HTTP 请求

HTTP Server根据协议规则定义这些 Selenium 命令对应的浏览器具体操作

浏览器执行这些操作

浏览器将执行状态返回给HTTP Server

HTTP Server 再将这些状态信息返回给自动化脚本

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No result found." not in driver page source
driver.close()

18、什么是自动化测试框架?

测试自动化框架是设置特定产品的自动化规则的集成系统。该系统集成了功能库,测试数据源,对象详细信息和各种可重复使用的模块。这些组件用作需要组装以代表业务流程的小型构建块。该框架为测试自动化提供了基础,并简化了自动化工作。

也是为自动化软件测试提供支持的假设框架,概念和工具的主要优点是维护成本低。如果任何测试用例发生变化,那么只需要更新测试用例文件,驱动程序脚本和启动脚本将保持不变。理想情况下,如果应用程序发生更改,则无需更新脚本。

选择正确的框架/脚本技术有助于降低成本。与测试脚本相关的成本是由于开发和维护工作。测试自动化期间使用的脚本的方法对成本有影响。

通常使用各种框架/脚本技术:

线性(程序代码,可能由使用记录和播放的工具生成)

结构化(使用控制结构 - 通常是“if-else”,“switch”,“for”,“while”条件/语句)

数据驱动(数据存储在数据库,电子表格或其他机制中,比如xml)

关键字驱动

行为驱动

混合(使用上述两种或更多种模式)

自动化测试框架主要负责:

定义表达期望的格式

创建一个挂钩或驱动被测应用程序的机制

执行测试

报告结果

19、你对Selenium Grid有什么了解?它提供了什么功能?

Selenium Grid是一款利用现有计算基础架构大幅加速Web应用程序功能测试的工具。允许测试者轻松地在多台机器上并行运行多个测试,并且可以在异构环境中运行。

基于优秀的Selenium Web测试工具,Selenium Grid允许测试者并行运行多个Selenium Remote Control实例。更好的是,它集成显示所有Selenium远程控制,所以不必担心实际的基础设施。Selenium Grid将运行Selenium测试套件所需的时间,缩短到Selenium实例的单个实例运行时间的一小点。

20、Selenium WebDriver中的可用定位器是什么?

ID,

Name,名称

CSS,

XPath,

Class name,

TagName,

LinkText, 链接文本

Partial Link Text.部分链接文本

21、性能测试有哪些分类

1.负载测试

2.压力测试

3.并发测试

4.基准测试

5.稳定性测试

6.可恢复测试

22、简述什么是值传递,什么是地址传递,两者区别是什么?

值传递主调函数传递给被调函数的是值的拷贝,不是原值;地址传递主调函数传递给被调函数的是值的地址。区别是值传递被调函数中的操作不改变主调函数的值,而地址传递则不同。

23、什么函数可以捕捉到web Vuser脚本的动态值?

Web_reg_save_param函数保存动态的数据信息到一个参数中。

24、Loadrunner支持哪些常用协议?

Web(HTTP/HTML)

Sockets

.net 协议

web services

常用数据库协议(ODBC,ORACLE,SQLSERVER 等)

邮件(SMTP、pop3)

其它协议

25、HTTP 和 HTTPS 的区别?

安全性上的区别:HTTPS:HTTP 协议的安全加强版,通过在 HTTP 上建立加密层,对传输数据进行加密。主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

表现形式:HTTPS 站点会在地址栏上显示一把绿色小锁,表明这是加密过的安全网站,如果采用了全球认证的顶级 EV SSL 证书的话,其地址栏会以绿色高亮显示,方便用户辨认。

SEO:在 2015 年之前百度是无法收录 HTTPS 页面的,不过自从 2015 年 5 月份百度搜索全站 HTTPS 加密后,就已经可以收录 HTTPS 了。谷歌则是从 2014 年起便开始收录 HTTPS 页面,并且 HTTPS 页面权重比HTTP 页面更高。从SEO 的角度来说,HTTPS 和HTTP 区别不大,甚至HTTPS 效果更好。

技术层面:如果要说HTTPS 和HTTP 的区别,最关键的还是在技术层面。比如 HTTP 标准端口是 80, 而 HTTPS 标准端口是 443;HTTP 无需证书,HTTPS 需要 CA 机构颁发的 SSL 证书;HTTP 工作于应用层, HTTPS 工作于传输层。

26、TCP 的连接建立过程,以及断开过程?

 

27、还有问一下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质量?

测试并不能够最大限度的保证软件的质量,软件的高质量是开发和设计出来的,而不是测试出来的,它不仅要通过对软件开发流程的监控,使得软件开发的各个阶段都要按照指定的规程进行,通过对各个阶段产物的评审,QA对流程的监控,对功能及配置的审计来达到开发的最优化。当然测试也是保证软件质量的一个重要方式,是软件质量保证工程的一个重要组成部分。

28、16.2.4你在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?

测试从事过 web 测试,后台测试,客户端软件,进行功能测试,性能测试,编写测试工具,文档的管理等,比较擅长编写测试用例和进行功能测试。

29、测试结果分析如何?如何产生和被记录?

在项目测试之后,我们对缺陷进行了统计分析,并生成了测试报告文档。在此次项目中所有的缺陷都已修复并关闭。所有的缺陷都记录在缺陷管理工具中,并导出了缺陷报告

30、16.2.35在你以往的工作中,一条软件缺陷(或者叫 Bug)记录都包括哪些内容?如何提交高质量的软件缺陷(Bug)记录?

检测时间,系统环境,硬体环境,严重程度,程式版本,确认人,功能模块,问题描述,详细操作步骤,是否会重现。

问题描述和详细操作步骤要尽可能的详细。Bug 应该尽量用书面语,对与严重程度比较高的缺陷要在相同环境下在测试一遍。

在 C/S 模式下,如果条件满足可以使用替换法来确认是 client 端的问题还是 server 端的问题。

最后

给大家整理了一份软件测试资料,大部分资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、lordrunner、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。【点击文末小卡片免费领取】

希望对各位有所帮助,祝各位找到自己心仪的工作岗位,升职加薪!

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MM32F3273G8P火龙果开发板MindSDK开发教程11 -获取msa311加速器的xyz轴数据

MM32F3273G8P火龙果开发板MindSDK开发教程11 -获取msa311加速器的xyz轴数据 1、msa311简介 使用i2c总线 可以读取xyz轴的加速度 可以监测单击双击事件 可以监测运动与静止状态 可以监测自由落体事件,可用来监测摔倒或跌落。 可以监测旋转事件,类似手机…

工作中自我或者团队管理的几个有用工具

个人或者团队管理过程中,采用一些有效的管理工具或者方法,可以提升工作效率和结果。它们包括SMART原则、PDCA循环、SWOT分析、5W2H分析、鱼骨图分析、七个凡是。这几个工具或者方法之间有互通性,比如,PDCA循环中,在P这…

数学建模预备知识(1)全网最全的数学建模竞赛汇总,别再被坑了!

🌅*🔹** φ(゜▽゜*)♪ **🔹*🌅 欢迎来到馒头侠的博客,该类目主要讲数学建模的知识,大家一起学习,Qq及各类联系方式在图片上! 喜欢的朋友可以关注下,下次更新不迷路&…

【MySQL】为什么MySQL选择B+Tree来做索引?

B树和B树的区别? B树 B树 B*树 B树和B树的区别 (1)存储量大:B树叶子及非叶子节点存索引数据,B树叶子非叶子节点存索引,叶子节点存数据; (2)查找速度: 查单个值&…

细说websocket - php篇

下面我画了一个图演示 client 和 server 之间建立 websocket 连接时握手部分,这个部分在 node 中可以十分轻松的完成,因为 node 提供的 net 模块已经对 socket 套接字做了封装处理,开发者使用的时候只需要考虑数据的交互而不用处理连接的建立…

运营-22.内容分发

内容分发 内容分发本质要解决的问题包含两点: 1. 高效的连接人与信息; 2. 过滤出有价值的信息,让合适的人看到合适的信息 。 常见的内容分发方式: 1. 编辑分发; 2. 订阅分发; 3. 社交分发; 4. 算…

Oracle中使用【Interval】对【日期】进行【相加减】,报错 ORA-01839:指定月份的日期无效(Interval的坑)

文章目录 1. 前言2. 先说结论3. 案例演示 1. 前言 最近在对某些表进行旧数据的删除,必然是通过【时间】删除之前较为久远的数据,比如1年前,6个月前,7天前的数据等等情况,这个时候的SQL,必然会出现条件&…

pandas---数据结构(Series、DataFrame 和 MultiIndex)创建方式、属性

1. 数据结构 Pandas中一共有三种数据结构,分别为:Series、DataFrame 和MultiIndex。 其中Series是一维数据结构,DataFrame是二维表格型数据结构,MultiIndex是三维数据结构。 1.1 Series Series是一个类似于一维数组的数据结构…

【LeetCode】每日一题 -- 1170. 比较字符串最小字母出现频次 -- Java Version

题目链接:https://leetcode.cn/problems/compare-strings-by-frequency-of-the-smallest-character/ 1. 题解(1170. 比较字符串最小字母出现频次) 昨天的每日一题 2699. 修改图中的边权 有点难,研究了一会儿,学习了一…

文件讲解—【C语言】

目录 1.为什么使用文件 2. 什么是文件 2.1 程序文件 2.2 数据文件 2.3 文件名 3. 文件的打开和关闭 3.1 文件指针 3.2 文件的打开和关闭 4. 文件的顺序读写 4.1 顺序读写函数介绍 4.2 对比一组函数 例子 例子 5.3 rewind 例子 6. 文本文件和二进制文件 测试代…

机器学习 day15(神经网络的工作原理,激活值a的公式)

1. 隐藏层的内部实现 如图通常来说,该模型一共有两层,不包括输入层(layer 0),第一层是隐藏层(layer 1),第二层是输出层(layer 2),我们可以用方括…

【力扣刷题 | 第三天】242.有效字母异位词 349 两个数组的交集

目录 1.242. 有效的字母异位词 2.349. 两个数组的交集 - 力扣(LeetCode)​​​​​​ 使用算法笔记: 总结: 1.242. 有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意…

学习记录 -- Accurate and fast cell marker gene identification with COSG

文章目录 brief代码演示安装实操 个人感受 brief 单细胞数据分析当中,细胞聚类分群完成之后,我们希望得知每一个细胞类群是什么细胞,也就是细胞类型注释。 通常情况下,我们可以找到细胞类群间表达量存在差异的基因,我…

爆款视频生成器-视频批量剪辑系统源码开发分享

创建视频 该接口用于创建抖音视频(支持话题, 小程序等功能)。该接口适用于抖音。 使用限制 抖音的 OAuth API 以https://open.douyin.com/ 开头。挂载小程序请先完成注册开发者平台账号。创建抖音视频后, 会有一个审核过程, 期间只有自己可见。如果发…

【C/C++】带你快速掌握 使用—增强for(范围for循环)

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

Cefsharp-Winform114.2.100(5735)最新版本体验

版本说明: 官方仓库最新版本体验,114.2.100 (分支5735),支持MP3,WEBGL,不支持H264 视频体验H264参阅109版本(CSDN中搜索) Cefsharp109.1.110(winfrom)最新支持H264-MP3-MP4功能体验,导出pdf和下载方法有变调整_cef h264_久爱物联网的博客-CSDN博客 效果预览: 一…

LinuxC编程——高级文件操作

目录 一、查询文件信息1、stat2、stat fstat lstat区别 二、目录操作2.1 opendir2.2 readdir2.3 closedir例练习&#xff1a;实现ls操作 三、库3.1 库的定义3.2 库的分类3.2.1 静态库3.2.2 动态库 3.3 创建库3.3.1 静态库制作3.3.2 动态库制作 一、查询文件信息 1、stat int …

TLD7002学习笔记(二)-使用S32K144驱动TLD7002

文章目录 1. 前言2. 评估板简介3. 官方驱动3.1 官网驱动的介绍3.2 官方驱动的移植3.3 官方驱动的使用 4. 参考资料 1. 前言 本篇文章是TLD7002学习笔记的第二篇&#xff0c;主要是介绍如何使用S32K144驱动TLD7002-16ES。为此&#xff0c;笔者做了一套基于TLD7002-16ES的评估板…

重学Java的第一章

1.写在前面 今年的行情很差&#xff0c;差到很多人都没有办法找到工作&#xff0c;博主也是一个菜逼&#xff0c;找了一家小破公司&#xff0c;导致我那段时间很迷茫&#xff0c;也是也很焦虑&#xff0c;思考了很多&#xff0c;觉得我自己学的已经够多了&#xff0c;但是每一…

《Lua程序设计》--学习7

数据结构 数组 矩阵和多维数组 不规则数组&#xff1a;数组的数组&#xff0c;也就是所有元素均是另一个表的表 将两个索引合并为一个&#xff1a;声明一个长数组&#xff0c;然后根据 行数*行所拥有的元素个数列数来访问这样 链表 因为表是动态对象&#xff0c;所以在Lua语…