超细,软件测试面试+回答整理,面试经验分享


前言

1、项目测试-模型流程讲解

项目流程 --》H模型
项目阶段 --》V模型(用户需求分析-概要设计阶段-详细设计阶段-编码-单元测试阶段-系统集成测试阶段-验收测试阶段)
如果面试官问的是测试流程–》那么H模型左边的部分可以不讲(开发的那部分内容可以不讲)
测试阶段 --》冒烟测试阶段(执行系统主体功能相关的用例),sit系统集成测试阶段(执行所有的功能用例,接口测试用例,兼容性用例),回归测试阶段(执行回归测试用例,UI自动化用例,接口自动化用例),验收测试阶段(阿尔法验收、贝塔验收)
项目讲解 --》你讲一下最近做过的项目?你讲一下你负责过的你觉得比较复杂的项目?你讲一下你做过的印象比较深刻的项目?你讲一下你做的比较有挑战的一个项目 --》讲自己准备好的那个项目业务流程

提测==》开发把写好的代码打包并部署到测试环境,提交给测试进行测试工作
接口联调 --》前端开发和后端开发对接口进行联合调试 --》测试不参与

2、项目和产品的区别,项目和版本区别,分析项目的迭代周期和用例,bug数据,执行用例时间,开发测试比例,怎么分工的?有哪些环境,测试环境有几套

1)项目和产品的区别:先有项目,再有产品
2)项目和版本区别:一个项目可以有多个版本
3)项目的迭代周期和用例,bug数据

电商类 --》1周一次,或者双周

银行贷款类、金融保险–》1一个月左右 --》1个月一个常规版本 --》22-24天工作日

需求澄清会议+技术评审会议+用例评审会议+环境搭建+上线等 --》8天
编写用例–》6-8天 --》8天*50-100条 --》400-800条 --》500条用例左右
产生的bug数据 --》500条用例–》产出bug的比例8-15% --》40-75个bug --》50个bug左右

L1(P0,致命):–》0-3个bug–》崩溃、黑屏、闪退,存在资损的场景(转账1块,实际扣款100块;超领了优惠券)

L2(P1,严重):–》2-4个bug --》偶现的闪退和白屏,转账成功了但是没有转账记录

L3(P2,一般性):–》20-30个bug --》转账成功有记录,但是记录缺少一个字段;贷款发放统计接口显示100%,前端页面显示为99.99%;数据库有11条数据,接口显示11条,但是前端页面只展示了10条数据;

L4(P3,建议性、细微):–》8-10个bug --》页面字体大小,颜色布局不合理,页面不能适配屏幕

无效bug:–》2-4个bug --》提交了bug之后,最终经过产品认定不需要修改的bug,就属于无效bug

执行用例 --》8天+
冒烟测试阶段(执行系统主体功能相关的用例) --》0.5-1天 --》5-10条
sit系统集成测试阶段(执行所有的功能用例,接口测试用例,兼容性用例)–》4-5天 --》500+条

回归测试阶段(执行回归测试用例,UI自动化用例,接口自动化用例) --》2-3天 --》500+条
验收测试阶段(阿尔法验收、贝塔验收)–》1天左右 --》内部验收和回归差不多500+条,外部验收不确定

4)开发测试比例,测试是怎么分工的?

开发:测试=4:1或5:1 --》我们之前项目组有4个测试,20几个开发

测试是怎么分工的==》测试经理那边会按照模块进行划分
银行项目的话我主要是测信贷,有的同事测信用卡,网银,票据,柜面
电商项目的话我主要测试商品列表,营销活动,优惠券,下单交易,退换货等交易域的内容,其他的同事有测试履约域相关功能
保险项目的话我主要负责投保,承保,保单管理等,其他同事有测理赔、履约

3、测试bug

bug管理流程讲解,bug生命周期,一个完整的bug包含哪些内容?怎么区别是前端的bug还是后端的bug?你平时都是怎么去看日志的?主要看哪些内容?之前有出现哪些报错提示?偶现bug怎么处理?你认为这是一个bug,但是开发认为这不是一个bug的时候,你怎么处理?出现线上的bug你们是怎么跟踪和处理的?

1)bug管理流程讲解

我们测试过程中发现了bug,会把bug提交到bug管理工具上面,并指派给对应的开发同事,等待开发同事的修复,开发修复完成之后会流转bug状态为已修复,我们测试这边就会进行复测,复测如果没有问题,我们就会关闭bug,复测时如果发现依然存在问题,则把bug重新打开并指派给对应的开发,直至bug修复完成。

2)bug生命周期

新建 new
拒绝 reject
已修复 fixed
待测试 pending
已测试通过 reset
关闭 closed
重新打开 reopen

3)一个完整的bug包含哪些内容

bug的标题
bug的级别或严重程度
bug的优先级
bug的所属模块
bug的影响版本
bug的重现步骤
bug的实际结果和预期结果
bug的附件
bug的指派人

4)怎么区别是前端的bug还是后端的bug

例:页面有一个name字段的输入框,如果输入为空点击提交,则前端提示“您输入的内容不能为空”,但是我输入为空点击提交按钮,接口可以调通并且有正常的返回值

