性能测试面试题总结

最近这一年,对性能测试有了更多的认知。

压力、强度测试:在一定软硬件环境下,通过高负载的手段来使服务器资源(强调服务器资源,硬件资源)处于极限状态,测试系统在极限状态下长时间运行是否稳定,确定是否稳定的指标包括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、寻找合适优秀的社区学习交流分享,思考沉淀;

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在使用JMeter进行性能测试时,可以采取以下几种优化策略: 1. 使用非GUI模式进行测试,这样可以减少资源消耗并提高性能。可以通过命令行运行JMeter,例如使用命令"jmeter -n -t test.jmx -l test.jtl"来执行测试脚本。 2. 尽可能少地使用监听器,因为监听器会消耗大量的资源。在负载测试期间,可以不使用"查看结果树"或"在表中查看结果"监听器,仅在脚本编写阶段使用它们来调试脚本。 3. 对于相似的请求,在循环中最好使用同一个采样器,并结合CSV Data Set Config来改变样本,而不是使用多个相似的采样器。 4. 避免使用功能模式,因为功能模式会增加额外的开销。可以选择使用性能测试模式来进行测试。 5. 使用CSV输出而不是XML,因为CSV输出文件的大小较小,读取和分析速度更快。 6. 仅保存需要的数据,避免保存大量不必要的数据,以减少资源消耗。 7. 尽可能少地使用断言,因为断言会增加额外的开销。可以选择使用少量的断言来验证关键指标。 8. 使用性能最佳的脚本语言,例如使用Groovy脚本语言来编写脚本,因为Groovy具有更好的性能和灵活性。 关于JMeter的性能测试流程,可以采取以下步骤: 1. 确定测试目标和需求,包括测试的目标系统、测试的负载和并发用户数等。 2. 编写测试计划,包括添加线程组、配置目标系统的服务器信息、设置负载模式和持续时间等。 3. 添加需要测试的接口请求,并配置请求的参数、头部信息和断言等。 4. 配置监听器,用于收集和分析测试结果,例如聚合报告、图形结果等。 5. 运行测试计划,并监控测试过程中的性能指标和系统资源使用情况。 6. 分析测试结果,包括查看响应时间、吞吐量、错误率等指标,并根据结果进行性能优化和调整。 7. 根据测试结果生成测试报告,并进行总结和反馈。 以上是关于JMeter做性能测试的一些面试题的回答。希望对您有帮助。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [高频JMeter软件测试面试题](https://blog.csdn.net/weixin_44867191/article/details/127298638)[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* [高频Jmeter软件测试面试题](https://blog.csdn.net/wx17343624830/article/details/127290677)[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 ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值