前言:我这两天贴的文章都是关于性能测试的,所以还是想贴这篇关于性能测试的文章。绩效测试一般用的比较少,但是我们去面试的时候,肯定会被问到与绩效测试相关的问题。这篇文章怎么样?我来说说性能测试的面试问题。为什么要谈这个?是因为我一个朋友前几天去面试,面试官问他关于性能测试的问题,他答不上来。然后面试就变酸了。哈哈哈哈,不好意思幸灾乐祸。我们言归正传,不要废话了。
我给大家分享几个性能测试的面试问题,是我收集的。你可以看看。
1.常见性能测试策略3360有哪些参考答案
基准测试、并发(业务边界值)测试、综合场景测试、负载测试、疲劳测试、极限压力测试、大数据量测试。
2.完成一个性能测试项目,请阐述你的实现过程:参考答案:
测试设计阶段:
1)了解被测系统的性能要求,确定测试目标和范围;
2)了解系统的技术信息,如系统架构等。
3)确定测试计划、进度,制定测试计划、场景设置计划,以及需要收集的测试数据;
4)与相关人员协商和讨论测试计划;
5)准备数据收集模板;不同项目的不同性能测试需要不同的数据收集;专门做一个符合需求的模板;
测试环境准备:
1)技术准备;选择性能测试工具;测试方案中涉及的技术问题;测试数据收集方案的实施;比如如何监控系统资源;
2)搭建测试环境;
3)创建初始数据;例如虚拟用户使用的账号;
测试执行阶段:
1)录制脚本;
2)调试脚本;
3)执行场景;
4)收集测试数据,简单整理;
测试分析阶段:
1)分析测试数据,报告和整理。
3.性能指数:1)并发:的解释
用户同时在系统上执行操作,一般指做同样的事情或操作。
2)请求响应时间:
从客户端请求到响应的整个时间;
包括客户端响应时间、网络响应时间和服务器响应时间。
3)TPS(Transaction Per Second)
系统每秒可以处理的事务数。它是衡量系统处理能力的一个重要指标。TPS是LoadRunner中一个重要的性能参数指标。
4)资源利用率
不同资源的使用程度,例如CPU、I/O、内存、网络
4.tps在性能测试中上不去的原因是什么?1、网络带宽
在压力测试中,有时需要模拟大量的用户请求。如果单位时间内投递的数据包过大,超过了带宽的传输能力,就会造成网络资源竞争,间接导致服务器接收的请求数达不到服务器的处理能力上限。
2、连接池
可用连接数太少,导致请求等待。连接池一般分为服务器连接池(如Tomcat)和数据库连接池(或允许的最大连接数)。
3、应用问题,如垃圾回收机制
对于常见的应用服务器,比如Tomcat,java的堆栈内存是动态分配的,具体的恢复机制是基于算法的。如果在新一代的Eden和Survivor区域频繁进行Minor GC,老一代的full GC也频繁回收,也会对TPS产生一定的影响,因为垃圾收集本身会占用一定的资源。
4、数据库配置
在高并发的情况下,如果请求的数据需要写入数据库和多个表,如果数据库的最大连接数不够,或者写入数据的SQL没有索引和绑定变量,或者没有主从分离、读写分离等。数据库事务处理会太慢,会影响TPS。
5、通信连接机制
串行连接、并行连接、长连接、管道连接等。不同的连接条件也会间接影响TPS。
6、硬件资源
包括CPU(配置,利用率等。)、内存(利用率等。)、磁盘(I/O、页面交换等。).
7、压力机
比如jmeter的负载能力是有限的,如果要模拟的用户请求数超过了它的负载极限,也会间接影响TPS(这时候就需要分布式压力测量来解决它单一负载的问题)。
8、业务逻辑
业务脱钩程度较低,相对而言
复杂,整个事务处理线被拉长导致的问题。9、系统架构
比如是否有缓存服务,缓存服务器配置,缓存命中率、缓存穿透以及缓存过期等,都会影响到测试结果。
5.性能测试时,是不是必须进行参数化?为什么要创建参数?JMeter中如何创建参数?是。模拟用户真实的业务操作。
创建参数列表,用参数替换固定的文本
6.请问您是如何得到性能测试需求?怎样针对需求设计、分析是否达到需求?在查看需求文档,从中提取性能测试需求 ,制定性能测试范围;
结合业务信息设计操作历史访问记录场景总结出需测试的性能关键指标。
执行场景用例后根据提取关键性能指标来分析是否满足性能需求。
7.吞吐量和响应时间的关系?吞吐量是指正常情况下,设备能接受的最大速率
响应时间是指从指令发出到返回所用的时间
响应时间越短说明吞吐量越大。
8.Loadrunner的三大组件是什么Virtual User Generator虚拟用户生成组件,录制和调试脚本。
Controller 场景控制组件,用于设置场景,运行脚本,监控资源
Analysis 结果分析组件,用于查看脚本运行结果,分析性能测试结果
9.画出系统架构图?示意图:
由于篇幅有限,有需要的同学可以私信“资料”获取面试题哟,喜欢的记得点赞收藏加关注哟。