性能测试项目实战
- 项目介绍和部署
- 项目背景
轻商城项目
是一个现在流行的电商项目。我们需要综合评估该项目中各个关键接口的性能,并给出优化建议,以满足项目上线后的性能需要。
- 项目功能架构
前台商城:购物车、订单、支付、优惠券等
后台管理系统:商品管理、会员管理、商场管理、推广管理等。
- 项目技术架构
前端:
Vue技术框架开发
,支持微信小程序、手机移动端、web界面
后端:SpringBoot框架开发
,MySQL做数据库
无论是前端代码,还是后端代码,都是存放在服务器
上。
- 前后端分离的项目
- 前后端不分离的项目
对比两种方式:
- 前后端分离的形式,
数据传输的效率要高很多
(JSON数据格式远小于HTML页面格式)- 前后端分离的形式,服务器不需要处理HTML页面逻辑,由
浏览器自己完成
,减轻服务器的压力
- 在
实际项目
中,主要是使用前端后分离
的形式。
- 数据库设计
作用:
- 构造测试时,监控数据库的性能指标,定位bug
- 构造测试数据。
-
微商场项目的部署过程
-
项目搭建步骤
- 获取需求
客户方提出:
- 能够提出明确需求的一般是金融、银行、电信、医疗等企业,他们一般对系统的性能要求高,并且对性能也非常了解。
根据
历史运营数据分析
,如:
用户频繁使用的功能模块是哪些
每月、每周、每天的峰值业务量是多少
竞品分析:
- 对比
同类型软件
的性能指标结果
- 提取性能测试点
业务维度提取:
用户频繁使用的业务性能
非常关键的业务功能
特殊交易日或峰值交易的业务功能
核心业务发生重大调整的业务功能
技术维度提取:
- 资源占用非常高的业务功能
- 确定性能测试目标
轻商城作为一个新开发的项目,性能测试目标包括:
- 确定核心业务功能的TPS (
单接口
)- 对业务流程(
多接口组合
)进行压测- 系统能在实际系统运行压力的情况下,
稳定的运行24小时
- 性能测试计划及方案
- 测试计划的核心内容:
测试计划的核心内容:
测试背景
测试目的
- 确定核心业务功能的TPS
- 对业务流程(多接口组合)进行压测
- 系统能在实际系统运行压力的情况下,稳定的运行24小时
测试范围
测试策略
基准测试:先做基准测试,确定估算的标准
负载测试:分别模拟5、10、30、50、100个用户对系统进行负载测试
查看不同并发时系统软件各项指标是否符合需求。
稳定性测试:用200用户对系统进行7*24小时的不间断稳定性测试。
风险控制
交付清单
速度与分工
- 性能测试计划:
性能测试计划
- 测什么
- 测试目的、测试范围
- 谁来测
- 测试的人工、进度、安排
- 怎么测
- 使用什么方法来进行
- 性能测试用例设计
性能测试用例设计
测试用例模板:
根据测试点逐条进行细化:
- 从
接口维度
来描述测试步骤- 性能测试数据,有明确要求,需要
达到一定的业务量
- 如果
两个接口强绑定
(结算、下订单),放在一个用例中间测试
- 编写测试脚本
编写测试脚本
常用测试元件:
1.取样器-HTTP请求2.配置元件-HTTP请求默认值
3.配置元件-用户定义的变量
4.后置处理器-JSON提取器
5.断言-响应数据
6.断言-JSON数据
7.监听器-查看结果树
8.监听器-聚合报告
Jmeter脚本的基本结构:
1.创建测试用例结构
2.设置HTTP请求默认值
3.用户定义的变量
4.添加监听器-查看结果树
5.添加监听器-聚合报告