1、性能测试的流程是什么?

    需求调研-环境搭建-脚本编写-准备数据-执行测试-回归调优-测试报告

2、什么是关联?在什么情况下需要做关联?

    关联是将服务器返回的数据通过一定的规则过滤出来,将其保存成参数,以供后续代码中使用当服务器返回的数据是动态变化的,且后续脚本中需要使用这个变化的数据时,才需要做关联

3、Jmeter中怎么写Java脚本,简要说下步骤

    a)通过eclipse等工具手动编写一个Java类,实现JavaSamplerClient接口b)将要写的代码放到JavaSamplerClient接口对应的实现方法中,如果需要暴露出参数,将参数添加到getDefaultParameters方法中c)脚本调试通过后,将写好的脚本达成runnable jar,将jar包和依赖的lib文件夹放到Jmeter的lib/ext下,重启Jmeterd)在Jmeter中添加JavaSampler,选择jar包中的测试类

4、一般在什么情况下会在Jmeter中使用BeanShell

    a)被测接口调用前需要对参数做一些逻辑处理,可以使用BeanShell前置处理器b)需要对接口的返回值做一些逻辑判断,可以使用BeanShell断言

5、怎么根据线下环境评估线上环境的性能

    a)首先线下必须要有专门的性能测试环境b)线下环境单台机器配置和线上不能相差很大,可以通过单台的机器性能推算出多台机器性能(需考虑一定的性能损耗)c)如果线下机器配置很差,只能测试出程序有无性能问题,这样线下测试出来的数据对线上没有太大参考意义d)如果想获取比较准确的线上性能情况,建议最好做线上的性能测试

6、对于Linux系统,主要的监控指标有哪些?他们的各自阈值是多少?

 cpu使用率:<80%load值:<cpu的核数系统内存:使用率<80%磁盘IO:<100%-90%网络IO:<带宽上限

7、线程都有几种状态?哪些状态需要关注?

    线程状态:runnable、waitting、timed-waitting、blocked、terminated最影响性能的是blocked状态(阻塞,锁)的线程,timed-waitting(限时等待)

8、Jvm中持久代(方法区)中主要存放什么数据?老年代主要存放什么数据?

    持久代中主要存放静态数据、常量、类的基本信息等老年代中主要存放对象的实例和数组等

9、应用服务器cpu高和数据库服务器cpu高的分析思路是什么?

    应用服务器的cpu高,先要看tps和响应时间,如果tps比较高,我们认为是正常的cpu消耗;如果tps比较低,那么往往某些代码过于消耗cpu,可以考虑使用jprofiler分析下数据库服务器cpu高,往往是因为sql语句执行效率比较低,可以通过对数据库慢查询是监控,结合执行计划进行分析,是否是相关表没有索引或索引未生效

10、出现内存泄露的根本原因是什么?你是怎么定位内存泄露原因的?

    内存泄露的根本原因是Jvm中老年代中存在着大量存活的对象,这些对象不能被GC回收掉,从而占满了整个老年代,造成Jvm一直处于FGC的状态,程序没有响应,服务器报OOM错误内存泄露主要通过分析老年代中占用空间最大的类都有哪些,然后去代码中找对应的类的创建。通常可以使用jdk提供的jvisualvm和jmap进行堆内存的分析

11、tps压不上去,可能有哪些方面的原因?

    a)压力机本身性能瓶颈b)网络IO瓶颈c)中间件(tomcat/nginx/mysql)连接数限制b)Java线程的阻塞、等待e)本系统资源的瓶颈(cpu、内存、磁盘、网络等)f)其他外部系统响应时间过长,造成本系统的time-wait

12、性能场景怎么设计?一般都有哪些性能场景?

    一般基本的场景包括:基准测试、单交易测试、混合测试、稳定性测试其他场景的可选场景:高可用性测试、异常测试等,以及其他的结合各自项目业务的场景

13、测试数据怎么构造?你一般都是采用哪些方法来造数据?

    a)调用业务接口构造数据b)直接写jdbc代码造数据c)存储过程造数据

14、常见的性能指标有哪些?分别是什么含义?

    tps:每秒事务量,代表了系统的处理能力,tps越高,性能越好响应时间:从发出请求到接受到系统响应数据所花费的时间,响应时间越短,性能越好吞吐量:网络上行和下行流量的总和,吞吐量是网络瓶颈定位的重要指标错误率:在压测过程中系统出现错误的比例

