性能测试常见面试题

1、简述性能测试流程?

1.分析性能需求。挑选用户使用最频繁的场景来测试,比如:登陆,搜索,下单等等。确定性能指标,比如:事务通过率为100%,TOP99%是5秒,最大并发用户为1000人,CPU和内存的使用率在70%以下;

2.制定性能测试计划,明确测试时间(通常在功能稳定后,如第一轮测试后进行)和测试环境和测试工具

3.编写测试用例

4.搭建测试环境,准备好测试数据

5.编写性能测试脚本

6.性能测试脚本调优。设置检查点、参数化、关联、集合点、事务,调整思考时间,删除冗余脚本

7.设计测试场景,运行测试脚本,监控服务器,

8.分析测试结果,收集相关的日志提单给开发

9.回归性能测试

10.编写测试报告

2、如何确定系统最大负载?

通过负载测试,不断增加用户数,随着用户数的增加,各项性能指标也会相应产生变化,当出现了性能拐点,比如,当用户数达到某个数量级时,响应时间突然增长,那么这个拐点处对应的用户数就是系统能承载的最大用户数。

3、你们系统哪些地方(哪些功能)做了性能测试?

选用了用户使用最频繁的功能来做测试,比如:登陆,搜索,提交订单

4、你们的并发用户数是怎么确定的?

1)会先上线一段时间,根据收集到的用户访问数据进行预估

2)根据需求来确定(使用高峰时间段,注册用户数,单次响应时间等

5、你们性能测试在什么环境执行?

参考答案:我们会搭建一套独立的性能测试环境进行测试

6、你们性能测试什么时间执行?

基准测试:功能测试之后,系统比较稳定的时候再做。

负载测试:夜深人静,系统没人用的时候

7、怎么分析性能测试结果?

首先查看事物通过率,然后分析其他性能指标,比如,确认响应时间,事务通过率,CPU等指标是否满足需求;如果测试结果不可信,要分析异常的原因,修改后重新测试

8、think_time的作用是什么?

模拟真实生产用户操作,考察对服务器所造成的影响。

在确定性能测试结果可信后,如果发现以下问题,按下面提供的思路来定位问题

问题一:响应时间不达标

查看事务所消耗的时间主要在网络传输还是服务器,如果是网络,就结合Throughput(网络吞吐量)图,计算带宽是否存在瓶颈,如果存在瓶颈,就要考虑增加带宽,或对数据的传输进行压缩处理;如果不存在瓶颈,那么,可能是网路不稳定导致。如果主要时间是消耗在服务器上,就要分别查看web服务器和数据库服务器的CPU,内存的使用率是否过高,因为过高的CPU,内存必定会造成响应时间过长,如果是web服务器的问题,就把web服务器对应上对应的用户操作日志取下来,发给开发定位;如果是数据库的问题,就把数据库服务器对应上对应的日志取下来,发给开发定位。

问题二:服务器CPU指标异常

分析思路:就把web服务器对应上对应的用户操作日志取下来,发给开发定位。

问题三:数据库CPU指标异常

分析思路:把数据库服务器对应上对应的日志取下来,发给开发定位。

问题四:内存泄漏

分析思路:把内存的heap数据取出来,分析是哪个对象消耗内存最多,然后发给开发定位。

问题五:程序在单用户场景下运行成功,多用户运行则失败,提示连不上服务器。

原因:程序可能是单线程处理机制

9、如何识别系统瓶颈?

从TPS指标分析,TPS即系统单位时间内处理事务的数量。观察当前随着用户数的增长期系统每秒可处理的事务数是否也会增长

10、如何判断系统的性能是变好了还是变坏了

通过基准测试对比性能指标。

11、你们的性能测试需求哪里来?

1:客户提供需求

2:运维提供需求

3:开发提供需求

12、如何实现200用户的并发?

在脚本对应的请求后添加集合点

13、什么情况下要做关联,关联是怎么做的?

当脚本的上下文有联系,就用关联。

比如登录的token关联,增删改查主键id关联

14、有验证码的功能,怎么做性能测试?

1)将验证码暂时屏蔽,完成性能测试后,再恢复

