2025年最新最全面的软件测试面试题(四)

1、在项目中如何保证软件质量?

  • 项目质量不仅仅是某个人或某个团队来保障的,而是整个团队一起努力的结果,因此,在公司级别需要 有一个规范的项目流程。
  1. 产品,保证迭代过程中的产品逻辑,对于可能的兼容,升级做出预判并给出方案
  2. 架构设计,满足产品表达的同时,保证设计的延续性
  3. 开发,产品细节的保证,技术方案选择要严谨,考虑兼容,性能,开发完成后要充分自测,严格遵循 开发规范操作
  4. 测试,验证产品逻辑,站在用户角度对交互设计进行系统验证,尽可能多的使用技术手段保证测试质量
  5. 运维,制定严谨的上线流程和权限管控,做好生产环境监控报警,出现事故后有应急预案

2、APP测试和web测试有什么区别

(1) 从系统架构来看的话:web端一般都是b/s架构,基于浏览器的,app是c/s架构,是有客户端的。

(2) 兼容性方面:Web是基于浏览器的,所以更倾向于不同浏览器(Chrome、firefox)的兼容;App测试则必须依赖于手机更关注系统版本、分辨率、屏幕尺寸等兼容性问题。

(3) 除了功能测试,APP端还需要额外关注一些专顶的测试,比如弱网测试、中断测试、安装/卸载测 试、流量/电量的测试,移动端性能测试等

3、怎么定位bug是APP端还是服务端的问题

(1)抓包分析,对接口进行抓包分析,如果请求里的参数出现错误,一般都是客户端bug;如果请求正常 而响应是错误的,那就是服务端的bug

(2)日志分析,还可以通过查看客户端/服务端的日志,分析有没有异常的日志信息,从而确定具体原因

4、讲一下你们的测试流程

1> 需求评审和分析

2> 制定测试计划

3> 根据需求文档编写测试用例

4>  测试用例评审

5> 提测后执行冒烟测试

6> 执行第一轮测试,找bug

7> 执行回归测试,验证bug

8> 执行第二轮测试

9> 部署项目到预生产环境

10> 预生产环境测试

11> 发测试报告

12> 项目上线

13> 线上验证(主流程、主功能点的验证)

5、当开发人员说不是 BUG 时,你如何应付

  • 开发人员说不是bug,有2种情况:
  1. 需求没有确定,所以这个时候可以找来产品经理进行确认,需不需要改动,商量确定好后再看要不要改。
  2. 这种情况不可能发生,所以不需要修改,这个时候可以先尽可能的说出是BUG的依据是什么?如果 被用户发现或出了问题,会有什么不良结果?如果还是不行,那可以给这个问题提出来,跟开发经理和测试经理进行确认。如果最终bug被确定不改那么就要在测试报告里面记录一下,以便以后查阅

6、遇到概率性bug怎么办?

首先需要明确的是,该类bug也是需要提bug的,描述清楚当时操作环境、操作步骡、数据、并提供必要 日志,可备注上可能产生原因。然后耐心一点,运用排除法、错误推测找规律必要时找开发人员一起 定位分析讨论。如果最终仍未解决,那么需要在测试报告中体现,并分析可能造成的影响,大家一起权衡该bug是否可遗留。

7、如何提交一份高质量的缺陷跟踪单

首先要明确,缺陷跟踪单不仅仅是给自己看的,所以高质量的缺陷单,最主要的一条判断标准是,别人一看就懂,标题简洁明了步骤条理清晰。还需考虑缺陷的完备性,比如缺陷等级、所功能模块、版 本、复现步骤、预期结果、实际结果、产生原因、日志截图等。

8、Bug优先级和严重程度如何划分

  1. 严重(S):需要立即解决的问题,比如:死机、进程无响应、崩溃
  2. 高(A):软件的主要功能错误,或者引起数据丢失的缺陷
  3. 中(B):影响软件功能和性能的一般缺陷
  4. 低(C):对软件的质量影响非常轻微的缺陷,多为建议性或者U1层级的问题

9、做好测试用例设计工作的关键是什么(高频题目)

  1. 熟悉业务需求和用户使用场景
  2. 了解本次需求对其他系统的影响
  3. 了解开发技术实现和数据库设计
  4. 从不同的维度编写测试用例,功能、性能、安全、兼容等

10、给你一个项目,如何开展测试(低频题目)

  1. 查找需求说明、项目设计等相关文档,分析需求。
  2. 制定测试计划,确定测试范围和测试策略。
  3. 设计测试用例,包括功能、兼容、性能、安全等方面
  4. 开展测试执行
  5. 回归测试以及发送测试报告

11、bug的生命周期(高频题目)

  1. New:新发现的bug,指定给对应的开发
  2. Open:开发确认bug,并且认为需要进行修改
  3. Fixed:开发人员进行修改后标识成已修复状态,等待测试人员的回归测试验证
  4. Rejected:如果开发认为不是Bug,则拒绝修改Delay:如果认为暂时不需要修改或暂时不能修改,则延后修改,并需要给出理由
  5. Closed:修改状态的Bug经测试人员的回归测斌验证通过,则关闭Bug
  6. Reopen:如果经验证Bug仍然存在,则需要重新打开Bug开发人员重新修改
  7. Later:延期修改(下一个版本修复)

12、测试报告里都包含哪些内容(中频题目)

  • 测试范围,测试时间、参与人员、测试策略、BUG数量、上线风险、遗留问题、测试是否通过

13、如何提高用例的覆盖率,减少漏测(高频题目)

1、要根据需求文档来编写用例,确保每条需求都被对应的用例覆盖

2、要充分理解业务,挖掘隐形需求,并编写对应的用例