15、什么是集合点,什么场景下需要用集合点

    集合点是测试脚本中的一个标记,当每个虚拟用户执行到标记处时,会停留在标记处等待其他的虚拟用户,当达到预期设置的并发数时,标记处的所有用户同时启动执行后续的请求集合点会产生瞬间高并发,但是也会降低平均压力。所以在压测过程中,如果有要求瞬间高并发的业务,就需要使用集合点,比如抢购,秒杀之类的业务。没有类似业务则不需要加集合点

16、性能测试过程中,怎么判断网络瓶颈?

    一般性能测试都是在局域网内进行,在压测过程中,可以监控到服务器上网卡的流量,判断此流量是否已经达到局域网内网络设备的上限,比如路由器、交换机、网卡等在这些设备中,一般是服务器网卡网络吞吐量最低。服务器的网卡大多是千兆网卡,换算成MB=1000/8=125MB

17、服务器的cpu使用率和load是什么关系?

    通常情况下,cpu使用率和load值是正比关系,即cpu使用率越高,load值越高。但是在一些特殊情况下,也会出现cpu使用率不高,但是load值较高的情况比如某系统只能使用CPU中的单核运行,它可以占用单核cpu100%,但从整体cpu使用率来看,只是使用了一小部分。而随着并发的增大,单核CPU的任务队列会越来越长,造成了load值较高

18、性能测试脚本中为什么要做参数化?

    参数化把测试脚本中的请求数据动态化,避免使用单一固定参数进行压测。这也是为了更加真实的模拟用户的请求

19、Linux系统中的buffer和cache都起到什么作用。内存占用有大量的buffer和cache是异常情况吗?

    buffer和cache都是Linux中的缓存机制,cache里一般会缓存一些文件的内容,buffer会缓存一些需要写入磁盘的数据。Linux会利用空闲的内存做一些缓存,加快文件的访问速度。如果系统可用内存不足时,Linux会释放掉buffer和cache所占用的内存。所以内存占用中有大量的buffer和cache也是正常现象

20、性能脚本中的乱码问题怎么解决?

    1、如果在脚本中不使用或不判断乱码部分的数据,那可用忽略此问题,因为乱码并不影响性能2、如果需要使用乱码数据,可以通过压测工具提供的一些方法进行编码转换(如LR的lr_convert_encoding_string函数,Jmeter修改配置文件等方式)

21、在性能测试工具中,使用线程和进程压测有什么区别,Loadrunner和Jmeter分别使用什么进行发压?

    Loadrunner同时支持进程和线程发压。当选择进程时,每个虚拟用户单独启动一个进程,当选择线程时,每50个线程启动一个进程Jmeter只支持线程发压进程和线程的主要区别为,进程之间是独享内存的,线程之间是共享内存的。使用进程压测占用的资源会大一些。在高并发下,会减少压测工具自身的异常情况

22、性能测试脚本中,定义事务的原则是什么?

    在测试脚本中,事务定义的业务流程越短越好。同时脚本中不要写过多复杂的逻辑,对于一个复杂的场景,可以考虑把脚本拆解成多个简单的脚本

23,产品就只给一个需求,需求调研的内容都不知道,也没人告诉你,怎么开展性能测试?

   a> 没有任何途径进行需求调研的情况下,可以跳过需求调研,直接开始压测。b> 压测完成后,可以把本次压测数据开会讨论,共同决定是否满足性能需求;c> 或者根据行业内的通用指标规范,比如高频接口响应时间<100ms,低频<200ms的标准来判断

24,怎么进行性能场景设计?

    通用类场景:a> 单接口测试场景b> 混合接口测试场景c> 高可用性场景(集群情况下)d> 网络异常场景(如有必要)e> 稳定性场景f> 其他业务相关场景

25,给你一种xx协议的系统,怎么测试

    a> 先了解协议的格式,数据交互b> 查找压测工具是否支持本协议c> 如果不支持,通过自己写代码的方式发送协议包进行测试

