性能测试完整案例,助力你在实际工作中开展性能测试

1. 引言

本性能测试案例,包括性能测试的全内容;
本文档包括引言、性能环境配置需求、性能测试计划、性能测试用例、性能测试场景共五个部分。

1.1 编写目的

  • 编写性能测试案例的目的是为了让学员彻底明白:性能测试计划、方案、用例、脚本如何编写;

1.2 性能测试包含内容

2. 性能环境配置要求

2.1 网络环境

2.1.1 网络拓扑图

1685676681343.jpg

2.2 服务器环境

2.2.1 服务器硬件
  1. 服务器数量:2台
  2. 服务器硬件配置:阿里云云主机
    1. CPU:八核
    2. 内存:16.0 G
    3. 操作系统:CentOs 7.7以上
    4. 硬盘:80 G
    5. 网络:10 M
2.2.2 数据库(主从数据库)
  1. 服务器数量:2台
  2. 服务器硬件配置:阿里云云主机
    1. CPU:四核
    2. 内存:8.0G
    3. 操作系统:CentOs 7.7 以上
    4. 硬盘:80 G
2.2.3 服务器软件
  1. JDK 版本:1.8 以上
  2. MySQL 版本:MySQL 5.5 以上
  3. WEB服务器版本:Tomcat 9.0

2.3 测试机环境

  1. 服务器数量:1台
  2. 服务器硬件配置:阿里云云主机
    1. CPU:四核
    2. 内存:8.0G
    3. 操作系统:Windows 10 / CentOs 7.7 以上
    4. 硬盘:40 G

2.4 性能测试工具

序号工具作用
1JMete 5.1.1 以上编写和执行性能测试脚本
2Nmon 性能监控工具服务器系统监控 CPU 和内存实时使用情况

3. 性能测试计划

3.1 测试背景

易飒商城是公司新开发的一个电商项目,为了保证项目上线后能够稳定运行,且在后期推广中能够承受用户快速增长,需要对项目进行性能压力测试

3.2 性能指标

性能测试指标制定依据:性能测试需求

并发量响应时间成功率吞吐量CPU内存
1500人/秒<=1500 ms>= 99.4%926<=75%<=70%

3.3 测试策略与范围

3.3.1 测试策略
  1. 确定核心业务功能的性能指标:3.2 性能指标
  2. 对核心业务的单接口进行压测
  3. 对核心业务多接口进行组合压测
  4. 系统能在实际系统运行压力的情况下,稳定运行7*24小时
3.3.2 测试范围

下方测试范围只做部分示范

编号业务功能并发量(最高)TPS响应时间
T01用户注册15001001500ms
T02用户登录15002001500ms
T03进入首页150010001500ms
T04搜索商品15004001500ms
T05查看商品详细150010001500ms
T06添加购物车15002001500ms
T07进入购物车15002001500ms
T08商品结算15001001500ms
T09提交订单15001001500ms
T10查看订单15004001500ms
T11退出登录1500501500ms

3.4 测试策略

  1. **基准测试:**先做基准测试,确定估算标准,即性能环境、性能测试指标是否合理
  2. 负载测试:
    1. 通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统的性能指标情况下,系统所能承受的最大负载测试;
    2. 分别模拟250、500、750、1000、1250、1500个用户并发对系统进行负载测试,查看不同并发树,系统软件各项指标是否符合要需求;
  3. 稳定性测试:
    1. 用1500个用户对系统进行7*24小时的不间断稳定性测试,查看服务器日志内有无异常和报错:系统软件各项指标中有无异常波动,是否存在内存溢出的问题;
    2. 验证系统长期运行的稳定性以及是否存在内存溢出之类的问题。

3.5 风险控制

风险类型风险描述风险级别应对方案
环境风险部署服务器资源协调前期使用缩小版服务器环境
数据风险构造测试数据时间较长开发人员协助完成
交付风险发现严重或难解决 BUG延长测试时间,增加技术人员

3.6 交付清单

即对应性能测试进度中每个阶段的产物;

序号内容
1性能测试计划
2性能测试方案
3性能测试用例
4性能测试脚本
5性能缺陷统计与性能测试报告
6其他(构造数据脚本、相关安装环境包等)

3.7 进度与任务

