稳定性测试(也称耐久性测试/Longevity Test)通过长时间持续运行系统,有助于暴露如内存泄漏、资源耗尽、连接池枯竭等随时间累积的问题;

稳定性测试(也称耐久性测试/Longevity Test)通过长时间持续运行系统,有助于暴露如内存泄漏、资源耗尽、连接池枯竭等随时间累积的问题;

正确答案是:C
解析:

  • A 错误:负载测试的目的是验证系统在预期负载下的性能表现(如响应时间、吞吐量等),而非找出崩溃点;
  • B 错误:压力测试(Stress Testing)才是通过逐步增加负载直至系统失效,以识别系统的极限和崩溃点
  • C 正确:稳定性测试(也称耐久性测试/Longevity Test)通过长时间持续运行系统,有助于暴露如内存泄漏、资源耗尽、连接池枯竭等随时间累积的问题;
  • D 错误:性能测试必须在与生产环境尽可能一致的测试环境中进行,避免影响真实业务;生产环境仅用于极少数验证性或灰度性能评估,绝非“只能”在此进行。
综上,唯一正确的选项是 C。

负载测试、压力测试与稳定性测试虽同属性能测试范畴,但目标、方法和典型场景各有侧重:

负载测试(Load Testing)

  • 核心目标:验证系统在预期业务负载(如峰值TPS、并发用户数)下的性能表现是否满足SLA(如响应时间 ≤ 2s,错误率 < 0.1%)。
  • 典型场景
    • 电商大促前模拟“双11”预计5万并发用户下单;
    • 新版本上线前,按历史峰值流量(如每秒300笔支付请求)压测支付网关。

压力测试(Stress Testing)

  • 核心目标:探测系统极限承载能力与失效边界,识别瓶颈点(如数据库连接池耗尽、线程阻塞、OOM),并观察系统在超负荷下的恢复能力(如降级、熔断、自动重启是否生效)。
  • 典型场景
    • 持续递增并发量至系统崩溃,记录CPU达98%、响应超时率突增至100%的临界点;
    • 突然注入远超设计容量的请求(如10倍日常流量),检验容错与自愈机制。

稳定性测试(Soak Testing / Endurance Testing)

  • 核心目标:验证系统在长时间(通常≥72小时)持续负载下的可靠性,重点发现渐进式缺陷,如内存泄漏、连接泄漏、日志磁盘满、缓存击穿累积效应等。
  • 典型场景
    • 连续7天以80%峰值负载运行核心交易服务,监控JVM堆内存是否持续增长且GC无法回收;
    • 模拟用户全天候活跃(如IoT设备每5秒上报一次数据),检验消息队列积压与消费延迟趋势。

📌 补充说明:三者常组合使用——先做负载测试确认达标,再施加压力测试探边界,最后开展稳定性测试保长期可用。