软件测试面试题(二):Jmeter面试相关推荐

  1. python软件测试面试题2020_【面试】2020软件测试面试题及答案汇总

    Time will tell. 1.你的测试职业发展是什么?你自认为做测试的优势在哪里? 测试经验越多,测试能力越高.所以我的职业发展是需要时间累积的,一步步向着高级测试工程师奔去.而且我也有初步的职 ...

  2. 纯硬菜,大厂常用软件测试面试题二(附答案)

    注:如无特殊说明,试卷中涉及工具均为QTP. 一.选择题(8分): 1.模块的耦合度描述了__D____. A.模块内各种元素结合的程度 B.模块内多个功能之间的接口 C.模块之间公共数据的数量 D. ...

  3. 软件测试面试题之非技术面试(GZH:软件测试大本营)

    我们在准备面试时一般会更关注技术面试上,而忽略了非技术面试的准备,这同样是面试很重要的一环,而很多公司在同等技术能力的条件下,会更倾向于在非技术面试中表现优异的人,因为工作本身涉及的不仅仅是技术能力的 ...

  4. 软件测试面试题(二)

    1.你的 测试 职业发展是什么? 测试经验越多,测试能力越高.所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去.而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去 ...

  5. 2022最新软件测试面试题(二)

    WEB/APP性能测试 1.性能测试关注的指标是什么 1.吞吐量(Rps):每秒钟系统能够处理的请求数.任务数 2.响应时间(Rt):服务处理一个请求或一个任务的耗时 3.错误率:一批请求中结果出错的 ...

  6. HUNER翻译软件测试面试题,外企测试面试常见问题及回答(英文)

    <外企测试面试常见问题及回答(英文)>由会员分享,可在线阅读,更多相关<外企测试面试常见问题及回答(英文)(5页珍藏版)>请在人人文库网上搜索. 1.外企测试面试常见问题及回答 ...

  7. python运维工程师面试题_新浪软件测试面试题-Linux运维工程师面试真题

    新浪软件测试面试题-Linux运维工程师面试真题 作为Linux运维工程师,进入大公司是开启职业新起点的关键,今天特别分享了其在新浪面试Linux运维及云计算工程师的题目和经历,希望对广大Linux运 ...

  8. 京东软件测试工程师面试,京东软件测试面试题.docx

    京东软件测试面试题 京东软件测试面试题 今年有换换环境的打算,就先拿以前非常粗糙的简历,投了几份(印象中有央视网,某个网银类的,京东),要说反应快的还是市场化的京东.不得不点赞 上我我从地铁到亦庄,到 ...

  9. 平安外包软件测试面试题,中国平安银行软件测试笔试题 .doc

    中国平安银行软件测试笔试题 .doc 中国平安银行软件测试笔试题 导语:下面小编为你整理为了中国平安银行关于软件 测试笔试试题,欢迎阅读! 中国平安银行关于软件测试笔试试题(一) 下面是一平安银行的软 ...

  10. 万人总结的软件测试面试简历及软件测试面试题

    一.前言:浅谈面试 面试是我们进入一个公司的门槛,通过了面试才能进入公司,你的面试结果和你的薪资是息息相关的.那如何才能顺利的通过面试,得到公司的认可呢?面试软件测试要注意哪些问题呢?下面和笔者一起来 ...

最新文章

  1. java文件file字符集_获取文件字符集(或文件编码) 的工具类
  2. EasyVS 0.3版本发布 -- 给力变换vs编辑器主题
  3. 实例讲解override和new的区别
  4. 基于sklearn.decomposition.TruncatedSVD的潜在语义分析实践
  5. 工作线程AfxBeginThread的使用
  6. 自学python要看哪些书-想学习Python做数据分析,应该看哪些书?
  7. 打印机显示rpg服务器不可用,网络打印机“RPC服务器不可用”的终极解决办法
  8. paip.前端加载时间分析之道优化最佳实践
  9. Manjaro安装以及美化教程
  10. 技术管理进阶——什么是影响力
  11. jQuery fadeOut() 方法
  12. RADAR毫米波雷达传感器
  13. 重构--Introduce Parameter Object
  14. PAT a1139
  15. MasterCAM螺旋线的两种画法:螺旋线命令和插件方法
  16. 精华【分布式微服务云架构dubbo+zookeeper+springmvc+mybatis+shiro+redis】分布式大型互联网企业架构!
  17. 计算机专业毕业设计题目大全文库,计算机专业毕业设计论文题目.doc
  18. 个人工作邮箱怎么申请?工作邮箱有哪些?
  19. Git小白教程3---远程仓库克隆到本地
  20. 投票系统java如何实现_用Java实现投票系统

热门文章

  1. 【WebGIS毕业设计】(一)前言、开题与参考文献
  2. QImage与QPixmap区别
  3. 推荐几款国产快速启动工具软件 总有一款适合你的
  4. idea上git提交代码的正确步骤
  5. 瀑布模型,快速原型模型,增量模型,螺旋模型以及敏捷开发模型的相关概念
  6. Linux文件打包成不同后缀的压缩文件
  7. [机器学习笔记] 常用的分类与预测算法
  8. 搭建测试环境如何配置软件,软件测试环境的搭建(Windows版)
  9. Ppmap - XSS扫描器
  10. Scala下载及IDEA安装Scala插件(保姆级教程超详细)