项目实战二——性能测试方案

news2024/11/15 17:25:31

在这里插入图片描述


这里写目录标题

  • 一、性能测试整体流程介绍
  • 二、性能测试时机(什么时候去做?)
  • 三、测试背景(务虚:让不懂的人尽可能看懂)
  • 四、术语约定
  • 五、测试范围
    • 1、调研分析:
    • 2、测试范围:
  • 六、性能需求分析
    • 1、业务模型预估(技术负责人认可):
    • 2、性能目标
      • a、业务指标
    • 3、资源占用指标
  • 七、性能测试用例
    • 1、基准测试:
      • a、用例设计:
    • 2、负载测试(不断的改变线程数量):
    • 3、压力测试(不改变线程的数量)
    • 4、性能测试用例结构:
  • 八、测试策略
    • 1、执行策略:
    • 2、指标监控测试:
    • 3、数据准备:
  • 九、完成标准:
  • 十、风险分析

一、性能测试整体流程介绍

确认性能需求——》
编写测试方案——》
配置测试环境——》
执行性能测试——》
分析测试结果——》
性能优化——》
回归分析——》
最终性能报告

二、性能测试时机(什么时候去做?)

把系统比作一匹马 载人载货(系统:服务用户)
在这里插入图片描述

三、测试背景(务虚:让不懂的人尽可能看懂)

华测教育读书屋 是一款提供小说阅读服务的系统。小说内容覆盖了言情小说、穿越架空小说等各种类型。系统功能包含:小说阅读、搜索、小说评论、书架管理、作者管理、小说编辑、收费系统、作者邀请机制等功能特性
市场上类似的产品有: 7猫小说、番茄小说等。
由于面向社会进行推广,看小说的用户日益增加,网站具备一定的访问量,需要进行性能测试来评估 读书屋性能、分析性能变化趋势、分析系统瓶颈风险、帮助规划系统容量、为硬件采购提供建议

四、术语约定

很多产品经理不懂性能,互联网公司可能懂点技术,所以要明确的技术文档
并发量: 模拟业务操作对服务器造成压力的过程,比如模拟100个虚拟的用户同时进行操作

写的越专业,性能测试做的越好

负载测试(Load Testing):在一定软硬件环境下,通过不断加大负载(不同虚拟用户数)来确定在满足性能指标的情况下能够承受的最大用户数。简单来说,可以帮助我们对系统进行定容定量,找到系统性能的拐点,给予生产环境规划建议。这里的性能指标包括TPS(每秒处理的事务数)、RT(事务平均响应时间)

一辆车\一匹马:分别施加100kg、500kg、800kg、1000kg(当施加1000kg货物时:这辆车开不动了,也表示出现拐点了)、1200kg;

压力测试(强度测试):通过高负载的手段来使服务器资源(强调服务器资源、硬件资源)处于极限状态,测试系统在极限状态下长时间运行是否稳定

负载测试和压力测试的最大区别是:
负载测试尽可能的让系统出现问题,以便让我发现问题
压力测试尽可能的让系统在长时间、满负载,运行的时候是否稳定

响应时间 (RT)
错误率:
TPS
HTP
QPS

五、测试范围

1、调研分析:

a、分析用户使用行为;
b、产品经理的帮助;
c、找架构师:提供数据支撑——》数据埋点;
d、性能测试角度:思想,测试左移;
e、强资源占用(上传、下载);

2、测试范围:

1、打开首页点击推荐的小说,看小说介绍
2、阅读小说章节
3、用户登录后,查看书架
4、用户头像修改

测试左移:
用户——》产品——》开发——》测试——》运维
占在用户、产品、开发的角度看问题

六、性能需求分析

1、业务模型预估(技术负责人认可):

在这里插入图片描述
日均UV(用户访问内容,独立访客)5000
日均PV:这个页面的总浏览量,50000
5000个人浏览了50000次

2、性能目标

a、业务指标

在这里插入图片描述

访问首页:并发量为2000时,响应时间不应该超过3s,同时失败率不能高于0.05%
操作登录时:并发量为400时,响应时间不应该超过3s,同时失败率不能高于0.05%
进入小说阅读页:并发量为1500时,响应时间不应该超过1s,同时失败率不能高于0.05%

响应时间:竞品以及产品设计
相对并发量要求:
1、生产环境的数据统计:这个比较准
2、参考集中访问,推到 并发量——》2/8原则
在这里插入图片描述

例如:中午访问了1个小时,晚上访问了2个小时,这3个小时,浏览量占用1天的80%,50000*80%=40000
40000/3/60/60=4:每秒4个请求。

性能测试要 针对 后续会增长的目标量;例如由于面向社会进行推广,看小说的用户日益增加,网站具备一定的访问量

