软件测试面试会问哪些问题?

软件测试面试,一般会被问到下面这九类问题。

1、基础问题
2、Linux命令
3、数据库
4、功能测试
5、Python基础
6、接口测试
7、自动化测试
8、性能测试
9、人事问题

接下来,以上9类问题,我都会分别结合2个案例,附上答案,给大家参考。最后会免费赠送大家2023年最新面试宝典,祝愿大家测试求职顺利。

图片

上图镇楼

一、基础问题

1.1、请做下简单的自我介绍

回答:【围绕基本信息+项⽬介绍】⾯试官您好,我叫张三,来⾃番茄市,在软件测试⾏业有 3 年的⼯作经验,做过 Web/APP及⼩程序项⽬的测试⼯作,有独⽴负责整个项⽬的测试经验。最近做个的项⽬是 xxx,这是⼀款基于(B/S 或 C/S)架构的 xxx 产品,在该项⽬中我主要负责 xxx 业务和 xxx 业务及 xxx 模块和 xxx 模块的功能,接⼝,及⾃动化测试。在功能测试中主要运⽤到 xxx 测试⼯具和 xxx 缺陷管理系统,在接⼝测试中主要使⽤到 xxx ⼯具,⾃动化测试是基于 Python+Requests+pytest+Jenkins 实现的测试框架搭建和测试实现。以上是我的个⼈介绍

1.2、 你们这项⽬做了多久?多久做⼀次版本迭代?写了多少⽤例?发现了

多少Bug?你们的团 队规模是怎么样?具体的⼈员配置请详细说⼀下。​​​​​​​

回答:● 项⽬周期:○ 中⼩型项⽬:3-6个⽉○ 中⼤型项⽬:6-12个⽉● 多久做⼀次版本迭代?○ 互联⽹项⽬:1-2周⼀个迭代○ 传统项⽬:3-4周⼀个迭代● 迭代内容:○ ⼀般分⼤版本和⼩版本:■ ⼤版本主要是产品规划的新功能、新业务,⼤版本⼀般2-3个⽉有⼀次■ ⼩版本主要是⼀些历史功能优化和缺陷修复版本,⼩版本每周/两周有⼀次● 写了多少⽤例?—— 数测试点● 发现了多少bug?—— ⽤例数的20%-30%● 团队规模:○ 互联⽹项⽬:■ 测试开发⽐:1:3 —— 1:5 甚⾄1:7■ ⼩项⽬:1-3个测试⼈员,开发⼈员⼤概为4-15⼈,产品经理与测试基本⼀致(基本1-3⼈)■ 中项⽬:测试⼈员5⼈以上○ 传统项⽬:■ 银⾏类型的项⽬:(⼈员密集型)测试开发⽐:1-3左右

二、Linux命令

2.1 如何查看 Java 进程并杀死进程​​​​​​​

回答:# 查看所有 Java 进程信息(包含进程ID)ps -ef | grep java# 停⽌ Java 进程kill -9 进程ID# 扩展:⼀条命令实现($2 获取第 2 列的值)ps -ef | grep java | awk '{print $2}' | xargs kill -9

2.2 如何解决端⼝占⽤​​​​​​​

回答:# ⽅案 1# 获取程序相关信息(PID:进程ID)netstat -anptu | grep 程序名netstat -anptu | grep 端⼝号# 结束程序运⾏kill -9 PID
# ⽅案 2# 获取程序相关信息(PID:进程ID)lsof -i:端⼝号# 结束程序运⾏kill -9 PID# 注意:以上命令都需要使⽤ root ⽤户

三、数据库

3.1 请⽤⼀条语句统计:2022 年 10 ⽉份所有员⼯的请假天数​​​​​​​

回答:select sum(l_days) from e_info as einner join leave_info as l on e.e_id=l.e_idwhere l_date between "2022-10-1" and "2022-10-31"

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

回答:关系型数据库是指:存储数据时有多个数据表格,表格之前有关联信息常⻅的关系数据库有:Oracle:在⼤型项⽬中使⽤,例如:银⾏、电信等项⽬MySQL:Web 项⽬中使⽤最⼴泛的关系型数据库Microsoft SQL Server:在微软的项⽬中使⽤主键:数据库表唯⼀标识,不能为空外键:表与表之间关联的字段索引:对数据库表中⼀列或多列的值进⾏排序的⼀种结构(相当于图书的⽬录)作⽤是快速访问数据库表中的特定信息

