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

本文详细介绍了华测教育读书屋的性能测试方案,涵盖了从整体流程到各个阶段的具体实施步骤,如测试时机、背景、范围、需求分析、测试用例设计和测试策略。目标包括响应时间和错误率等关键性能指标,旨在评估系统性能、查找瓶颈并为硬件采购提供依据。
摘要由CSDN通过智能技术生成

在这里插入图片描述


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

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

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

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

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

华测教育读书屋 是一款提供小说阅读服务的系统。小说内容覆盖了言情小说、穿越架空小说等各种类型。系统功能包含:小说阅读、搜索、小说评论、书架管理、作者管理、小说编辑、收费系统、作者邀请机制等功能特性
市场上类似的产品有: 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、数据准备:

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

九、完成标准:

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

十、风险分析

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

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

在这里插入图片描述

JMeter性能测试实战项目中,可以使用JMeter工具来模拟多个用户同时访问一个网站或应用程序,以评估系统的性能和稳定性。在这个项目中,可以使用JMeter的各种功能和组件来创建测试计划、线程组、取样器、断言等,以模拟真实的用户行为并收集性能指标。 在这个项目中,可以使用引用\[1\]中提供的登录接口的入参来进行身份验证。通过在BeanShell PreProcessor中使用引用\[3\]中的Java代码,可以对用户名和密码进行Base64加密,并将加密后的结果存储在变量"auth"中。这样,在后续的请求中,可以使用这个变量来进行身份验证。 此外,还可以使用JMeter的各种监听器来监控测试过程中的性能指标,如响应时间、吞吐量、错误率等。可以根据需要设置断言来验证响应的正确性,并使用定时器来模拟不同的负载情况。 总之,JMeter性能测试实战项目可以通过模拟真实用户行为、收集性能指标和验证响应的正确性来评估系统的性能和稳定性。可以根据具体的需求和场景来配置和使用JMeter的各种功能和组件。 #### 引用[.reference_title] - *1* [项目实战!手把手教你 Jmeter 性能测试](https://blog.csdn.net/weixin_41754309/article/details/125349650)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [项目实战,手把手教你 Jmeter 性能测试](https://blog.csdn.net/m0_67695717/article/details/129757132)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲代码敲到头发茂密

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值