Raina测试学习指南Raina测试学习指南
导读
面试题
对话式面试题
AI 测试教程
软件测试教程
🌍 知识星球
学习交流群
  • Raina测试工具集
  • Raina常用网站&工具合集
  • 小红书
  • B站
  • 作者介绍
导读
面试题
对话式面试题
AI 测试教程
软件测试教程
🌍 知识星球
学习交流群
  • Raina测试工具集
  • Raina常用网站&工具合集
  • 小红书
  • B站
  • 作者介绍
  • 基础测试对话

    • 测试基础理论
    • 测试用例设计
    • 功能测试
    • 接口测试
    • 自动化测试
    • 性能测试
    • 安全测试
    • 移动端与兼容性测试
    • 测试管理与工程实践
    • 综合与开放题
    • 数据库与数据测试
    • Linux 与测试环境
    • 微服务与分布式系统
    • Web 前端专项
    • DevOps 与 CI/CD
    • 业务领域专项
    • 测试工具与效率
    • 质量度量与测试策略
    • 软技能与职业发展
    • 进阶综合题
    • 网络与 HTTP 协议(高频)
    • SQL 与数据库基础(高频)
    • 自动化落地细节(高频)
    • 缺陷与质量过程(高频)
    • 经典业务 / 场景设计题(高频)
    • Web / App 实战补充(高频)
    • 接口与联调实战(高频)
    • 性能与稳定性补充(高频)
    • 编程与工具基础(高频)
    • 行为面试与综合高频
  • AI 测试对话

    • AI 测试基础与方法论
    • 大模型(LLM)功能测试
    • Prompt 与对话质量测试
    • Agent / Skill / MCP 测试
    • RAG 与知识库测试
    • 评测体系与 Eval
    • 自动化测试与 CI/CD
    • 性能、成本与稳定性
    • 安全、合规与伦理
    • 测试工程实践与职业发展

维护成本高的自动化套件,你会怎么优化?

👔 Raina面试官: 自动化套件维护成本越来越高,跑起来还慢,你会怎么优化?

🙋 候选人:

  • 先做资产盘点:统计每条 case 近 6 个月的失败次数、修复耗时、业务价值,画出 ROI 矩阵。
  • 低价值高维护的直接删或降级为手工;重复覆盖的合并;UI 断言能下沉到接口层的就下沉。然后做技术优化:并行执行、容器化环境、去掉硬 sleep、引入 API 直接造数跳过 UI 步骤。
  • 最后建立准入机制——新 case 必须说明维护 owner 和预期运行频率,防止再次膨胀。

👔 Raina面试官: 删 case 业务方不同意怎么办?

🙋 候选人:

  • 用风险说明 + 替代方案:这条 case 测的内容已被接口 case X 覆盖,或近一年零 bug 关联。
  • 不是直接删,是先 quarantine 一个迭代观察,没问题再正式移除。让业务参与优先级评审,而不是测试单方面决定。


无代码/低代码自动化工具和传统脚本自动化怎么选?

👔 Raina面试官: 无代码/低代码自动化和传统脚本自动化,你怎么选?

🙋 候选人:

  • 低代码适合业务人员参与、场景简单、快速出 Demo的场景,比如录制回放做冒烟、运营同学生成简单校验。
  • 脚本自动化适合复杂逻辑、CI 深度集成、版本管理、自定义扩展。低代码工具往往在分支管理、复杂断言、跨系统编排上会碰到天花板。
  • 我的策略是:低代码做广覆盖的探索和临时校验,核心回归和门禁一定用代码框架,保证可维护性和 Git 管理。

👔 Raina面试官: 团队非技术背景多,全用低代码行吗?

🙋 候选人:

  • 短期可以,长期要有技术同学做平台治理——统一环境、数据、报告,否则会变成一堆跑不通的录制脚本。
  • 设定边界:低代码 case 超过一定复杂度必须转代码;定期 audit 低代码资产,清理无人维护的录制。