四、功能测试

4.1 请简述下你现在这家公司的功能测试流程。​​​​​​​

回答:1、接到项⽬之后,由项⽬经理、需求⼈员、测试经理和客户进⾏沟通,分析需求,需求⼈员编写需求⽂档,编写之后需求评审(看看有没有不能完成或者有必要增加或者修改的地⽅)。2、评审过后,输出评审通过的需求规格说明书;- 开发⼈员根据需求说明书,设计说明进⾏软件开发。- 这时我们测试⼈员要了解客户需求,根据需求规格说明书编写测试⽤例,编写好之后对测试⽤例进⾏评审,在评审中注意有⽆遗漏或有误的地⽅,再进⾏修改。3、测试⽤例评审通过,开发⼈员把项⽬写好,搭建好测试环境,我们⾸先进⾏冒烟测试,看看软件关键功能可不可以正常使⽤,环境通不通。然后我们根据测试⽤例进⾏测试,在测试过程中遇到bug,在缺陷管理⼯具中提交,并根据缺陷管理周期跟踪bug,复测通过之后关闭bug。4、所有测试⽤例执⾏完毕,缺陷也关闭了,然后测试⼈员编写测试报告,完成后进⼊运⾏维护阶段。

4.2 在测试过程中有没有发现过让你记忆犹新的BUG​​​​​​​

回答:这个问题不⼀定难,重点体现真实问题描述:购物⻋合计⾦额和订单的商品合计⾦额偶尔出现相差0.01需求描述:基于商品合计⾦额结果四舍五⼊购物⻋合计⾦额 = sum(购买量 * 单价 * 会员折扣率)订单的合计⾦额 = sum(购买量 * 单价 * 会员折扣率) + 物流费 - 优惠券 - 积分抵扣分析问题:找到对应购物⻋研发⼈员确认其计算的⽅式,每次计算完⼀个乘法四舍五⼊ 订单的开发⼈员计算⽅式是乘法计算完之后再对于最终结果进⾏四舍五⼊,导致偶尔出现相差0.01的情况解决⽅式:找产品确认最终确认进位⽅式 这⾥就提供⼀个,⼤家在实际学习过程中也会遇到⼀些缺陷。可以进⾏记录和分析

五、Python基础

5.1 请用Python 实现⼀个九九乘法表​​​​​​​

回答:for i in range(1, 10):for j in range(1, i+1):print('{}x{}={}\t'.format(j, i, i*j), end='')print()

5.2 在 pytest 在如何运⾏指定⽤例?例如:⼀个电商共有 2000 条⽤例,只想运⾏和下单业务相关的⽤例,该怎么做?​​​​​​​

回答:学过的:在 pytest.ini 配置⽂件中修改运⾏模块 -> 根据业务去建的 py ⽂件,在配置⽂件中修改指定⽂件名。⾯试官想听的:@pytest.mark.标记运⾏⽅法:pytest -m 标记

六、接口测试

6.1 系统出现500或⽩屏,你会如何分析问题?​​​​​​​

回答:1、查看系统服务器资源是否占满:磁盘、内存2、通过查看磁盘占⽤状态:df -h;通过写⼊缓存信息,导致硬盘空间不⾜;3、查看内存的使⽤情况:top- 内存泄漏:由于开发编写代码过程对于已经分配内存资源使⽤完毕之后,并不释放内存的资源,导致后⾯同样业务处理所占⽤内存⾜部累加,最终导致内存不⾜。- 内存溢出:现有空闲内存不⾜以提供服务器处理客户请求。作为测试需要定位信息:基于内存泄漏,需要找到占⽤了资源⽽不释放具体使⽤功能是哪个,然后基于功能找到请求地址

6.2 你怎么使⽤的 Postman 实施的接⼝测试​​​​​​​

