哈尔滨市网站建设_网站建设公司_建站流程_seo优化
2026/1/19 20:29:30 网站建设 项目流程

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)

前言

1、性能测试特性?类型由易到难排序

1)性能测试属于专项测试 ==》和安全测试一样
2)性能测试具有非功能的特性,和功能测试是区分开来的
3)功能测试测完之后,介入到性能测试
测试类型由易到难排序 ==》功能测试,APP功能测试,接口测试,UI自动化测试,接口自动化测试,性能测试,安全测试

2、性能测试的测试流程

1)分析性能测试需求 ==》a.甲方提出的 b.通过线上客户反馈的 c.在测试当中发现的
2)编写性能测试方案和性能测试计划
3)编写性能测试用例或者设计性能测试场景

性能测试的类型:
a.并发测试 ==》抢优惠券,秒杀商品 ==》所有的用户在同一个时间调用同一个接口
b.负载测试》不断的对服务器施加压力,发现服务器的瓶颈点和拐点
c.压力测试(稳定性压力测试)
》用服务器100%的tps去稳定运行1H,2H,12H看看是否有内存溢出或者内存泄露等等
d.失效恢复测试 ==》tps会急剧下降掉到0,过一段时间又缓慢上升

4)搭建性能测试环境
5)通过badboy去录制性能测试脚本,准备性能测试数据
6)执行性能测试用例
7)得出性能测试报告和提出性能调优建议

3、性能测试当中的并发、负载、压力,失效恢复测试

a.并发测试 ==》抢优惠券,秒杀商品 ==》所有的用户在同一个时间调用同一个接口
b.负载测试》不断的对服务器施加压力,发现服务器的瓶颈点和拐点
c.压力测试(稳定性压力测试)
》用服务器100%的tps去稳定运行1H,2H,12H看看是否有内存溢出或者内存泄露等等
d.失效恢复测试 ==》tps会急剧下降掉到0,过一段时间又缓慢上升

4、并发测试里面用户的概念

1)注册用户数 ==》电商平台注册用户数为50000
2)在线用户数 ==》取1% ==》500个在线用户线
3)并发用户数 ==》并发度1-5% ==》5-25个

面试题:做并发测试的时候,并发用户数到底怎么取?
我们会采用阶梯式选择并发用户数,比如选择:5-20-40-80-100-150-200-300-500来进行并发测试

5、性能测试的指标

TPS是衡量服务器性能的唯一标准,TPS越高说明服务器性能越好,越低就越差
性能测试的目的:就是通过不断的增加用户数或者不断的增加请求对服务器施加压力,看服务器的处理能力

1)吞吐量 (throughput) ==》平均的tps ==》通过聚合报告里面的吞吐量来监控
博尔特跑1000米只需要95.8秒 ==》实际跑了120秒 ==》吞吐量
博尔特跑100米需要9.58秒 ==》瞬间的tps或者最高的tps

2)tps(transactions per second) 每秒处理的事务数 ==》瞬间的tps ==》jp@gc - Transactions per Second来监控
3)rps(requests per second) 每秒的请求数
4)hps(hits per second) 每秒的点击数
5)qps(queries per second) 每秒sql语句的查询数据或者每秒sql语句的执行数量

6)rt 接口的平均响应时间
客户端发送请求到服务器 T1
服务器处理请求 T2
服务器响应 T3
页面渲染 T4
我们要关注的接口响应时间就是T1+T2+T3,通常我们除了关注接口的平均响应时间,还会关注接口的90%line的时间
7)错误率 ==》事务的错误率低于0.1% ,事务成功率高于99.9%

8)事务
打开cms输入用户名和密码点击登录调用了1个登录接口就是一个事务 1TPS=1QPS
打开cms之后点击登录-添加用户-修改密码-删除用户-退出登录调用了5个接口也是一个事务 1TPS=5QPS

面试题:TPS和QPS有什么区别和有什么关系?
1)tps(transactions per second) 每秒处理的事务数
2)qps(queries per second) 每秒sql语句的查询数据或者每秒sql语句的执行数量
3)对于处理单接口的事务,TPS和QPS几乎是相等的,那么对于处理多接口的事务,TPS和QPS是不相等的。

6、并发测试

相对的并发测试:所有的请求,请求的时间会有一些差异
决定的并发测试:加入集合点Synchronizing Timer,让所有的请求在同一个时间发出

面试题:
1)项目组要求测出tps最高的对应的并发线程数 ==》20并发
2)项目组要求测试无错误率,接口90%line响应时间低于3秒,所支持的最佳并发线程数 ==》200并发线程数
3)项目组要求无报错,接口响应时间无要求所支持的最佳并发线程数 ==》400并发线程数