性能测试、压力测试、负载测试、稳定性测试有什么区别?

👔 Raina面试官: 性能、压力、负载、稳定性测试,很多人混着叫,你怎么区分?

🙋 候选人:

  • 负载测试:在预期并发下验证系统是否满足 SLA,看正常负载下的 RT 和 TPS。
  • 压力测试:逐步加压到极限,找崩溃点和降级行为。
  • 稳定性/ soak 测试:中等负载长时间运行(8-24 小时),看内存泄漏、连接池耗尽、日志打满。
  • 性能测试是总称,上面三种都是子类型。面试时能分清场景和目的,比背定义加分。

👔 Raina面试官: 一个项目时间紧,你会优先做哪种?

🙋 候选人:

  • 看上线风险:有明确 SLA 先做负载验证;担心高并发崩溃先做压力;怀疑内存泄漏做 soak。
  • 大多数互联网项目优先负载 + 短压力,稳定性可以 nightly 长跑。别三种都没做就上线。


性能测试常见的指标有哪些?

👔 Raina面试官: 性能测试常见指标有哪些?TPS、RT、并发数这些你怎么理解和使用?

🙋 候选人:

  • 核心指标我关注这几组:吞吐量(TPS/QPS)、响应时间(Avg/P95/P99 RT)、并发用户数、错误率、资源利用率。
  • RT 一定要看 P95/P99,平均值会骗人——10 个请求 9 个 50ms、1 个 5s,Avg 还是好看的。错误率在高并发下有没有飙升也很关键。
  • 资源侧看 CPU、内存、GC、IO、网络带宽、DB 连接数和慢查询,帮助定位瓶颈在哪一层。

👔 Raina面试官: TPS 越高越好吗?

🙋 候选人:

  • 不是。TPS 要在 SLA 约束下看——TPS 很高但 P99 RT 超标,用户体验照样差。
  • 还要结合业务场景:支付链路 TPS 不高但 RT 和成功率要求极严;日志上报可以 TPS 高但 RT 宽松。


性能测试的基本流程是什么?

👔 Raina面试官: 性能测试的基本流程是什么?从接到需求到出报告。

🙋 候选人:

  • 我通常走这几步:需求分析 → 场景设计 → 环境准备 → 脚本开发 → 基准测试 → 压测执行 → 监控分析 → 报告输出 → 复测验证。
  • 需求阶段明确目标和 SLA;场景设计要和业务对齐典型路径和峰值模型;基准测试在单用户下建立 baseline,再逐步加压。
  • 执行时同步看服务端监控和 APM,不是只看 JMeter 报告上的 RT。优化后必须复测确认效果。

👔 Raina面试官: 没有独立性能环境怎么办?

🙋 候选人:

  • 最低要求:隔离时段 + 限流 + 提前通知,在 test/staging 做相对压测,结论标注环境限制。
  • 可以用缩放比例推算,但必须说明假设。推动建设独立 perf 环境,用线上流量回放提升仿真度。


如何确定性能测试的目标和 SLA?

👔 Raina面试官: 性能测试的目标和 SLA 怎么定?不能拍脑袋吧?

🙋 候选人:

  • SLA 来源通常是:产品需求、历史基线、竞品体验、技术架构容量规划。
  • 具体化到:核心接口 P99 RT = 500、错误率 < 0.1%、峰值并发 X 万。
  • 没有历史数据时,先测 baseline,和产品/架构一起定可接受和不可接受两档,上线后再用真实监控校准。

👔 Raina面试官: 产品和研发对 SLA 意见不一致呢?

🙋 候选人:

  • 用用户感知数据拉齐:页面加载超过 3 秒跳出率多少、历史故障时 RT 多少。
  • SLA 写进发布 checklist,未达标走 risk assessment,而不是测试单方面拍板或放行。


性能瓶颈常见在哪些层面?

👔 Raina面试官: 性能瓶颈常见在哪些层面?CPU、内存、IO、网络、数据库你怎么排查?