回答:1.之前说到⼀般是在开发整体提交SIT测试前,测试⼈员会有⽐较充裕的时间,会使⽤ Postman 快速的对本次测试范围的核⼼接⼝进⾏测试2.使⽤的⽅式:第⼀,我们会依据接⼝⽂档,在 Postman 中划分功能⽬录结构,⽅便区分接⼝功能模块。第⼆,依据接⼝⽂档在 Postman 中创建好对应的 Request 请求⽤例,配置好请求地址、 RequestHeader、 Body,确认正常请求能跑通后。第三,优化接⼝测试点,基于多参数、少参数、错参数进⾏测试点配置,利⽤全局变量以及参数化⽅式对于各种情况的数据进⾏测试。第四,添加断⾔,基于响应体,通过结果提取器,提取必要的响应体结果数据进⾏判断。第五,通常情况下多个接⼝之间数据有依赖的,还会使⽤关联的⽅式来完善接⼝测试⽤例。

七、自动化测试

7.1 在你的项⽬中做过 UI ⾃动化,简单说说你是如何做的?​​​​​​​

回答:[该问题根据⾃⼰的实际所学情况选择实施的程度]
在*** ***项⽬中,由于经常有版本迭代,回归测试任务还是⽐较多的。项⽬中,由于经常有版本迭代,回归测试任务还是⽐较多的。- 部分核⼼的功能模块界⾯也⽐较稳定,为了提供回归测试效率,团队采⽤了 UI ⾃动化测试技术来解决回归测试的问题。- 我们使⽤的实现技术框架为:pytest + Selenium/Appium + PO 模式 + Allure 的框架来实现的 UI ⾃动化。- 整个项⽬过程中, 也没有专⻔规划⼀段时间去⼀次性完成整体的⾃动化,⽽是测试经理规划好整体实现框架后,在版本迭代空闲时间,分配⼀些脚本编写的任务。- 在我离开公司时, UI ⾃动化测试⽤例库已经基本覆盖到了项⽬核⼼功能点和流程。例如:*** ***流流程、 程、 *** ***功能模块。其中 功能模块。其中 *** *** 是我编写的。

7.2 UI⾃动化解决了什么问题?你觉得其价值大不大?主要体现在哪⾥​​​​​​​

回答:个⼈觉得 UI ⾃动化测试核⼼解决的问题还是解决⼿⼯回归测试,基于历史功能或流程进⾏回归,代替绝⼤部分的回归测试⼯具,缩减测试⼯程的重复的⼯作。UI ⾃动化的脚本还可以通过运⾏来准备测试数据,例如:要测试⽣成订单后的各种流程,就可以通过运⾏⽣成订单的测试⽤例。我觉得 UI ⾃动化测试脚本如果编写的⽐较全⾯的话,价值还是很⼤的。就如上⾯说的回归测试和构造数据,不过前提是项⽬适合做 UI⾃动化测试,否则就没有任何价值了。

八、性能测试

8.1 有没有做过性能测试?简单的描述⼀下当时是怎么测试的​​​​​​​

基于操作层⾯级别的回答:1、有的,我在之前的项⽬测试过程中,对于项⽬核⼼的功能模块有按项⽬要求对于核⼼的功能模块实施过性能测试。如电商(商品搜索相关接⼝、购物⻋查询、提交订单等场景),这⾥需要⾃⼰根据⾃⼰的项⽬来进⾏功能模块的挑选。2、确认好后,会制定好性能测试场景,如单接⼝并发、压⼒测试场景。3、然后部署好的性能测试环境,和⽣产环境等⽐资源搭建4、使⽤JMeter⼯具,配置对应接⼝场景,设定好对应场景所的⽤的定时器,使⽤ PerfMon 监控硬件资源, JMeter 的聚合报告查看软件指标5、最后总结性能结果产出报告即可

8.2 有没有测试过百万级⽤户以上的性能测试场景?简单的描述下​​​​​​​

