强度测试
定义
强度测试(Strength Testing)是软件性能测试的一种,用于验证系统在长时间高压力、高强度条件下是否能够稳定运行。它关注的是系统在接近极限的情况下能否保持可用性,而不是瞬时吞吐或峰值性能。
强度测试是让系统在高压力、极端资源消耗或恶劣环境下长时间运行,验证系统是否会出现崩溃、内存泄漏、死锁、性能下降等问题。
它主要评估系统的 稳定性(Stability) 和 鲁棒性(Robustness)。
强度测试又称:耐久性测试(Endurance Test)、浸泡测试(Soak Test)、稳定性测试(Stability Test)
目标
- 检查系统在压力不断累积下是否会出问题
- 发现隐藏的性能瓶颈
- 找出资源耗尽类型缺陷(内存泄漏、线程泄漏、死锁)
- 评估系统的恢复能力(是否能自愈或降级)
强度测试常测哪些问题
- 内存泄漏(memory leak)
- 句柄泄漏(file handle / socket 不释放)
- 线程池耗尽
- 数据库连接池耗尽
- 服务长期运行后响应变慢
- CPU 持续高占用导致系统卡死
- 缓存击穿 / 缓存雪崩
- 日志无限增长导致磁盘满
这些都 短期压力测试无法发现。
总结
强度测试是在接近最大工作负载的情况下,长时间、持续地对系统进行测试,以发现内存泄漏等长时间运行才会暴露的问题,评估系统稳定性。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 JasmineRain's blog!
评论
