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

在这里插入图片描述


这里写目录标题

  • 一、性能测试整体流程介绍
  • 二、性能测试时机(什么时候去做?)
  • 三、测试背景(务虚:让不懂的人尽可能看懂)
  • 四、术语约定
  • 五、测试范围
    • 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.hqwc.cn/news/267955.html

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

相关文章

做数据分析为何要学统计学(6)——什么问题适合使用t检验?

t检验&#xff08;Students t test&#xff09;&#xff0c;主要依靠总体正态分布的小样本&#xff08;例如n < 30&#xff09;对总体均值水平进行差异性判断。 t检验要求样本不能超过两组&#xff0c;且每组样本总体服从正态分布&#xff08;对于三组以上样本的&#xff0…

day38-springboot-crud开发

springboot实现CRUD 一、需求 实现对一张表数据的增删改查,使用springbootssm实现后端接口代码,实现接口工具测试 二、搭建环境 2.1 数据库环境 创建数据库: springboot_crud 注意: 确定是否有该库 创建表: create table stu (id int primary key auto_increment,sname varch…

SAP中有关角色和权限的重要数据库表

1. AGR_USERS 角色与用户对应关系 2. AGR_TEXTS 角色的中文描述 3. AGR_TCODES 查询角色所有的T-code&#xff0c; 报表类型 TR 4. 用户信息USER_ADDR 5. AGR_1251 查询角色所有的T-code &#xff0c;角色对象 S_TCODE 6. USR02 查看哪些用户被锁定&#xff08;UFLAG&…

量化交易与人工智能:Python库的应用与效用

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 量化交易简介 量化交易是一种利用计算机算法执…

docker- 部署Jenkins集成Gitlab

目录 一、部署环境 二、获取镜像 三、配置maven 四、创建挂载目录 五、启动容器 六、Jenkins 初始化 七、相关插件安装与环境配置 八、Jenkins结合Gitlab进行构建及使用Gitlab钩子 一、部署环境 工具版本Docker20.10.14Jenkins2.396Gitlab14.8.2-eeJDK8、11Maven3.6…

2024年甘肃省职业院校技能大赛信息安全管理与评估赛项二三阶段样题一

2024年甘肃省职业院校技能大赛高职学生组电子与信息大类信息安全管理与评估赛项样题一 第二阶段 任务书 任务描述 随着网络和信息化水平的不断发展&#xff0c;网络安全事件也层出不穷&#xff0c;网络恶意代码传播、信息窃取、信息篡改、远程控制等各种网络攻击 行为已严重…

算法Day27 身材管理(三维背包)

身材管理&#xff08;三维背包&#xff09; Description Input Output Sample 代码 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt(); // 输入n的值int money sca…

解决方案- 材料吸波、屏蔽性能测试系统 (10MHz~500GHz)

材料吸波、屏蔽性能测试系统 &#xff08;10MHz~500GHz&#xff09; 材料电磁参数综合测试解决方案 材料吸波、屏蔽性能测试系统测试频率范围可达10MHz&#xff5e;500GHz&#xff0c;可实现材料反射率、屏蔽性能特性参数测试。系统由矢量网络分析仪、测试夹具、系统软件等组…

处理器的状态管理

在超标量处理器内部有两个状态, Architecture State 指令集定义的状态&#xff0c;例如通用寄存器的值、PC值以及存储器的值等&#xff1b;Speculative State 超标量处理器内部的状态,例如重命名使用的物理寄存器、重排序缓存(ROB)、发射队列(Issue Queue)和Store Buffer等部件…

Node.js 事件循环简单介绍

1.简介 Node.js 事件循环是 Node.js 运行时环境中的一个核心机制&#xff0c;用于管理异步操作和回调函数的执行顺序。它基于事件驱动模型&#xff0c;通过事件循环来处理和派发事件&#xff0c;以及执行相应的回调函数。 Node.js 是单进程单线程应用程序&#xff0c;但是因为…

Python入门第6篇(FastApi、uvicorn)

前言 FastApi用来开发webapi&#xff0c;可以定义路由、定义get、post方法等 但是要让浏览器可以访问webapi&#xff0c;还需要用到uvicorn&#xff0c;即web服务器&#xff0c;类似Tomcat、iis这种的 pip安装相关包 FastApi uvicorn 注意&#xff1a;可能一次安装不成功…

系列十、SpringBoot + MyBatis + Redis实现分布式缓存(基于注解方式)

一、概述 上篇文章 系列九、SpringBoot MyBatis Redis实现分布式缓存 介绍了基于xml方式实现分布式缓存的效果&#xff0c;当前大家使用的技术栈基本是springboot各种框架的组合&#xff0c;而springboot显著的一个特点就是去xml配置&#xff0c;那么在无xml配置的情形下&…