2)使用万能的验证码

15、你们性能测试做的是前台还是后台?

BS项目:测试的是后台服务器的性能和浏览器端性能;

APP项目:手机端和服务器端的性能都做

性能测试指标有哪些

响应时间

吞吐量

cpu

内存

io

disk

16、如何脚本增强?

1)做参数化

2)做关联

3)添加事务

4)添加断言

5)添加集合点

6)添加思考时间

划重点,记住,凡是参加面试,第一要务就是静下心来,沉着应对。凡是一面试就紧张,就大脑一篇空白,是很难面试成功的。最后,如果你面试遇到了什么难题,欢迎留言区告诉我们,我们共同讨论,共同进步~

文章来源:网络  版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系小编,我们将立即处理

(0)

相关推荐

  • 并发用户数与tps关系(转)

    并发用户数与tps关系(转)

  • 性能测试、分析、优化的方法论 | 运维进阶

    [导读]本文主要介绍相关性能测试.分析.优化的方法论.希望通过方法论的学习,可以帮助工程师在复杂纷乱的环境下明确性能目标,制定合理可行的性能测试计划,有针对性的进行性能分析,发现系统真正的性能瓶颈,并 ...

  • Jmeter实战:零基础也能看懂的性能测试!

    经常听到性能?何为性能,从来没做过性能测试的人该如何上手?这篇文章非常适合零基础的同学看,看完之后基本上就能知道性能测试的全流程. 性能指标  1.什么是性能测试 在一定情况下,通过工具模拟用户负载系 ...

  • 20个硬件常见面试题

    问1 晶体管基本放大电路有共射.共集.共基三种接法,请简述这三种基本放大电路的特点. 共射:共射放大电路具有放大电流和电压的作用,输入电阻大小居中,输出电阻较大,频带较窄,适用于一般放大. 共集:共集 ...

  • 什么是Python中的单元测试?常见面试题集锦!

    学习完Python之后,接下来面临的问题就是面试找工作,今天小编为大家汇总了10道Python经常面试题,并附带答案,希望能够给找工作的你们带来帮助. 有哪些工具可以帮助查找错误或执行静态分析? Py ...

  • Python数据分析师常见面试题集锦!

    数据分析是Python的就业方向之一,近年来,伴随着国内互联网发展,数据分析开始崭露头角,因此很多开发者都因为薪资和发展前景转行从事数据分析工作.那么你知道如何找到满意的数据分析岗吗?今天小编就跟大家 ...

  • Python爬虫常见面试题!

    众所周知,爬虫是Python重要的应用方向之一,也是学习Python求职的热门岗位.对此,为帮助学员们快速通过面试,小编整理了一些Python爬虫常见面试题,希望能够帮助到你们. 1. 试列出至少三种 ...

  • 数据库常见面试题(附答案)

    阅读指南 文章目录 1.事务四大特性 2.数据库隔离级别 3.MYSQL的两种存储引擎区别(事务.锁级别等等),各自的适用场景 4.索引有B 索引和hash索引 5.聚集索引和非聚集索引 6.索引的优 ...

  • HTTP必知必会——常见面试题总结

    HTTP必知必会——常见面试题总结

  • css常见面试题

    css常见面试题

  • 2021Java常见面试题:java正则表达式语法大全

    一面 自我介绍 项目难度介绍 如何实现延时任务 如何实现限流 线程池的参数 能不能自己实现一个java.lang.String并加载 Redis为什么这么快 epoll和poll的区别 进程同步的方式 ...

  • 2021Java常见面试题:java字符串用逗号拼接

    字节跳动技术一面 面问的都还比较基础,答得也还算顺利 说下你的实习项目吧 讲一下线程参数的含义 Innodb的索引实现 为什么是B+树? Redis的使用,分布式锁的实现 操作系统虚拟内存换页的过程 ...