性能测试常见面试题

简述性能测试流程?

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

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

3.编写测试用例浏览器

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

5.编写性能测试脚本网络

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

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

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

9.回归性能测试性能

10.编写测试报告测试

 

如何肯定系统最大负载?

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

 

大家系统哪些地方(哪些功能)作了性能测试?

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

 

大家的并发用户数是怎么肯定的?

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

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

 

大家性能测试在什么环境执行?

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

 

大家性能测试什么时间执行?

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

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

 

怎么分析性能测试结果?

首先查看事物经过率,而后分析其余性能指标,好比,确认响应时间,事务经过率,CPU等指标是否知足需求;若是测试结果不可信,要分析异常的缘由,修改后从新测试

 

think_time的做用是什么?

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

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

 

问题一:响应时间不达标

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

 

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

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

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

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

问题四:内存泄漏

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

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

缘由:程序多是单线程处理机制

 

如何识别系统瓶颈?

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

 

如何判断系统的性能是变好了仍是变坏了

经过基准测试对比性能指标

 

大家的性能测试需求哪里来?

1:客户提供需求

2:运维提供需求

3:开发提供需求

 

如何实现200用户的并发?

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

 

什么状况下要作关联,关联是怎么作的?

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

好比登陆的token关联,增删改查主键id关联

 

有验证码的功能,怎么作性能测试?

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

2、使用万能的验证码

 

大家性能测试作的是前台仍是后台?

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

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

 

性能测试指标有哪些

响应时间

吞吐量

cpu

内存

io

disk

 

如何脚本加强?

1、作参数化

2、作关联

3、添加事务

4、添加断言

5、添加集合点

6、添加思考时间

相关文章
相关标签/搜索