这是一个非常好的问题,也是许多项目团队在开发过程中都会遇到的困惑。简单来说,对于绝大多数现代软件系统,尤其是面向公众的互联网服务,打压测试(压力测试)不是“可选项”,而是“必选项”。
下面我将从几个层面详细解释为什么,并说明哪些情况可以例外。
验证系统容量和性能上限
发现性能瓶颈和隐藏缺陷
评估系统的稳定性和可靠性
保障业务连续性和用户体验
为技术决策提供数据支撑
虽然强烈建议做,但在极少数特定场景下,优先级可以降低或形式简化:
对于任何需要服务一定数量用户、对稳定性和性能有要求的软件系统,打压测试都是保障其健壮性、可靠性和商业成功的一项至关重要的、非做不可的质量保障活动。
可以把它看作是为你的系统进行的一次“消防演习”或“体检”。平时投入的成本,是为了避免未来可能发生的、灾难性的“生产事故”。不做压力测试,就等于在黑暗中 launch(上线),将业务和用户置于巨大的风险之中。