首页 > 文章中心 > 正文

软件压力测试方案

软件压力测试方案

背景

压力测试在于测试系统的负载能够达到的峰值是多少,也就是说系统能够承载的最大业务高峰的压力是多少。

由于模拟压力的方法比较少,因此以前系统的压力测试都是采用变通的做法:只测试主机压力、只测试前置系统压力、网关的压力等,很少通过系统本身来发起测试完成压力测试。

只模拟部分的压力测试,实际上很难准确评估整个系统的压力承载能力:

第一、作为一个完整的系统,前端、前置、网关、主机是密不可分的系统;

第二、各个单个的系统,都存在自己的瓶颈,如:并发能力、交易处理时间、错误处理时间等。不同的瓶颈组合在一起的时候,才是系统真正的瓶颈所在;可以说,独立的压力测试得到的数据比正和在一起的压力测试得到的数据要好一些。

第三、单独测试出来的结果,缺乏很多环境因素,也缺乏说服力。

压力测试数据的不准确,导致系统无法预测峰值所在,增加了系统的风险(如无法精确预测峰值,则可能会导致业务高峰大量的交易失败,引起银行客户的不满);

第四、压力测试不准确,会导致无法合理的分配资源,无法合理的使用设备。过高的估计峰值,会导致大量投资的设备没有实际的投入使用,过低的估计峰值,会引起业务风险。

目标

当发生重大系统修改之后,进行完整的压力测试,确定系统整个的承载能够不出现瓶颈,或者说瓶颈比较一致。

当前方法

通过各个部分自己来独立测试。

问题

由于各个系统相互之间会互相影响,峰值的独立测试无法准确判断系统瓶颈;

独立压力测试结果不可靠,难以作为评估负载能力的依据。

影响了安全生产和合理投资设备。购买了过大承载能力的设备,会引起资金浪费;购买了过小的设备,会引起安全运行风险,甚至事故。