一般来说需求都是从需求文档中获取,但我所待过的几个公司里面,需求文档要么没有,要么不详细,要么没有及时更新。再着需求文档中对一些非功能性需求描述得清晰且完整的,非常少,
所以需要我们测试工程师自己去了解需求。
性能测试主要采集的内容有以下几个方面,这个只是个人一些总结
1.系统架构:物理架构和逻辑架构,包括对一些中间件产品与配置、数据库配置
2.采集业务并量化业务,我们在算tps的时候会用到,还有并发用户数也用得上
3.确认一些,业务的增长率,未来的业务量,性能测试是满足当前的需求,还是3年之后的需求
4.看看系统有没有归档机制,也就是会把一些数据定时迁移到另外一个库去。主要是减缓数据库的压力,有利于提高系统的性能
5.确认业务的发生时段,像滴滴打车,一天假设有20000订单,但是高峰期是早上7:00-8:00,这个时间里能完成5000单。而不是去平均到每个小时。这个就是估算tps和并发用户数要用到。
6.采集在线用户数,活动用户数,业务分布。有些系统用户量非常大,像我之前测试的一款直播的app,就要通过对活动用户的分析,业务分布(那款app还有游戏,大部分一边看一边玩一款热度高的游戏)的分析,来看负载情况
7.系统有没有第三方的系统有关系,像我之前测试的排班系统,里面的算法是阿里提供的,但是算法是异步的,等结果有些慢。这一部分就要考虑是否要测试,而且最好用程序代替第三方。总之不能依赖第三方系统
8.看看业务性能指标,比如响应时间,吞吐量
9.看看系统的硬件指标,像cpu的利用率,内存利用率