软件性能测试场景设计,系统性能测试场景规划设计方案参考.docx

系统性能测试场景规划设计

一个性能测试案例的执行成本远高于功能测试,那么如何设计性能测试场景,以最少的案例拿出能够说明

问题的结论,是所有关注性能问题的工程师的重要目标,同时也是一门工匠的艺术。

1

本文总结了社区线上交流活动“如何规划和设计高质量的系统性能测试场景”的50 余个问题,将之

分门别类的汇总、归纳、浓缩,将50 余个方方面面的知识点在最短的篇幅中展现给大家。浓缩之后的章

节如下:

性能测试策略的设计

性能测试场景的设计

性能测试环境的设计

性能测试工具的选取和设计

2

(一)性能测试策略的设计

如何制定性能测试策略?

性能测试策略需要考虑以下方面

、业务测试范围

哪些测,哪些不测。比如什么业务测、什么操作系统版本、中间件版本测。

、制定优先级规则

由于测试场景、测试案例是没办法穷举的,理论上测试是永远不可能结束的。并且,性能测试本身又牵涉

出容量测试、扩展性测试、高可用测试、压力下的异常测试等等的测试延伸,因此在给定的时间条件下,

必须制定性能测试的优先级规则,根据优先级规则划定测试范围。性能测试的进展受制于功能验证的完成、

环境准备的完成、相关工具的开发、性能问题的定位和调优等,当性能测试的计划需要变更时,可以按照

优先级规则重新选择测试范围。

3 、基本的测试方法

例如:

a)如何产生业务压力

b )如何产生用户并发

c)如何构造场景使应用系统的逻辑处理算法达到生产的计算量级

d )如何制造外围环境对被测目标的响应

3

4 、测试环境设计

设计测试环境的拓扑结构和资源配置,因为测试环境的拓扑、资源不一定和生产环境相同。

需要想清楚为什么这么设计,也就是说在这样的环境下(可能是精简的环境)可以得出可信度高的性能测

试结论。

、概要测试计划

、依赖条件

、风险

等等

其中前 4 条基本决定了项目的工作量。更直接的说,前2 条决定了测试人员可以晚上几点回家。

“测测看”是不是一个有效的测试方法?

性能测试的成本是非常高的,“测测看”往往浪费严重。性能测试必须对测试场景有提前的规划,而这个

规划的前提是对被测系统、产品有充分的了解。业务上面那些交易吞吐量大,从技术上讲哪些服务器、哪

些模块容易出现性能瓶颈,甚至对操作系统、中间件、应用软件的参数都要提前规划好。不然测了很多案

例,发现参数不合理,测试结论完全作废。当然,有时我们并不能很准确的设计每个参数,但至少要有一

个计划,我对那个参数进行调参的测试,以期测出最优的性能表现。

4

然而,“测测看”有它的可取之处,因为真正的性能表现只有测试之后才会知道,笔者比较倾向的一种方

式是,“提前规划场景,每个场景跑完之后分析结果,然后决定下一场跑不跑、跑什么、参数怎么设”。

如何模拟和感知关联系统的压力?

1 )如何模拟核心系统的正常压力

不确定你问的是哪一方面,就我的理解先回答一部分

一个交易或者请求的链路可以很长,那么,可以从这条链路中任意一个节点,采用某种压力工具进行施加

压力。比如:

a)可以模拟end user的页面操作,用Loadrunner、JMeter等性能测试工具录制用户的页面操作,采

用并发用户回放,模拟用户。

b )可以模拟应用服务器直接给数据库服务器施加压力,采用性能测试工具,建立与数据库的连接,直接

把批量的 sql 语句扔过去

c)可以直接采用数据库录制回放,把生产上录制的数据库sql 在测试环境的数据库回放。

发起压力的机器离核心系统越近,越容易控制

2 )如何感知在测试系统接入后对核心系统的压力影响

5

这个由监控来做。平常不测试的时候,核心系统有多少TPS ,多少 CPU 占用、内存占用,多少任务数,

多少网络带宽占用、磁盘IO 、业务响应时间是多少。测试的时候,这些指标增加了多少,这个感知工作由

监控来做。

去掉前端系统,直接压测后端,和真实情况有差异吗?

如果模拟的逼真,是没有任何差异的。那么问题来了,什么是模拟的不逼真?

举例 1 )生产环境某系统每秒处理100 个事务,你如果采用性能测试工具,1 个用户每秒发100 个请求,

可以模拟出系统每秒处理100 个事务。但是,假如生产环境中这100 个事务是由100 个用户发起的,那

么此时就有些差异了。首先,网络通道的连接数可能不一样,用户登录次数可能不一样,session的打开

数量,数据库连接数,数据库启动的服务进程数等等都有可能不一样。

举例 2 )生产环境中每分钟处理60 个业务,这60 个业务是匀速达到的。而你如果在性能测试的时候,在

第一秒钟把60 笔业务都发出去了,后面59 秒闲着。那么这个模拟也是非常不逼真的。

一场性能测试跑多长时间合适?

很多人一跑性能场景就跑1 个小时以上,其实跑多久完全取决于系统特点。有些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值