性能测试必知必会
· 阅读需 11 分钟
说到性能测试,我们到底是想谈论什么?
任何做产品的,都希望自己家的产品,品质优,性能好,服务海量用户,还不出问题。
任何使用产品的,都喜欢自己购买的产品功能全,性能优,不花一分冤枉钱。
不过理想很丰满,现实很骨感。实际产品的性能与开发周期,部署方式,软硬件性能等都息息相关。所以真正提到做性能测试的场景,多数是为满足特定需求而进行的度量或调优。
比如:
- 针对交付客户的软硬件环境,提供性能测试报告,证明对客户需求的满足
- 针对特定的性能瓶颈,进行针对性测试,为问题定位提供帮助
- 重大功能迭代,架构设计上线前的性能评估
所有的这些场景,都隐含着对性能测试目标的确认,这一点非常重要。因为如果没有明确的测试目标,为了做而做,多数情况是没有价值的,浪费精力。
而性能测试的 目标一般是期望支持的目标用户数量,负载,QPS 等等,这些信息一般可以从业务负责人或者产品经理处获得。当然如果有实际的业务数据支持,也可以据此分析得出。所以在开展性能测试之前,一定要先搞清楚测试目标。
目标明确之后,如何开展性能测试?
有了性能测试目标,之后还需要进一步拆解,做到具体可执行。根据经验,个人认为性能测试的执行,最终会落地到以下两个场景:
- 在特定硬件条件,特定部署架构下,测试系统的最大性能表现
- 在相同场景,相同硬件配置下,与竞品比较,与过往分析,总结出优劣
不同的目的,做事的方式也不一样。
第一类场景,因为结果的不确定性,测试时需要不断的探索测试矩阵,找出尽可能优的结果。
第二类场景,首先需要理清楚,业界同类产品,到底比的是什么,相应的测试工具是什么,测试方法是什么。总之要在公平公正的条件下,遵循业界标准,得出测试结果,给出结论。
所有的性能测试场景,都需要有明确的分析与结论,以支持上述两个场景下的目的达成。测试场景要贴近实际的目标场景,测试数据要贴近实际的业务数据,最好就用目标业务场景下的数据来进行性能测试。