性能测试
性能测试基本概念
- 什么是性能
系统在时间、空间、资源等方面表现出来的一种非功能特性。性能测试即对系统的这些方面进行测试的过程
- 性能测试的目标
- 保障关键功能的高效率
- 具备良好的稳定性
- 可承受一定规模的压力负载
- 提供关于软硬件配置的参考依据
常见性能测试
- 响应时间、吞吐量、每秒点击次数、每秒点击次数、每秒事务数
- 用户数、最大用户数、相对并发度、绝对并发度
性能测试常见类型
- 根据测试目标划分
- 性能|负载测试:关注在一定规模的数据量、一定程度的并发访问压力的情况下,系统的综合性能表现,压力负载规模通常依照真实用户使用情况为参照
- 压力|容量测试:在加压测试之上,进一步提升访问压力、测出系统可承受的最大负载容量上限,常用于预估和判断系统综合负载能力和发现隐藏性能问题
性能测试的基本策略
- 评估用户使用模型和数据量
- 定义性能需求-评定性能通过标准
- 量化用户场景-通过模拟方式开展测试
1.用户数+操作频率+业务量->并发度+访问间隔
2.访问量+访问分布统计 ->模拟用户行为分布
3.在库数据量+预估增幅->测试数据量
4.实际系统部署架构->模拟结构的测试环境
常见性能测试流程
- 性能评估和方案制定
- 环境和执行工作准备
- 性能测试过程执行
- 性能测试结果分析
性能测试的基本流程
- 需求分析–方案设计–用例设计–环境准备–执行–数据采集–结果分析–发现问题–缺陷定位–解决方案
- 性能测试是一个迭代的过程
基准测试–负载测试–其他
并发度计算
并发用户数的计算方法(性能测试)在实际性能测试中,测试人员常常会关心到并发用户数,也就是从业务角度关注究竟应该设置多少个并发数比较合理,以下是一个估算并发用户数的方法:
(1) 计算平均的并发用户数: C = nL/T
(2) 并发用户数峰值: C’ ≈ C+3根号C
- 公式(1)中,C是平均的并发用户数;n是login session的数量(平均每天登录系统人数);L是loginsession的平均长度(平均每次用户从登录到退出的时间);T指考察的时间段长度(一天内多长时间有用户使用系统)。
- 公式(2)则给出了并发用户数峰值的计算方式中,其中,C’指并发用户数的峰值,C就是公式(1)中得到的平均的并发用户数。该公式的得出是假设用户的login session产生符合泊松分布而估算得到的。
- 实例:假设有一个OA系统,该系统有3000个用户,平均每天大约有400个用户要访问该系统,对一个典型用户来说,一天之内用户从登录到退出该系统的平均时间为4小时,在一天的时间内,用户只在8小时内使用该系统。
根据公式(1)和公式(2),可以得到:
C = 400 * 4/8 = 200
C’ ≈ 200+3 * 根号200 = 242
还有一个广泛用户并发数公式 C=n/10C^=r * C(通常r=2~3)通常用访问系统的用户最大数量的10%作为平均并发用户数