业务量:首页:
日均UV(用户访问内容,独立访客)5000
日均PV:这个页面的总浏览量,50000
5000个人浏览了50000次

可靠性\错误率
在这里插入图片描述

3、资源占用指标

在这里插入图片描述

七、性能测试用例

在这里插入图片描述

1、基准测试:

基准测试能够提供性能指标衡量的一个理论参考数据

举例:并发为1,每秒吞吐量100/s,占用网络带宽为1M
假设生产环境服务器100M带宽,请问业务吞吐量是多少?
100*100=10000

a、用例设计:

用例1

模拟虚拟用户数为1,持续时间为30s,访问首页会调用多个接口
首页的访问- 接口测试内容——》一般的系统静态资源(图片、css、js)和动态资源是分开的;很多时候静态资源的测试和动态资源的测试也是分开的
检查响应时间是否符合要求…检查CPU占用率

用例2:

虚拟用户数1,取100篇小说,循环1000次,对小说介绍页的访问

用例3:

虚拟用户数1,持续时间30s,访问首页——》小说介绍页流程

在这里插入图片描述

2、负载测试(不断的改变线程数量):

1、线程数=绝对并发

发起请求之后,会继续请求
一个请求500ms完成,又发起一个请求500ms完成
此时:1个线程——》2个并发/s——》相对并发
一个线程在单位时间内(秒)发起的总共请求数量 = 相对并发

2、用例10:

模拟对首页的访问,总线程数:2000,初始线程数:10,每隔5分钟增加50个线程,达到2000个线程持续5分钟,然后慢慢停止。

3、压力测试(不改变线程的数量)

通过负载测试找到瓶颈
才能知道系统承载极限——》模拟并发极限数量 进行长时间的测试

4、性能测试用例结构:

在这里插入图片描述

1、流程节点——》访问的接口/资源
2、结合测试需要设定并发量和持续时间
3、性能测试预期/判定标准——》很多时候性能测试有统一的判定标准
4、最大的疑惑:以接口作为单独的性能用例设计,还是以流程为用例设计用例?

1、不可拆分的场景,多接口一起测试
2、最终仍然会针对

八、测试策略

1、执行策略:

基准测试开始时间,结束时间
负载测试开始时间,结束时间
压力测试开始时间,结束时间

2、指标监控测试:

业务指标——》通过性能测试工具自带的统计进行查看
Jmeter:汇总报告,其他插件
资源监控:linux命令、数据库系统数据,可视化集群监控…

3、数据准备:

要生成哪些数据、如何生成数据

九、完成标准:

指标达到上面要求的性能目标

十、风险分析

例如: 本次测试由于没有采用与生产环境相同的硬件配置可能和实际运行中的性能有一定差距

例如: 本次测试数据为人工生成,可能和实际的数据分布有一定的差异。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

低多边形植物模型法线贴图

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时,有几种不同的风格&#xf…

学习-面试java基础-(集合)

String 为什么不可变? 1线程安全 2支持hash映射和缓存。因为String的hash值经常会使用到,比如作为 Map 的键,不可变的特性使得 hash 值也不会变,不需要重新计算。 3出于安全考虑。网络地址URL、文件路径path、密码通常情况下都是以…

使用JLink仿真器实现调试打印的N种方法

方法一:使用MCU的串口 这是最古老也是最简单的方法。 电脑上面插一个USB转TTL,然后与MCU的UART_RX/UART_TX/GND连接起来。PC端再打开一个串口调试助手。两边的波特率一致,就可以收到MCU发过来的打印信息了。 方法二:使用JLink仿…

低功耗模式的通用 MCU ACM32F0X0 系列,具有高整合度、高抗干扰、 高可靠性的特点

ACM32F0X0 系列是一款支持多种低功耗模式的通用 MCU。集成 12 位 1.6 Msps 高精度 ADC 以及比 较器、运放、触控按键控制器、段式 LCD 控制器,内置高性能定时器、多路 UART、LPUART、SPI、I2C 等丰富的通讯外设,内建 AES、TRNG 等信息安全模块&#xff0…

初识文件系统

文章目录 1、概述2、inode结构3、block BitMap 和 inode BitMap4、软链接和硬链接4.1 硬链接4.2 软链接 5、Linux下的文件类型的 1、概述 文件存储在硬盘上,硬盘的最小存储单位叫做“扇区”(Sector)。每个扇区储存512字节 操作系统读取硬盘…

vue3 添加编辑页使用 cron 表达式生成

示例效果图 1、添加组件 <template><div class"v3c"><ul class"v3c-tab"><li class"v3c-tab-item" :class"{ v3c-active: tabActive 1 }" click"onHandleTab(1)">秒</li><li class&qu…

智能优化算法应用:基于蝙蝠算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于蝙蝠算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于蝙蝠算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蝙蝠算法4.实验参数设定5.算法结果6.参考文献7.MA…