==》这个例子是前端bug?还是后端bug?–》前端没做非空校验,后端也没有做非空校验 --》前后端都存在问题

① 我会通过抓包工具fiddler去进行抓包,如果接口的入参和接口的返回值都没有问题,而前端页面报错,那就是前端的bug,有可能是页面渲染,或JavaScript代码写的有问题

② 如果接口的入参没有问题,但是接口返回值报错,那就属于后端的bug,但是具体是代码逻辑的问题还是数据库的问题,我会通过查看日志进一步定位 --》如何定位的,请看5)

③ 如果接口的入参本身就与我页面填写的数据不符,也就是传参存在问题,那也属于是前端的bug

5)你平时都是怎么去看日志的?主要看哪些内容?之前有出现哪些报错提示?
我平常会通过连接Linux服务器,然后通过tail -f去查看实时日志,主要看有error或者有exception报错的地方

有遇到过哪些报错 --》connection timeout连接超时、nullpointexception空指针异常(对象没有初始化)、TypeError类型错误、NameError、connection refused拒绝连接、out of memory 内存溢出等等

6)偶现bug怎么处理?

① 增加复现的次数,比如执行10次没有复现,那我就操作50次
② 在复现的时候马上去截图或者拍视频记录下来,并发给开发同事
③ 在复现的时候马上去看服务端的日志,把日志截图或复制下来给开发同事
④ 如果实在复现不了,那我们会记录这个问题,并把这个问题记录到风险里面,上报给产品经理,并在后续的版本中持续关注是否有此类问题存在

7)你认为这是一个bug,但是开发认为这不是一个bug的时候,你怎么处理?

① 我会先确认开发不认可这是一个bug的原因是什么
② 如果是我和开发对于需求的理解不一致,那我会邀请产品经理来共同讨论,最终确认bug的处理结果

③ 如果是开发根据我提交的bug流程,无法复现bug,那我会现场去给开发复现或录制复现流程发送给开发,并把bug里面的复现步骤补充的更为明确
④ 如果开发同事还是不修改话,我会把这个问题向上反馈,上报给到开发负责人或测试经理那边去推动

8)出现线上的bug你们是怎么跟踪和处理的?

① 首先会看一下出现bug的等级,并且会对bug进行复盘,如果是L3或L4对功能不会造成太大影响的bug,我们会上报给上级,上级同意之后会留到下一个版本进行修复并发布

② 如果是出现L2及以上的bug,我们会对bug进行评估,看是否会影响其他功能和模块的使用,如果影响不大,我们会紧急修复并发布紧急版本
③ 如果是出现L2及以上的bug,影响较大,我们会立即对版本进行回滚,然后在修复并发布紧急版本

面试题:你们平常测试的功能和自动化的占比是怎么样?

答:我们功能和业务测试大概占60-70%,UI自动化和接口自动化以及性能测试展示20-30%

4、加入紧急需求导致测试时间被压缩怎么处理?

① 首先我会提高自己的工作效率,主动加班去完成我的工作,但是我通过加班还是完成不了的话,我会和领导申请看有没有其他同事可以协助我完成

② 如果没有其他同事可以协助的话,我会把需求按紧急程度进行划分,先完成最紧急的需求;
【面试官:都是非常紧急的需求】
==》那我会需求当中给的主体和次主体的功能进行优先测试,然后有时间再去执行级别不是那么高的用例

③ 如果这样还是完成不了,那我会建议产品经理对本次需求进行分批次发布,先保障主体功能可以正常上线,那些可以后续优化的功能,放在后批次上线
④ 如果还是有问题,那我会上报风险

5、测试计划内容,测试总结,测试小结的内容?

面试官:你写过测试计划吗?————》写过————》有哪些内容?
测试计划 ————》测试的目的、测试的背景、测试范围、测试的约束(准入和准出)、测试的软硬件环境、测试人员的安排、测试的风险评估、测试的资产归档

测试总结————》测试经理编写的 ————》有哪些内容?————》测试的版本、测试阶段、测试的时间、测试的准入和准出标准、测试负责人、测试策略、测试范围、测试结果、测试了多少条用例,执行成功的用例有多少条,执行失败的用例有多少条、风险跟踪、bug统计、遗留bug的详细内容

测试小结(测试日报) ————》从测试阶段的第一天起,每天都需要编写的————》有哪些内容?————》测试阶段、测试进度,测试人员、测试的版本version1.3、执行的用例条数,发现的bug数量、遗留的bug数量和清单、bug的分布和测试结论、测试的风险评估、明天的计划

B站首推!软件测试面试题合集(功能/接口/自动化/简历),拿捏面试官,轻松拿offer!

下面是我整理的2025年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生最珍贵的不是终点站的掌声,而是追梦路上的每一个脚印。当你觉得疲惫时,请记住:钻石经过打磨才能璀璨,雄鹰经历断羽才能高飞。你的坚持,正在书写属于自己的传奇篇章!

别让任何人定义你的极限!你拥有的不是天花板,而是等待突破的起点。那些看似不可能的梦想,终将在你日复一日的坚持中变得触手可及。你,就是自己人生的造梦者!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值