软件测试--性能测试实战篇

软件测试--性能测试实战篇

  • 项目介绍和部署
    • 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 项目搭建步骤

  1. 获取项目源代码
    • 包括前端代码和后端代码
    • 实际工作当中项目源代码由开发提供,项目所需要的配置文件、启动项目的顺序也由开发提供文档介绍
  2. 构建轻商城后端代码
    • 编译、打包
    • 打包成jar包或war包
  3. 构建前端代码
    • 使用node.js打包
    • 部署包中包含HTML、JS、CSS等文件
  4. 初始化MySQL数据库
    • 项目启动前需要先初始化数据库
    • 执行初始化数据库的sql文件
      source /usr/local/litemall/litemall-db/litemall.sql
  5. 启动轻商城后台管理系统的后端服务
    java -jar litemall-all.jar
  6. 部署轻商城前端服务
    • 可以使用Nginx服务器
  7. 通过浏览器访问启动的前端,测试项目是否能够正常运行
    在这里插入图片描述

性能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/513557.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot+vue的精简博客系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

网工内推 | 国企运维,年薪最高30W,RHCE认证优先

01 上海华力微电子有限公司 招聘岗位:系统运维资深/主任工程师 职责描述: 1、负责IT基础设施(包括服务器、存储、中间件等系统基础技术平台)的设计建设和日常运维管理; 2、负责生产、开发和测试环境的技术支持&#x…

边缘计算网关在智能工业园区中的的应用及其优势-天拓四方

边缘计算网关是一种部署在网络边缘的设备,它具备数据采集、处理、存储和传输等功能。通过集成传感器、执行器、通信模块和计算单元,边缘计算网关能够实现对物联网设备的实时监控和控制,同时优化数据传输效率,降低网络延迟&#xf…

julia语言使用PyCall包调用Python代码及Python包

Julia语言虽然好,但是包管理方面和生态环境感觉还有一点小小的缺陷,但是Julia可以调用Python丰富的包,用起来很方便。 安装PyCall 在安装之前先确认下Julia和Python的版本,我使用的稳定版本的 Julia1.6.7,Python版本是…

基于深度学习的人员指纹身份识别算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 指纹图像预处理与特征提取 4.2 卷积神经网络架构 4.3 特征编码与匹配 4.4 损失函数与训练 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程…

01:HAL库---时钟

一:前言 我们使用的是STM32F103CT86的型号 1:介绍 时钟在在我们的单片机中非常重要,相当于我们的人类的心脏;简单来说,时钟是具有周期性的脉冲信号,最常用的是占空比50%的方波; 三种不同的时钟…

UE5 UE4 开发常用工具AssetDeveTool

AssetDeveTool工具,支持UE5 5.0-.5.3 UE4 4.26/4.27 下载链接: 面包多 https://mbd.pub/o/bread/ZZubkphu 工坊: https://gf.bilibili.com/item/detail/1104960041 包含功能: 自动化批量展UV功能 快速选择功能 自动化批量减面功能…

Docker容器化解决方案

什么是Docker? Docker是一个构建在LXC之上,基于进程容器的轻量级VM解决方案,实现了一种应用程序级别的资源隔离及配额。Docker起源于PaaS提供商dotCloud 基于go语言开发,遵从Apache2.0开源协议。 Docker 自开源后受到广泛的关注和…

07 系统的线性时不变特性

各位看官,大家好!本讲为《数字信号处理理论篇》07 系统的线性时不变特性。(特别提示:课程内容为由浅入深的特性,而且前后对照,不要跳跃观看,请按照文章或视频顺序进行观看。 从本讲开始开始为大…

python | Python 中检查一个数字是否是三态数

本文来源公众号“python”,仅用于学术分享,侵权删,干货满满。 原文链接:Python 中检查一个数字是否是三态数 在数学中,三态数(Triangular Number)是一种特殊的数列,它是由自然数按…

O2O:Online Decision Transformer(ODT)

ICML 2022 paper Introduction 利用Transformer对强化学习进行序列建模在离线强化学习中展露头角,但是无法避免的是这种方法受限于离线数据的质量,因此本文将其结合到online的在线微调过程,进而形成本文ODT。为了解决从offline到online过程…

Pandas基础介绍

文章目录 Pandas简介什么是Pandas?Pandas数据结构Pandas 应用 Pandas简介 什么是Pandas? Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处…