软件测试--性能测试实战篇
- 项目介绍和部署
- 1. 轻商城项目介绍
- 1.1 背景
- 1.2 简介
- 2. 项目功能架构
- 3. 项目技术架构
- 4. 熟悉数据库设计
- 5. 轻商城项目搭建
- 5.1 准备工作
- 5.2 项目搭建步骤
- 性能测试需求分析
- 1. 性能测试需求分析
- 1.1 如何获取有效的需求
- 2. 性能测试点的提取
- 2.1 性能测试点的提取规则
- 2.2 轻商城性能测试点的提取
- 3. 确定性能测试目标
- 性能测试计划
- 1. 测试背景
- 2. 测试目的
- 3. 测试范围
- 4. 测试策略
- 4.1 基准测试
- 4.2 负载测试
- 4.3 稳定性测试
- 5. 风险控制
- 6. 交付清单
- 7. 进度与分工
- 测试用例设计
- 1. 编写性能测试用例
- 测试脚本开发
- 1. 测试脚本开发
- 1.1 常用测试元件
- 1.2 初始化工作
- 1.3 实现测试用例
- 搭建测试环境
- 1. 建立测试环境
- 1.1 性能测试环境的特点
- 1.2 如何保证测试环境与生产环境的一致性
- 2. 构造测试数据
- 2.1 构造商品数据
- 执行测试脚本
- 1. 执行测试脚本的测试机
- 2. 分布式执行
- 2.1 分布式压测条件
- 2.2 修改JMeter配置信息
- 2.3 启动执行机
- 2.4 启动控制机
- 性能测试监控
- 1. 性能测试监控关键指标
- 2. 性能监控工具
- 3. 服务器资源
- 4. MySQL监控
- 4.1 Mysql常用监控指标
- 4.2 开启MySQL慢查询日志
- 5. JVM监控
- 实例
- 登录脚本:
- 1、准备数据
- 2、修改脚本
- 3、监控性能指标
- 4、模拟并发
- 进⼊⾸⻚脚本:
- 加⼊购物⻋脚本:
- 1、数据准备⼯作:
- 2、脚本修改:
- 3、运⾏并分析结果:
- 结算并下订单脚本:
- 修改测试脚本:
- 执⾏测试脚本:
- 业务流程的测试:
- 步骤:
- 稳定性测试:
- 稳定性⽤例设计:
- 稳定性测试执⾏:
- 性能分析和调优
- 1. 性能测试瓶颈分析
- 常见性能瓶颈分析:
- 服务器资源分析 —— CPU瓶颈
- 服务器资源分析 —— 内存瓶颈
- 服务器资源分析 —— 磁盘IO瓶颈
- 服务器资源分析 —— 网络瓶颈
- 数据库瓶颈分析 —— 慢查询
- 数据库瓶颈分析 —— 数据库连接池
- 数据库瓶颈分析 —— 数据库死锁
- JAVA应用瓶颈分析 —— JVM内存
- JAVA应用瓶颈分析 —— JVM内存分析
- JAVA应用瓶颈分析 —— JVM内存监控
- 压测机瓶颈分析 —— 压测机
- 2. 性能调优
- 2.1 性能调优的步骤
- 3. 性能调优案例
- 3.1 获取首页数据
- 场景描述
- 测试结果数据
- 问题分析:
- 解决方案:
- 3.2 查看商品详情
- 场景描述:
- 测试结果数据:
- 问题分析
- 解决方案
- 3.3 搜索商品
- 场景描述
- 测试结果数据
- 问题分析
- 解决方案
- 3.4 JVM内存溢出
- 场景描述
- 测试结果数据
- 问题分析
- 解决方案
- 编写测试报告
- 编写测试报告的要点
- 测试报告核心内容:
- 1. 项目概况
- 2. 测试目的
- 3. 测试范围
- 4. 测试环境及工具
- 4.1 性能测试环境的基本配置
- 4.2 测试工具
- 5. 测试记录及结果分析
- 5.1 单场景负载测试-获取首页数据
- 场景描述
- 测试结果数据
- 问题分析
- 解决方案
项目介绍和部署
1. 轻商城项目介绍
1.1 背景
轻商城项目是一个现在流行的电商项目。我们需要综合评估该项目中各个关键接口的性能,并给出优化建议,以
满足项目上线后的性能需要。
1.2 简介
- 轻商城是一个支持web和微信小程序的前后端分离架构的项目。
- 前端使用VUE技术框架开发,即支持微信小程序,也支持手机移动端,还支持web页面。
- 后端使用了SpringBoot框架进行开发,MySQL做数据库。
- 目前还在开发完善阶段。
2. 项目功能架构
-
前台商城:
- 首页
- 专题列表、专题详情
- 分类列表、分类详情
- 品牌列表、品牌详情
- 新品首发、人气推荐
- 优惠券列表、优惠券选择
- 团购
- 搜索
- 商品详情、商品评价、商品分享
- 购物车
- 下单
- 订单列表、订单详情、订单售后
- 地址、收藏、足迹、意见反馈
- 客服
-
后台管理系统:
- 会员管理
- 商城管理
- 商品管理
- 推广管理
- 系统管理
- 配置管理
- 统计报表
3. 项目技术架构
技术栈
- 前端:VUE技术框架开发,支持微信小程序、手机移动端、web界面
- 后端:SpringBoot框架开发,MySQL做数据库
技术架构图
4. 熟悉数据库设计
作用:
- 性能测试时,监控数据库的性能指标,定位bug
- 构造测试数据
5. 轻商城项目搭建
5.1 准备工作
- 安装JDK
- 安装MySQL
- 安装Nginx
- 安装node.js
5.2 项目搭建步骤
- 获取项目源代码
- 包括前端代码和后端代码
- 实际工作当中项目源代码由开发提供,项目所需要的配置文件、启动项目的顺序也由开发提供文档介绍
- 构建轻商城后端代码
- 编译、打包
- 打包成jar包或war包
- 构建前端代码
- 使用node.js打包
- 部署包中包含HTML、JS、CSS等文件
- 初始化MySQL数据库
- 项目启动前需要先初始化数据库
- 执行初始化数据库的sql文件
source /usr/local/litemall/litemall-db/litemall.sql
- 启动轻商城后台管理系统的后端服务
java -jar litemall-all.jar
- 部署轻商城前端服务
- 可以使用Nginx服务器
- 通过浏览器访问启动的前端,测试项目是否能够正常运行