1. 负载测试(Load Testing)、压力测试(Stress Testing)、容量测试(Capacity Testing)与稳定性/浸泡测试(Soak Test)四类性能测试的目标、指标与适用场景差异?
请说明负载测试、压力测试、容量测试与稳定性/浸泡测试四类性能测试各自的目标、核心指标与适用场景,以及它们之间的差异?
- 四类性能测试的定义与目标区分
- 各类测试关注的核心指标与加压方式
- 各类测试的适用场景与在研发流转中的位置
负载测试(Load Testing)在真实或预期负载下验证系统能否满足性能目标,关注响应时间、吞吐量与错误率,用于验证是否达到 SLA;压力测试(Stress Testing)通过逐步加压直至超过系统上限,找出系统崩溃点、瓶颈与恢复能力,关注系统在峰值/超载下的行为与最大承受能力;容量测试(Capacity Testing)在预期业务增长下确定系统能支撑的最大并发/数据量,为容量规划与扩容提供依据,关注最大并发、带宽与数据规模;稳定性/浸泡测试(Soak Test)在中等负载下长时间运行(数小时到数天),验证内存泄漏、资源耗尽、连接池耗尽等长期劣化问题,关注内存、GC、连接数等随时间的变化趋势。四者互补:负载测试回答"是否达标",压力测试回答"极限在哪",容量测试回答"能撑多少",浸泡测试回答"能否长期稳定"。
四类测试本质上是对"负载维度"的不同切面:负载测试在正常规模内加压,压力测试突破上限,容量测试面向增长预测,浸泡测试拉伸时间维度。实际工作中常以负载测试为主,压力测试发现瓶颈,浸泡测试在发布前做长时间回归验证,容量测试则结合业务增长率做规划。