回答:没有测试过,但是有思路(量⼒⽽⾏)。百万级⽤户对应信息有哪些,第⼀个⽤户量⼤,第⼆个数据量⼤。如果让我去测试的话,⾸先需要想清楚如何解决模拟庞⼤⽤户量的问题,其次数据如何构造的问题。针对第⼀个问题,基于测试环境也是⽆法满⾜测试的要求,可以适当的等⽐降低服务器,那同样的并发⽤户数也会降低。JMeter 的常规情况下在我们普通的执⾏机上也就2000并发了,可以通过分布式的⽅式提⾼⼀下并发数量。当然也可以使⽤其它的⽅式如:Ignareo、 IOCP等解决⽅案。针对第⼆个⼤批量测试数据的准备,可以通过编写存储过程的⽅式,也可以直接导⼊⽣产环境数据来进⾏的⽅式。数据库的层⾯的话,通常都会有缓存机制。这些问题解决了之后,其实后续测试执⾏过程个⼈觉得⼤同⼩异。

九、人事问题

9.1 如果公司录⽤你,你将怎样开展⼯作?​​​​​​​

思路:很多企业在招聘开发⼈员时很看重是否能够尽快上⼿,所以回答这个问题时要“实打实”的回答,在回答中最好强调能够“尽快”投⼊开发⼯作中,这样领导就放⼼了,会觉得你不是⼀个只会盲⽬⼯作的⼈,⽽是⼀个按部就班,稳打稳扎的⼈。
回答范例:我对咱们公司的⼤体情况只有⼀个⼤概了解,在这个职位的⼯作性质仅仅是我⾃⼰的⼀个理解。作为这个职位⽽⾔,我想我⾸先要对本公司的主营业务要有⼀个了解,了解公司的业务组成部分、业务的发展⽅向、我们⾯向的客户性质等。第⼆我要了解所属部⻔在公司中的地位,以及部⻔的⼯作⽬标,从⽽确定⾃身的⼯作努⼒⽅向。第三,了解我参与项⽬的开发⽅式,架构⽅式,紧密配合领导⼯作,尽快投⼊具体的开发⼯作中。这就是我开展⼯作的计划。

9.2 你⼯作经验⽋缺,如何能胜任这项⼯作?​​​​​​​

常规思路:①如果招聘单位对应届毕业⽣的应聘者提出这个问题,说明招聘公司并不真正在乎“经验”,关键看应聘者怎样回答。②对这个问题的回答最好要体现出应聘者的诚恳、机智、果敢及敬业。③如“作为应届毕业⽣,在⼯作经验⽅⾯的确会有所⽋缺,因此在读书期间我⼀直利⽤各种机会在这个⾏业⾥做兼职。我也发现,实际⼯作远⽐书本知识丰富、复杂。但我有较强的责任⼼、适应能⼒和学习能⼒,⽽且⽐较勤奋,所以在兼职中均能圆满完成各项⼯作,从中获取的经验也令我受益⾮浅。请贵公司放⼼,学校所学及兼职的⼯作经验使我⼀定能胜任这个职位。”点评:这个问题思路中的答案尚可,突出⾃⼰的吃苦能⼒和适应性以及学习能⼒(不是学习成绩)为好。

十、总结面试注意事项

1,在⾯试官⾯前千万不要抖脚,⼿脚不要动来动去,不能有⼩动作。

2,在⾯试过程中,千万不要跟⾯试官去争论,说话太冲,太能说、抢话说、乱说都不好,遇到难 题,先思考⼀下,切记⼼浮⽓燥,表达时⼝⽓温和,谦虚。

3,如果⾯试过程中都不错,谈的也很好,之后却没有给Offer,完全是⾃⼰意料之外的情况,这个很 有可能,或许是因为公司有了其他的⼈选,不⽤介意,更不要沮丧。

4,在⾯试过程中,切忌问关于公司计划、⾏业机密等相关的东⻄,不要打探公司的内幕,机密敏感 性的问题不要问东问⻄。

5,千万要注意仪容仪表,要有礼貌,最好不要有⼝吃,⼝头表达,逻辑思维很重要,不要让⾯试官 觉得你很幼稚,太过⼩孩⼦⽓,显的不够稳重踏实。

6,在去⾯试之前,要熟悉⾃⼰的简历,特别是⼯作经历,准备好关于⼀些离职原因、职业规划⽅⾯ 的问题的回答⽅式。

7,在⾯试过程中, 80%的⾯试官会让做⾃我介绍,所以提前要准备⼀下,说出的内容既要和简历相 符,⼜要有重点有突出的地⽅,不能像背简历⼀样。

