前言
最近这一年,对性能测试有了更多的认知。
压力、强度测试:在一定软硬件环境下,通过高负载的手段来使服务器资源(强调服务器资源,硬件资源)处于极限状态,测试系统在极限状态下长时间运行是否稳定,确定是否稳定的指标包括TPS、RT、CPU Using、Mem Using等
稳定性测试:在一定软硬件环境下,长时间运行一定负载,确定系统在满足性能指标的前提下是否运行稳定。(7*24小时)
负载测试:在一定软硬件环境下,通过不断加大负载(不同虚拟用户量)来确定在满足性能指标情况下能够承受的最大用户数。
基准测试:单个交易单个线程持续执行5分钟,对系统进行预热,对测试数据进行有效性检查,以便为后续测试做准备;
衡量软件性能的指标有哪些?
系统响应时间、TPS(Transaction Per Second)、吞吐量、资源利用率等性能指标
说说性能测试工程师需要的技能以及面试时会问的一些问题,仅供参考。。。
面试问什么?
1、性能测试流程
重点:需求分析调研、预期指标设定、场景建模、环境数据准备、监控分析;
细节:如何分析性能需求?测试的目的、范围如何界定?预期指标怎么得到?需要哪些数据和手段来评估?压测环境配置模型如何抉择?测试数据如何准备?
2、网络协议
重点:HTTP、TCP、Dubbo及其他RPC框架接口;
细节:三次握手、http和https的区别、AES和RSA的区别、RPC框架的原理、常见的RPC框架。
3、系统架构
重点:微服务、分布式、SLB、ESB;
细节:docker&K8S&Prometheus、分布式的系统,测试时要注意哪些?负载均衡实现原理?涉及到ESB类型的系统,如何进行性能测试?
4、中间件
重点:MQ&kafka、Redis、Tomcat、JVM、链路监控工具(cat、pinpoint、skywalking);
细节:MQ和kafka各自的优点、如何测试MQ的性能、Tomcat参数配置&线程池、缓存穿透&缓存雪崩、Redis的缓存淘汰算法LRU&LRU、JVM堆的构成、OOM的原理&如何监控?
5、压测&监控工具
重点:jmeter、locust、PTS、nmon、zabbix;
细节:jmeter参数化&事务控制&二次开发&分布式压测、对其他压测工具的了解及使用程度、nmon使用&二次开发、zabbix监控部署、对监控实时可视化的了解。
6、linux相关
重点:常见的监控分析命令、查看日志的几种方式、CPU的工作原理、shell脚本。
7、常见性能瓶颈分析
重点:TPS上不去、负载不均衡、高并发下大量请求报错、TPS波动大。
8、性能场景
重点:容量规划、性能基线、全链路压测。
PS:上面的问题会根据候选人具体的面试表现来针对性的提问,由浅到深,并不是全部都会问到。
成为一名合格的性能测试工程师?
1、快速学习,了解基础的理论,学习常见的压测监控分析工具;
2、在功能测试完成前提下,主动承担性能测试工作,大量实战;
3、寻找合适优秀的社区学习交流分享,思考沉淀;
下面是我整理的2022年最全的软件测试工程师学习知识架构体系图
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
没有人天生就喜欢辛苦和奔波的,但生存规则就是这么残酷,不进则退,你不能拼命努力,就只能碌碌无为。
人生就是一连串的抉择,每个人的前途与命运,完全把握在自己手中,只要努力,终会有成。就业也好,择业也罢,创业亦如此,不要活在别人的嘴里,不要活在别人的眼里,而是把命运握在自己手里。
聪明者快快乐乐地干,笨蛋抱怨着还得干,当我们无力改变事情结果的时候,一定要学会改变心态,我们不能给人物质满足,要力求给人精神满足。
版权归原作者 百度测试开发 所有, 如有侵权,请联系我们删除。