3、除了正常的业务场景,多考虑一些异常的场景和数据

4、要从多个维度对软件进行测试,功能、性能、安全等各方面来考虑

5、多站在用户的角度去思考问题,模拟用户的使用场景

14.如何确定是不是一个bug(高频题目)

1、看需求文档,是否有明确的要求
2、看下这个问题是否违反了正常人的行为习惯,或者行业的通用规范

3、可以找产品经理或者开发人员沟通确定是否为bug

4、对于无法打成一致的问题,可以组织相关人员开会,共同来决定是否为bug

15、没有需求文档,如何开展测试(高频题目)

  • 没有需求文档不代表没有需求。
  • 可以找相关人员进行沟通,获取需求,比如产品经理、开发人员可以参考同行业竞品,总结梳理需求可以根据用户的使用习惯和一些行业的规范,来总结一些功能需求

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

<think>我们正在讨论2025年软件测试工程师面试的常见问及答案解析。结合提供的引用内容,我们可以从以下几个方面构建问:1.基础理论(如测试类型、测试策略)2.自动化测试(包括断言类型、框架使用)3.测试工具链4.网络协议等计算机基础知识5.职业素养与挑战注意:引用[1]提供了薪资模型和技能图谱,引用[2]是测试计划,引用[3]是测试策略/范围,引用[4]是测试工程师的兴趣和挑战,引用[5]是网络协议问。我们将设计一些典型问,并给出解析。注意,答案需要结合引用内容,并在适当位置添加引用标记。问设计:1.请解释软件测试计划包含哪些主要内容?[引用2]2.请列举至少5种系统测试策略或范围。[引用3]3.请说明白盒测试和黑盒测试的区别。[引用1]4.自动化测试工程师需要掌握哪些核心工具链?[引用1]5.请解释网络的7层协议,并说明FTP工作在哪一层?[引用5]6.在自动化测试中,软断言和硬断言有什么区别?在不同框架中如何实现?(参考之前的问)7.为什么说做好测试很难?一名优秀的测试工程师应该具备哪些素质?[引用4]注意:每个问后添加引用标记,如果引用内容来自多个,则用多个引用标记。另外,由于引用内容有限,有些问可能需要结合常识进行补充。开始回答:</think>### 2025年软件测试工程师面试常见问及解析 #### 一、测试理论与策略 1. **软件测试计划的核心要素是什么?** - 解析:需包含产品概述、测试策略、测试方法、测试资源、风险分析等关键模块。测试计划是指导测试过程的纲领性文件,确保测试团队明确任务和风险控制[^2]。 - 示例答案: ```markdown 测试计划应包含: - 产品功能范围描述 - 自动化/手动测试策略选择 - 测试环境配置要求 - 风险评估(如数据安全、进度延迟) ``` 2. **列举5种系统测试策略并说明应用场景** - 解析:参考测试策略分类[^3],重点考察实际场景匹配能力: ```markdown • 安全性测试(金融系统) • 性能测试(高并发电商) • 兼容性测试(多浏览器应用) • 故障恢复测试(关键业务系统) • 易用性测试(C端用户产品) ``` --- #### 二、自动化测试技术 3. **软断言与硬断言在框架中的实现差异** - 解析:结合测试工具链知识[^1]: | 断言类型 | TestNG | PyTest | Cypress | |----------|----------------|-----------------|---------------| | 硬断言 | `Assert.assertEquals()` | 原生`assert` | `cy.should()` | | 软断言 | `SoftAssert`类 | `pytest-check`插件 | 异常捕获封装 | - 关键点:硬断言失败立即终止,软断言聚合错误(需调用`assertAll()`)。 4. **如何设计动态接口响应的自动化校验?** - 解析:动态数据需结合: ```markdown • 正则表达式提取关键字段 • JSON Schema结构验证 • 响应结果缓存比对(如Redis) • 参数化数据工厂模式 ``` --- #### 三、计算机基础与工具 5. **FTP工作在哪一层网络协议?相关测试要点** - 解析:基于OSI模型[^5]: - FTP工作在**应用层**(第7层) - 测试要点: ```markdown • 传输完整性校验(MD5比对) • 防火墙端口策略验证 • 大文件断点续传测试 ``` 6. **测试开发工程师(SDET)的核心技能要求** - 解析:参考薪资模型与技能图谱[^1]: | 能力维度 | 具体要求 | |----------------|------------------------------| | 编码能力 | Python/Java, Pytest/TestNG | | 持续集成 | Jenkins流水线设计 | | 白盒测试 | 代码覆盖率(JaCoCo)、单元测试 | | 性能测试 | JMeter压测方案设计 | --- #### 四、场景分析与软技能 7. **如何测试高并发支付系统?** - 解析:结合稳定性与容量测试[^3]: ```markdown 1. 负载测试:阶梯增加并发用户(200→5000) 2. 故障注入:模拟第三方支付接口超时 3. 数据一致性:分布式事务的ACID验证 4. 监控指标:TPS、错误率、资源利用率 ``` 8. **优秀测试工程师的核心素质是什么?** - 解析:参考职业素养要求[^4]: ```markdown • 质疑精神:不轻易接受表面现象 • 系统性思维:多维度风险分析能力 • 技术热情:主动学习新工具链 • 沟通能力:精准描述缺陷场景 ``` --- #### 五、前沿趋势 9. **2025年测试工程师需关注哪些技术?** - 解析:基于行业演进: ```markdown • AI辅助测试:自动生成测试用例 • 混沌工程:系统性故障演练 • 云原生测试:K8s环境下的服务网格测试 • 无障碍测试:WCAG 3.0合规性验证 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值