8,⾯试完后,如果等待的时间较⻓,没有回应,就可能没有什么希望了,⾃⼰可以打电话去了解情 况。

9,在⾯试过程中,谈到薪资的时候,如果没有说明是税后⼯资就是税前,假如是税前6000,这⾥⾯ 就包括了公司给交的公积⾦,还有其他五险要交的费⽤,拿到⼿差不多4000左右。

十一、免费赠送黑马最新面试宝典

以上十部分内容全部来自《黑马软件测试面试宝典2023最新版》。整个面试宝典分为九部分,共计198道题,全面覆盖当前面试问题。现在免费完整分享

下载链接在这里(百度网盘直接分享):https://pan.baidu.com/share/init?surl=U0KshnEi_msiZul_s9zVdQ 

提取码:lfit

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

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

相关文章

【gltf-pipeline】安装gltf-pipeline 进行文件格式转换

问题 想使用gltf-pipeline进行gltf和glb格式转换。简单记录一下安装过程。 解决 1、安装Node.js Node.js下载路径:https://nodejs.org/en 建议默认设置安装。 添加系统环境变量: 测试安装是否成功: 在cmd.exe中运行: no…

self.register_buffer方法使用解析(pytorch)

self.register_buffer就是pytorch框架用来保存不更新参数的方法。 列子如下: self.register_buffer("position_emb", torch.randn((5, 3)))第一个参数position_emb传入一个字符串,表示这组参数的名字,第二个就是tensor形式的参数…

虚拟机网络没有有效的ip配置