阶段事项开始时间结束时间状态参与者
需求阶段性能需求评审完成多方参与
性能测试计划
性能测试方案完成测试人员
准备阶段环境部署完成运维、测试
数据准备完成运维、测试
脚本编写完成测试人员
实施阶段执行性能测试未完成测试人员
服务端监控未完成运维、测试
数据收集整合未完成测试人员
结束编写测试报告未完成测试人员

4. 性能测试用例

4.1 性能测试用例 - 用户登录

用例名称用户登录
用例编号login_01
用例描述在1500的并发量下,TPS不低于200,响应时间不高于1500ms
前置条件 1. 用户表需要准备100万条用户数据
2. 准备100万组正确的用户登录数据
用例步骤动作预期响应时间
1填写用户名、密码、登录类型进行登录<=1500ms
事务响应
用户并发数平均响应最大响应吞吐量成功率
250
500
750
1000
1250
1500
服务器性能
用户并发数CPU 利用率内存利用率磁盘IO其他参数
250
500
750
1000
1250
1500
数据库性能
用户并发数CPU 利用率内存利用率磁盘IO其他参数
250
500
750
1000
1250
1500

4.2 性能测试用例 - 用户注册

用例名称用户注册
用例编号register_01
用例描述在1500的并发量下,TPS不低于100,响应时间不高于1500ms
前置条件 1. 备号大量未注册的用户组数据
用例步骤动作预期响应时间
1填写用户名、密码、登录类型进行注册<=1500ms
事务响应
用户并发数平均响应最大响应吞吐量成功率
250
500
750
1000
1250
1500
服务器性能
用户并发数CPU 利用率内存利用率磁盘IO其他参数
250
500
750
1000
1250
1500
数据库性能
用户并发数CPU 利用率内存利用率磁盘IO其他参数
250
500
750
1000
1250
1500

4.3 性能测试用例 - 用户退出

用例名称用户退出
用例编号exit_01
用例描述在1500的并发量下,TPS不低于50,响应时间不高于1500ms
前置条件 1. 准备100万条已经登录成功的账号数据
用例步骤动作预期响应时间
1可借助工具或代码来实现登录
2退出登录<=1500ms
事务响应
用户并发数平均响应最大响应吞吐量成功率
250
500
750
1000
1250
1500
服务器性能
用户并发数CPU 利用率内存利用率磁盘IO其他参数
250
500
750
1000
1250
1500
数据库性能
用户并发数CPU 利用率内存利用率磁盘IO其他参数
250
500
750
1000
1250
1500

5. 性能测试场景 - 脚本

5.1 使用性能测试场景的作用

  1. 单场景有利于分析性能问题,因为排除了其他业务干扰;
  2. 混合场景更贴近用户实际使用习惯,是一个综合的性能评估。
  3. 建议先做单场景测试,再做混合场景测试

5.2 单场景设计

5.2.1 用户注册
  1. 请求默认值

1685945428196.png

  1. 信息头管理器

1685945494465.png

  1. http 请求

image.png

  1. 断言

1685948110895.png

  1. 察看结果树

image.png
5.2.2 用户登录

  1. 请求默认值

1685945428196.png

  1. 信息头管理器

1685945494465.png

  1. http 请求

1685945585481.png

  1. 断言

1685945634794.png

  1. 察看结果树

1685945711697.png
5.2.3 用户退出

  1. 请求默认值

  1. 信息头管理器

1685948008864.png

  1. http 请求

1685948027839.png

  1. 断言

1685948065247.png

  1. 察看结果树

1685948251400.png

5.2 多场景设计

5.2.1 注册登录退出场景
用例名称注册登录退出业务
用例编号comp_01
用例描述在业务流程过程中,响应时间和TPS达到要求
前置条件 注册登录退出相关数据准备完成
用例步骤动作预期响应时间
1用户注册<=1500ms
2用户登录<=1500ms
3退出登录<=1500ms
事务响应
用户并发数平均响应最大响应吞吐量成功率
250
500
750
1000
1250
1500
服务器性能
用户并发数CPU 利用率内存利用率磁盘IO其他参数
250
500
750
1000
1250
1500
数据库性能
用户并发数CPU 利用率内存利用率磁盘IO其他参数
250
500
750
1000
1250
1500
5.2.2 组合场景脚本

看起来用例复杂,但是写脚本简单,组合场景就是将单场景组合起来

1685947830506.png

6. 附赠一份软件测试面试宝典

点我 >>> 软件测试高频面试题(2023全新版)你必须掌握的面试技巧

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值