2消费者访问电商平台时间段分布

通过上图分析,业务峰值几乎在15-17点及21-23点左右,业务峰值期持续2个小时左右,若要测试稳定性,则需根据实际业务情况模拟用户应用场景。

确定性能测试评估的时间段后,需确定在该时间段内需完成的业务量,这就需要统计有多少人在这个时间段使用ECShop电商系统。统计这个数据比较难,因为各个公司运营规模不一样。这种情况下,测试工程师需根据产品团队的业务规划、产品设计给出一个参考值,比如系统初期设计规模在单天15万业务量,峰值交易5000笔、最高并发100用户(如秒杀业务)等。通过对预设业务目标的分析,可得出以下几个数据:

· 1) 峰值时间段2个小时;

· 2) 单天15万业务量访问;

· 3) 峰值交易5000笔;

· 4) 最高并发100个用户。

接着分析,满足上述需求的同时,还需要考虑业务的响应时间。被测对象的响应时间,作为一个很直观的用户体验数据,可很好的衡量被测对象是否让用户感受好,但感受好并没有一个量化的指标,只是个相对的概念。

响应时间在业内一个经验值,采用Apdex联盟的建议值:3秒、3-12秒,12秒以上。0-3秒的业务处理响应时间是非常理想的,而3-12秒则是普遍可容忍的时间,但超过12秒的响应时间,用户一般不会接受,可能选择刷新,甚至放弃操作。

这样的经验值在实际测试中对确定响应时间有很高的参考价值,当然响应时间还应该根据业务类型确定,而不能仅从用户的感官考虑。本次项目测试采用常规的5秒为目标,也就是说ECShop平台处理登陆、商品随机浏览购买等业务的服务器响应时间均不超过5秒。

单天15万业务量,表明在一天时间内总的业务量为15万,但未明确是哪些业务的数据量叠加,还是每项业务都是此要求。此处假定单项业务每天有15万的数据量。

从图2得知,用户访问并非是均分在24个小时内,因此,在没有历史数据可依据的情况下,利用经济学中的二八原则进行分析,80%的业务量集中在20%的时间段内。单天峰值时间段共有2个:15-17点,21-23点,可得如下业务量分解数据:

15*80%=12

24个小时*20%=4.8小时

4小时/4.8小时=83%

15-17点,21-23点为总考察时间段,则期望业务量值为:

12*83%=9.96

15-17点为测试考察段,则期望业务量值为:

12*2小时/4.8小时)=5

通过上述分析,需测试ECShop平台在2小时内支持5万用户登陆及商品随机浏览购买。

除了软件性能要求外,还应该对硬件资源进行监控,比如服务器CPU使用率、内存使用率、网络带宽等。如果用户需求、项目组或其他利益相关方未提出性能指标要求,则可按照行业经验,CPU使用率不超过80%、内存使用率不超过80%、网络带宽占用不超过50%等。CPU使用率超过80%表明CPU应用繁忙,如果持续维持在90%甚至更高,很可能导致机器响应慢、死机等问题。当然,过低也不好,说明CPU比较空闲,可能存在资源浪费的问题。对于内存存在同样的问题。当然,80%只是一个经验值,最终的性能测试指标需经过评审才能最终确定。

通过上述业务数据分析,最终得到本次测试的性能需求指标如表3所示:

3 ECShop平台性能需求指标

测试项响应时间业务成功率业务量并发测试CPU使用率内存使用率登陆<=5100%2小时5万次100<=80%<=80%随机购买商品<=5100%2小时5万次100<=80%<=80%

得出本次测试的性能参考指标后,测试工程师即可进行性能测试模型的建立。