虚拟机网络没有有效的ip配置: 原因猜测:或许是之前使用的操作系统把网络给占了。 解决方法:点击虚拟机的 遍历->网络编辑器->移除不要的网络,然后添加网络。(下面的图就是我把虚拟网络全部移除,然后…

png怎么转jpg?这款图片转格式工具一学就会用

虽然png图片格式是一种无损压缩格式,但是png图片的内存大小也是比较大的,而且兼容性上也没有jpg图片好,许多平台推荐的也都是jpg格式,所以当我们需要把png转jpg格式的时候,就需要用到图片格式转换器,今天推…

【Qt绘制小猪】以建造者模式绘制小猪

效果 学以致用&#xff0c;使用设计模式之建造者模式绘制小猪。 代码 接口&#xff1a;申明绘制的步骤 PigBuilder.h #ifndef PIGBUILDER_H #define PIGBUILDER_H#include <QObject> #include <QPainter>class PigBuilder : public QObject {Q_OBJECT public:ex…

解密Elasticsearch:深入探究这款搜索和分析引擎

•开篇 最近使用Elasticsearch实现画像系统&#xff0c;实现的dmp的数据中台能力。同时调研了竞品的架构选型。以及重温了redis原理等。特此做一次es的总结和回顾。网上没看到有人用Elasticsearch来完成画像的。我来做第一次尝试。 背景说完&#xff0c;我们先思考一件事&…

计算机中丢失mfc140u.dll怎么解决

mfc140u.dll是一个Microsoft Visual C库文件&#xff0c;主要用于MFC&#xff08;Microsoft Foundation Class&#xff09;应用程序的开发。它包含了MFC应用程序所需的一些常用功能&#xff0c;如对话框、窗口、菜单等。当mfc140u.dll丢失时&#xff0c;可能会导致MFC应用程序无…

Android MotionLayout

MotionLayout exends ConstraintLayout(动画框架 过渡) View动画 API1 属性动画API11 过渡动画API18 root.width RootViewWidth TransitionManager.beginDelayedTransition(view) 过渡动画 可以改变其大小和流畅性 Fade 可以改变透明度 通过TrasitinManager管理 Go:动态替…

vue前端实现多个url下载并合并为zip文件

一、安装 npm install jszip npm install file-saver 二、引入 import axios from axios import JSZip from "jszip"; import FileSaver from "file-saver"; 三、核心代码 videoData:[/video/26519f026fc012521605563015227403.mp4,/video/f7b9cdae14…

数字通信和fpga概述——杜勇版本学习笔记

1数字通信处理流程 脉冲调制是每个数字通信系统中间必不可少的环节&#xff0c;通常是使用升余弦滚降滤波器来实现。 超外差接收机原理是利用本地产生的振荡波与输入信号混频&#xff0c;将输入信号频率变换为某个预先确定的频率的方法。超外差原理最早是由E.H.阿姆斯特朗于1…

2023年云计算发展趋势:生活的智能未来

目录 引言1 智能家居的崭新时代2 无人驾驶的崭新时代3 虚拟现实的扩展与改进4 人工智能的综合应用5 云计算的可持续性结语 引言 时光荏苒&#xff0c;科技的飞速发展已经成为当今社会的标志之一。在这个数字化时代&#xff0c;云计算已经成为推动技术革新和生活方式改变的关键…

软件测试|Python Faker库使用指南

简介 Faker是一个Python库&#xff0c;用于生成虚假&#xff08;假的&#xff09;数据&#xff0c;用于测试、填充数据库、生成模拟数据等目的。它可以快速生成各种类型的虚假数据&#xff0c;如姓名、地址、电子邮件、电话号码、日期等&#xff0c;非常适合在开发和测试过程中…

CSS实现鼠标移至图片上显示遮罩层及文字效果

效果图&#xff1a; 1、将遮罩层html代码与图片放在一个div 我是放在 .proBK里。 <div class"proBK"><img src"../../assets/image/taskPro.png" class"proImg"><div class"imgText"><h5>用户在线发布任务&l…

FreeRTOS学习笔记(二)

一、时间片调度 1、同等优先级任务轮流地享有相同的 CPU 时间(可设置)&#xff0c; 叫时间片&#xff0c;在FreeRTOS中&#xff0c;一个时间片就等于SysTick 中断周期 /* 任务一&#xff0c;实现LED0每500ms翻转一次 */ void task1( void * pvParameters ) {uint32_t task1_n…

Java算法(六):模拟评委打分案例 方法封装抽离实现 程序的节流处理

Java算法&#xff08;六&#xff09; 评委打分 需求&#xff1a; 在编程竞赛中&#xff0c;有 6 个评委为参赛选手打分&#xff0c;分数为 0 - 100 的整数分。 选手的最后得分为&#xff1a;去掉一个最高分和一个最低分后 的 4个评委的平均值。 注意程序的节流 package c…

Spring-循环依赖简述

什么是循环依赖 // A依赖了B class A {public B b; } ​ // B依赖了A class B {public A a; } ​ // 循环依赖 A a new A(); B b new B(); a.b b; b.a a; 对象之间的相互依赖很正常&#xff0c;但是在Spring中由于对象创建要经过Bean的生命周期&#xff0c;所以就有了循环…

【广州华锐互动】气象卫星监测AR互动教学软件为气象学习带来更多乐趣

由VR制作公司广州华锐互动开发的气象卫星监测AR互动教学软件是一款结合了增强现实(AR)技术与气象监测技术的教育软件。它通过直观、互动的方式&#xff0c;帮助学生更好地理解和掌握气象监测的基本知识和技能。本文将从气象卫星监测AR互动教学软件的应用场景、优势分析、实际意…

c#如何把字符串中的指定字符删除

可以使用以下四种方法&#xff1a; 一、使用关键字&#xff1a;Replace public string Replace(char oldChar,char newChar); 在对象中寻找oldChar&#xff0c;如果寻找到&#xff0c;就用newChar将oldChar替换掉。 1、实例代码&#xff1a; 2、执行结果&#xff1a; 二、Rem…

【CesiumJS入门】(11)加载LAS点云数据

前言 最近有两次投递简历以及面试都被问到了是否有三维点云数据处理相关的经验。然而我的岗位都没有和点云相关的工作任务&#xff0c;所以还是得自己加把劲呀。 本篇将从数据获取到加载来简易地介绍一个LAS点云数据的加载。 加载数据 首先&#xff0c;你得有一份LAS格式的…

node插件MongoDB(三)—— 库mongoose 的使用和数据类型

前言 提示&#xff1a;使用mongoose 的前提是你安装了node和 MongoDB。 mongoose 官网文档&#xff1a;http://mongoosejs.net/docs/index.html 文章目录 前言一、安装二、基本使用1. 打开bin目录的mongod.exe文件2. 基本使用的代码&#xff08;连接mongodb 服务&#xff09;3.…