注意点:服务器的处理能力是有一个上限的或者说是有阈值的
关于TPS计算的公式 : TPS = 并发线程数/接口的响应时间【背诵】
1000TPS = 20/0.02秒
1000TPS = 100/0.1秒
1000TPS = 500/0.5秒
1000TPS = 2000/2秒
1000TPS = 5000/5秒

在限定的接口响应时间内比如3秒,TPS越高说明服务器性能越好 ==》并发线程数为10000,接口响应时间3秒,那么TPS=10000/3=3333.4/sec

7、单接口场景和混合场景负载测试

登录接口 ==》单接口场景 ==》1个接口就是一个事务
登录接口+查询接口 ==》多个接口叫做混合场景 ==》把2个变为1个事务 ==》在jmeter里面放在一个事务控制器里面

并发用户模型:不断的增加并发线程数对服务器施加压力,找服务器的拐点和瓶颈点 ==》站在客户端的角度去思考问题的

吞吐量rps模型:不断的增加请求对服务器施加压力,找服务器的拐点和瓶颈点 ==》站在服务器端的角度去思考问题的
吞吐量tps模型:不断的增加请求对服务器施加压力,找服务器的拐点和瓶颈点 ==》站在服务器端的角度去思考问题的

8、压力测试

1)持续运行1个小时看看tps是否有抖动或者毛刺出现 ==》有可能是堆内存空间太小》导致发生了频繁的fullGC》老年代内存的垃圾回收
2)是否有报out of memory等内存泄露和溢出 ==》多次内存泄露就会内存溢出
3)看load值
4)用dstat -tcmnd --disk-util查看CPU和内存和网络io和磁盘io的情况
5)vmstat 1 1000 主要查看process进程的情况和是否有阻塞
6)GC ==》garbage collection垃圾回收
7)GC ==》jstat -gcutil 16689 1000分析是否有fullgc、内存泄露和内存溢出

8、QPS、TPS、并发数、响应时间(RT)、吞吐率和吞吐量

1)QPS: 每秒钟处理完请求的次数,注意这里是处理完,单接口看做是一个事务的话,1TPS=1QPS

2)TPS:每秒钟处理完的事务次数,一般TPS是对整个系统来讲的。一个应用系统1s能完成多少事务处理,一个事务在分布式处理中,可能会对应多个请求,对于衡量单个接口服务的处理能力,用QPS比较多,TPS是衡量服务器性能的唯一指标

3)并发数:系统能同时处理的请求数
4)RT:响应时间,处理一次请求所需要的平均处理时间

5)吞吐率
我们一般使用单位时间内服务器处理的请求数来描述其并发处理能力。称之为吞吐率,单位是 “req/s”,吞吐率特指Web服务器单位时间内处理的请求数。

另一种描述,吞吐率是:单位时间内网络上传输的数据量,也可以指单位时间内处理客户请求数量。它是衡量网络性能的重要指标。通常情况下,吞吐率"字节数/秒"来衡量。当然你也可以用"请求数/秒"和"页面数/秒"来衡量。其实不管一个请求还是一个页面,它的本质都是在网络上传输的数据,那么用来表述数据的单位就是字节数。

6)吞吐量(Throughput)

吞吐量,是指在一次性能测试过程中网络上传输的数据量的总和(包含了TPS,QPS和RPS)

例子:单接口场景

QPS(TPS)= 并发数/平均响应时间 并发数 = QPS(TPS)*平均响应时间 throughput吞吐量 = jmeter的总共请求次数/运行的时间

一个典型的上班签到系统,早上8点上班。7点半到8点这30分钟的时间里用户会登录签到系统进行签到。公司员工为1000人,平均每一个员上登录签到系统的时长为5分钟。能够用以下的方法计算。

QPS(TPS) = 1000/(30x60) 事务/秒 = 0.56
平均响应时间为 = 5x60 秒
并发数= QPS(TPS)*平均响应时间 = 1000/(30x60) x(5x60)=166.7

意思就是说最低需要166.7个人同时登录签到系统进行签到,才能在30分钟内完成所有1000人的签到操作。

完整版!企业级性能测试实战,速通Jmeter性能测试到分布式集群压测教程

下面是我整理的2025年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)

人生最动人的风景,往往藏在最险峻的山巅。当你觉得力竭时,请记住:每一次坚持都在重塑更强大的自己。别问路有多远,只管迈步向前;别怕山有多高,向上攀登就是答案!

你体内沉睡着改变世界的力量!每个清晨都是改写命运的新机会,每次挫折都是精心包装的礼物。当全世界都在说"不可能"时,正是你证明"可能"的最好时机!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询