一直感觉性能测试最难的就是性能测试需求分析,比如:给一个新项目,领导或者客户不懂性能,说:小李,我今天就要测试这个系统能承受多大压力,你给我测试一下吧,这怎么测试?需求不明确,系统涉及模块那么多,指标不明确,服务器什么配置不知道,数据库里边涉及基础数据多少,不知道,系统架构不知道,中间件是什么都不知道,系统的协议不知道,系统一天的业务量多大,一概不知道;所以性能就要去分析好多,前期需求了解越多,性能测试才能越做的好,比较准确;所以性能测试在需求阶段要弄清楚的有:
- 性能测试压测模块:系统涉及的模块,一般核心模块的80%,外围模块的60%。
- 性能测试指标:平均响应时间,TPS,服务器的CPU,内存,IO,并发用户数。
- 系统一天的业务量,根据2,8原则可以算出来TPS。
- 压测系统数据库的基础数据和测试数据。
- 压测涉及的模块外网模块都有哪些,压测过程中需不需要做挡板。
- 性能测试环境和正式环境配置,数据库基础数据,硬件以及软件配置差距有多大。
- 压测的系统架构是什么,中间件,数据库,web服务器,负载均衡怎么运作等等。
比如说下面有个需求:
系统需要压测一个商品限制词过滤,考虑到由审核测提供限制词检查接口:
由于商品数量比较大(大约3000w),并且每个商品中需审核的文本字段可能会有多个,因此需要对审核限制词检查,涉及2个接口,一个是单条限制词,一个是多条限制词检查。