🙋 候选人:

  • 我会自上而下 + 监控佐证:先看 APM 链路哪段 RT 最长,再对应到具体资源。
  • CPU 高:热点代码、正则、序列化、线程竞争。内存:泄漏、缓存过大、大对象 GC。IO:磁盘读写、日志狂打。网络:带宽、DNS、跨机房延迟。数据库:慢 SQL、锁等待、连接池不够、索引缺失。
  • 实际项目里数据库和应用层 código 问题最常见,别一上来就怀疑硬件。

👔 Raina面试官: 各项指标都正常但 RT 还是高?

🙋 候选人:

  • 查下游依赖和同步阻塞:外部 API 慢、消息堆积、线程池排队、Full GC 间歇抖动。
  • 用火焰图和分布式 trace 看时间花在哪,很多时候瓶颈在等而不是算。


慢 SQL 对性能的影响怎么定位和验证?

👔 Raina面试官: 慢 SQL 对性能影响很大,你怎么定位和验证?

🙋 候选人:

  • 定位三板斧:慢查询日志 + EXPLAIN 执行计划 + 压测前后 SQL 耗时对比。
  • 压测时打开 DB 监控,看 QPS、慢查询数、锁等待。定位到具体 SQL 后,EXPLAIN 看是否全表扫描、索引失效、回表过多。
  • 验证优化效果:同样并发下复压,对比 RT、TPS 和该 SQL 的 avg execution time,最好有 APM 的 DB span 数据。

👔 Raina面试官: 开发说 SQL 没问题,你怎么反驳?

🙋 候选人:

  • 拿压测期间的实际执行数据:这条 SQL 在峰值时 execution time 多少、扫描行数多少。
  • 在 test 库用 EXPLAIN ANALYZE 复现,或让 DBA Review。数据说话比争论有效。


性能测试环境和生产环境差异大,结果可信吗?

👔 Raina面试官: 性能环境和生产差很多,压测结果能信吗?你怎么处理?

🙋 候选人:

  • 完全等价很难,目标是趋势可信 + 风险可识别。
  • 差异点要文档化:机器规格、数据量、网络拓扑、缓存命中率、中间件版本。结论用相对 baseline 的变化而非绝对 TPS 来表述。
  • 尽量缩小 gap:生产数据脱敏采样、同版本配置、独立 perf 集群。上线后用 APM 做对比校准,修正模型。

👔 Raina面试官: 只有一台小机器做压测,结论怎么写?

🙋 候选人:

  • 明确写环境限制和推算假设:如单机 TPS 100,生产 10 台理论 1000,打折 70% 估 700。
  • 给出 risk items——哪些组件在 perf 环境没覆盖(CDN、WAF、读写分离)。让决策方知道不确定性在哪。


JMeter 和 LoadRunner / k6 等工具你怎么选?

👔 Raina面试官: JMeter、LoadRunner、k6 这些压测工具你怎么选?

🙋 候选人:

  • JMeter:开源、生态大、GUI 上手快,适合 HTTP/协议压测,但分布式和资源消耗要调。
  • LoadRunner:企业级、协议支持全、报告强大,但贵,传统 IT/金融还在用。
  • k6:脚本用 JS、CI 友好、云原生,开发者体验好,适合 DevOps 团队。
  • 选型看:预算、团队技能、协议类型、是否要 CI 集成。互联网团队新项目我倾向 k6 或 JMeter + Grafana;已有 LoadRunner 资产就延续。

👔 Raina面试官: 工具会性能测试吗?

🙋 候选人:

  • 工具只是执行器,场景设计、监控分析、瓶颈定位才是核心能力。
  • 会写 JMeter 脚本不等于会做性能测试——关键是能否从数据里读出 actionable 的结论。
最近更新: 2026/8/21 08:07
Contributors: weixin_55062269
Prev
Web / App 实战补充(高频)
Next
性能与稳定性补充(高频)