目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
1、性能指标在性能测试的作用?
性能指标在性能测试中起着非常重要的作用,它们帮助我们评估和了解系统的性能表现。
用通俗易懂的话来解释性能指标的作用和意义:
1)帮助我们了解系统的处理能力
性能指标可以告诉我们系统在给定负载下能够处理多少请求。就像一个快递小哥,他每天能够送多少个包裹,这个数字就是他的处理能力。
对于系统来说,性能指标可以告诉我们它能够处理多少个请求,这样我们就可以知道系统的处理能力是否满足我们的需求。
2)帮助我们评估系统的稳定性
性能指标还可以帮助我们评估系统在高负载情况下的稳定性。就像一辆车,我们要知道它在高速行驶时是否稳定,需要了解它的最高速度和操控性能。
对于系统来说,性能指标可以告诉我们系统在高并发情况下是否能够保持稳定,不会出现崩溃或响应变慢的情况。
3)帮助我们发现性能瓶颈和优化方向
性能指标可以帮助我们找到系统的性能瓶颈和优化方向。就像一个堵车的路口,我们需要知道是哪个地方导致了交通堵塞,才能采取相应的措施。
对于系统来说,性能指标可以告诉我们是哪个环节导致了性能问题,例如数据库响应慢、网络延迟高等,从而帮助我们找到优化的方向。
总而言之,性能指标在性能测试中帮助我们了解系统的处理能力、评估系统的稳定性,并帮助我们发现性能瓶颈和优化方向。
它们就像一个指南针,指引我们了解系统的性能表现,从而做出相应的决策和优化。
2、APP响应时间
响应时间是性能测试的关键指标之一。
完整的客户端响应时间主要包括以下组成部分
1)客户端发送请求的时间。
2)请求通过网络传输的时间。
3)请求进入服务器端队列等待处理的时间。
4)服务器处理请求的时间。
5)响应通过网络返回的时间。
6)客户端接收到响应的时间。
3、各个环节时间可以通过以下方式获取
1)客户端时间:在客户端代码记录发送请求和接收响应的时间,计算差值即为客户端时间。
2)网络时间:使用抓包工具捕获请求和响应包,计算请求和响应包在网络传输的时间差。
3)服务器队列时间:通过日志或埋点获得请求进入队列和开始处理之间的时间差。
4)服务器处理时间:通过日志、埋点获得请求处理开始到处理结束之间的时间差。
5)总响应时间:客户端自带统计,也可以通过抓包获得整个请求和响应的时间差。
4、响应时间归为三类
客户端响应时间:客户端发起请求后,从发起请求到接收到服务器响应的时间。
网络消耗时间:请求在网络中传输的时间,包括请求发送和响应接收的时间。
服务端处理时间:服务端接收到请求后,处理请求并返回响应的时间。
为了获取这些组成部分的数据,可以采用以下方法:
客户端响应时间:性能测试工具通常会提供客户端响应时间的统计数据,可以直接从测试工具的测试报告中获取。
网络消耗时间:可以使用网络抓包工具,如Wireshark,来捕获请求和响应的网络数据包,从中获取网络传输时间。
服务端处理时间:可以在服务端代码中添加日志或计时器,记录请求的处理开始时间和结束时间,计算两者的时间差即为服务端处理时间。
在实际测试中,可以使用性能测试工具来自动收集和计算这些数据。例如,在Apache JMeter中,可以使用"Response Time" Listener来获取响应时间,使用"View Results in Table" Listener来查看网络传输时间,使用日志或计时器来记录服务端处理时间。
将各个环节时间数据收集并关联起来,可以得到整个响应时间的分解情况,分析性能瓶颈所在,然后进行针对性优化。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
成功并不意味着要超过所有人,而是要成为最好的自己。相信自己的能力,坚定地走好每一步,你会发现你已经超过了很多人。
人生就像一场马拉松,不在乎速度的快慢,只在乎能否坚持到最后。无论前方有多少困难,都请你一定要挺住,因为成功就在不远处等你。
没有什么是不可能的,只有你想不想去做。只有敢想、敢做,你才有可能改变自己的命运,创造出一个全新的未来。