定义

强度测试(Strength Testing)是软件性能测试的一种,用于验证系统在长时间高压力、高强度条件下是否能够稳定运行。它关注的是系统在接近极限的情况下能否保持可用性,而不是瞬时吞吐或峰值性能。

强度测试是让系统在高压力、极端资源消耗或恶劣环境下长时间运行,验证系统是否会出现崩溃、内存泄漏、死锁、性能下降等问题。
它主要评估系统的 稳定性(Stability) 和 鲁棒性(Robustness)。

强度测试又称:耐久性测试(Endurance Test)、浸泡测试(Soak Test)、稳定性测试(Stability Test)

目标

  1. 检查系统在压力不断累积下是否会出问题
  2. 发现隐藏的性能瓶颈
  3. 找出资源耗尽类型缺陷(内存泄漏、线程泄漏、死锁)
  4. 评估系统的恢复能力(是否能自愈或降级)

强度测试常测哪些问题

  • 内存泄漏(memory leak)
  • 句柄泄漏(file handle / socket 不释放)
  • 线程池耗尽
  • 数据库连接池耗尽
  • 服务长期运行后响应变慢
  • CPU 持续高占用导致系统卡死
  • 缓存击穿 / 缓存雪崩
  • 日志无限增长导致磁盘满

这些都 短期压力测试无法发现。

总结

强度测试是在接近最大工作负载的情况下,长时间、持续地对系统进行测试,以发现内存泄漏等长时间运行才会暴露的问题,评估系统稳定性。