【MQ】Rocketmq如何保证消息不丢失

文章目录 前言一、前言二、消息什么情况会丢失&#xff1f;三、如何保障消息不丢失&#xff1f;3.1、生产者端3.2、Broker端3.3、消费者端 四、总结 前言 一、前言 RocketMQ可以理解成一个特殊的存储系统&#xff0c;这个存储系统特殊之处数据是一般只会被使用一次&#xff0…

Mysql安装教程(zip版)

去官网下载&#xff1a; 我这有个5.7.9的版本&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1H6Qs2mP0vzBklmD_ID7VLg 提取码&#xff1a;8xnk 管理员cmd 到mysql安装目录的bin下面 1、mysqld --initialize-insecure --usermysql //初始化执行成功之后会生…

四六级高频词组3

目录 词组 参考链接 词组 101. by chance&#xff08;accidentally&#xff0c; by accident&#xff09;偶然 102. for a change换换环境&#xff08;花样等&#xff09; 103. charge sb. with …控告某人犯有… 104. in charge of &#xff08;responsible for&#xff…

小程序商城免费搭建之b2b2c o2o 多商家入驻商城 直播带货商城 电子商务b2b2c o2o 多商家入驻商城 直播带货商城 电子商务 鸿鹄云商

1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家平台&#xff08;H5/公众号、小程序、APP端&#xff08;IOS/Android&#xff09;、微服务平台&#xff08;业务服务&#xff09; 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

音视频技术开发周刊 | 323

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 Meta牵头组建开源「AI复仇者联盟」&#xff0c;AMD等盟友800亿美元力战OpenAI英伟达 超过50家科技大厂名校和机构&#xff0c;共同成立了全新的人工智能联盟。以开源为旗号…

c++ multimap

multimap创建 multimap<string , string> m; m.insert(make_pair("12","3234")); m.insert(make_pair("12","3234")); m.insert(make_pair("12","3234"));遍历 multimap<string , string> m; m.inser…

Nacos配置管理-nacos集群搭建

一、集群结构图 其中包含3个nacos节点&#xff0c;然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用 nginx。 二、 计划实现 --计划架构-- 3个Nacos节点&#xff1b; 3个mysql库&#xff1b; --计划节点地址-- 三、集群搭建 3.1 基本步骤 &#xff08;1&#…

Camunda 7.x 系列【60】流程分类

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 文章目录 1. 前言2. 案例演示2.1 后端2.2 前端2.3 测试1. 前言 钉钉中的OA审批分类: 企业级的业务…

SQL自学通之函数 :对数据的进一步处理

目录 一、目标 二、汇总函数 COUNT SUM AVG MAX MIN VARIANCE STDDEV 三、日期/时间函数 ADD_MONTHS LAST_DAY MONTHS_BETWEEN NEW_TIME NEXT_DAY SYSDATE 四、数学函数 ABS CEIL 和FLOOR COS、 COSH 、SIN 、SINH、 TAN、 TANH EXP LN and LOG MOD POW…

软件测试之缺陷管理

一、软件缺陷的基本概念 1、软件缺陷的基本概念主要分为&#xff1a;缺陷、故障、失效这三种。 &#xff08;1&#xff09;缺陷&#xff08;defect&#xff09;&#xff1a;存在于软件之中的偏差&#xff0c;可被激活&#xff0c;以静态的形式存在于软件内部&#xff0c;相当…

输电线路故障监测系统:实现电力传输的智能化管理

随着科技的不断发展&#xff0c;电力系统的安全稳定运行对于国家经济和人民生活至关重要。为了提高电力系统的运行效率和安全性&#xff0c;恒峰智慧科技研发的输电线路故障监测系统HFP-GZS2000应运而生。本文将介绍输电线路分布式故障定位及隐患监测装置的技术原理、功能特点以…

洗衣行业在线下单小程序源码系统:上门取货,轻松操作,简单便捷 带完整的安装部署教程

传统洗衣行业存在一些问题&#xff0c;如店面覆盖范围有限、取送时间较长、服务水平参差不齐等。随着消费升级和移动互联网技术的发展&#xff0c;消费者对于洗衣服务的需求也在发生变化。他们需要更便捷、高效、优质的服务方式。因此&#xff0c;开发一款基于移动互联网技术的…

vscode 远程连接内网服务器和通过跳板机远程连接外网服务器

1.打开vscode congfig文件&#xff0c;输入相应信息如下图 若本地没有id_rsa文件&#xff0c;可打开cmd进入.ssh目录下输入命令&#xff1a;ssh-keygen&#xff0c;创建该文件&#xff0c;会提示输入该文件保存地址以及设置秘钥密码&#xff08;最好不要设置密码&#xff0c;不…