+ [一、Python编程入门到精通](#Python_80)
+ [二、接口自动化项目实战](#_83)
+ [三、Web自动化项目实战](#Web_86)
+ [四、App自动化项目实战](#App_89)
+ [五、一线大厂简历](#_92)
+ [六、测试开发DevOps体系](#DevOps_95)
+ [七、常用自动化测试工具](#_98)
+ [八、JMeter性能测试](#JMeter_101)
+ [九、总结(尾部小惊喜)](#_104)
前言
性能测试流程
1、分析性能需求,确定测试目标
性能指标可由产品经理或项目经理制定,或通过日志监控分析确定性能测试场景以及指标。
例如:事务通过率为 100%,TOP99% 在 5000ms 以内,最大并发用户数为 1000 人,CPU 和内存的使用率在 70% 以下。
2、制定性能测试计划
制定性能测试策略,包括测试范围、测试环境、测试数据和负载配置等。
确定测试的时间(通常在功能稳定后,如第一轮测试后进行)和资源限制,制定测试计划的时间表和里程碑。
3、编写测试方案
选择适合的性能测试工具,如 JMeter、LoadRunner 等。选择适当的监控工具,用于监测系统资源使用情况和性能指标。
4、搭建 / 确认测试环境,准备测试数据
搭建符合测试需求的环境,包括硬件、软件、网络和数据库等。
配置测试服务器、负载发生器和监控工具,确保准备就绪。
5、编写性能测试脚本
根据测试场景和负载类型,编写测试脚本,定义用户操作和事务流程。
设置性能测试工具的参数,如并发用户数、请求频率等。
6、性能测试脚本调优(脚本增强)
设置检查点、参数化、关联、集合点、事务、调整思考时间,删除冗余脚本。
7、分析和优化
对测试结果进行分析,识别性能瓶颈和问题所在,根据分析结果,提出优化建议和解决方案。收集相关数据和日志信息提单给开发同学。
8、回归测试
进行性能调优和优化测试,验证改进措施的有效性。同时业务测试也要回归,避免优化性能后影响功能的正常使用。
9、编写测试报告
撰写性能测试报告,总结测试结果和分析,包括性能指标和问题列表。
提供优化建议和改进措施,供开发团队参考和实施。
将报告交付给相关团队和利益相关者,进行讨论和反馈。
10、进行持续性能监控
在系统上线后,进行定期的性能监测和测试,确保系统的稳定性和可靠性。
根据实际使用情况和变化的需求,及时调整和优化系统的性能。
性能测试学习路线(重要)
1、理解基本概念和原理
学习性能测试的基本概念,例如性能指标、负载、吞吐量、响应时间等。
了解性能测试的重要性,以及如何评估系统的性能和稳定性。
2、掌握性能测试工具
选择一款常用的性能测试工具,推荐 JMeter,学习性能测试工具的基本原理和使用方法。
例如:JMeter 常用的组件和元件、JMeter 实现参数化的三种方法、JMeter 响应结果断言和 cookie 管理器、同步计时器实现并发场景、接口关联性之正则表达式和 JSON 表达式提取器、JMeter 服务器资源监控和聚合报告分析等。
3、工具增强
由于图形化压测需要消费资源,所以可以使用命令行脱离图形进行压测。当单机 JMeter 提供压力不够时,可以学学分布式压测。
JMeter 还可以学习基于 Beanshell 等第三方插件方式做二次开发,还可以将编写和调试好的脚本丢到 Linux 非 GUI 环境中执行,解决 Jmeter 在 Windows 环境下套接字太多,负载过大的痛点。
4、分层监控学习
简单的使用命令(例如 Linux 命令 df、du、free、netstat 等)监控服务器资源,包括 CPU、内存、磁盘、网络等,会指标分析。
如果感觉不够直观,还可以学习如何搭建 Prometheus+Exporter+Grafana 进行图形化界面展示指标,也可以监控硬件和数据库。除此之外,还可以学习下 SkyWalking 做分布式链路监控,并结合钉钉做报警机制。
5、性能瓶颈分析
学会分析常见的性能问题,例如:CPU 飙升如何定位到代码级别、接口响应时间过长怎么分析、慢查询 SQL 问题等。
简单来说,性能测试不达标就要判断是代码问题还是服务器资源问题,例如:通过监控系统的物理资源,发现 CPU 占用 100%,或者内存占满,带宽打满等就大概率是服务器资源问题,就提单子给运维同学。
如果 CPU、内存、带宽等都达标,测试发现还有性能问题,那就是开发问题,就要指派给开发去处理。
还可以通过工具如 Arthas 定位代码链路问题,总之到这个段位水就比较深了,常常需要跟开发同学配合一起发现解决问题。
6、性能测试平台开发
到这一阶段基本属于性能测试中的大佬了,一方面需要懂性能测试的原理,另一方面需要会前后端开发技术栈,例如:前端 Vue,后端 SpringBoot、MyBatis 等。专门做全链路压测平台的一般都是互联网大公司…
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
lV8j0-1726043482392)]
[外链图片转存中…(img-8k9pRzSG-1726043482393)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。