当前位置:网站首页>性能测试常见面试题
性能测试常见面试题
2022-07-01 02:53:00 【软件测试老莫】
目录
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项目:手机端和服务器端的性能都做
16、性能测试指标有哪些
响应时间
吞吐量
cpu
内存
io
disk
17、如何脚本增强?
1、做参数化
2、做关联
3、添加事务
4、添加断言
5、添加集合点
6、添加思考时间
边栏推荐
- 基于Pytorch完整的训练一个神经网络并进行验证
- Contrastive learning of Class-agnostic Activation Map for Weakly Supervised Object Localization and
- UE4渲染管线学习笔记
- Classic programming problem: finding the number of daffodils
- 【PR #5 A】双向奔赴(状压DP)
- An article explaining the publisher subscriber model and the observer model
- Prototype and prototype chain in JS
- Mouse over effect V
- 彻底解决Lost connection to MySQL server at ‘reading initial communication packet
- 【小程序项目开发 -- 京东商城】uni-app 商品分类页面(下)
猜你喜欢

Contrastive learning of Class-agnostic Activation Map for Weakly Supervised Object Localization and

Detailed data governance knowledge system

Restcloud ETL实践之数据行列转换

Prototype and prototype chain in JS

在unity中使用jieba分词的方法

单片机 MCU 固件打包脚本软件

AI 边缘计算平台 - BeagleBone AI 64 简介

Lenovo x86 server restart management controller (xclarity controller) or TSM method

Optimal Transport系列1

Nacos configuration center tutorial
随机推荐
RestCloud ETL WebService数据同步到本地
Use ipmitool to configure BMC network and user information of X86 server
Optimal Transport系列1
Borrowing constructor inheritance and composite inheritance
产业互联网中,「小」程序有「大」作为
Complete training and verification of a neural network based on pytorch
pycharm 软件deployment 灰色 无法点
PTA 1017
鼠标悬停效果九
servlet【初识】
import tensorflow. contrib. Slim as slim error
Visual effects, picture to cartoon function
Saving images of different depths in opencv
鼠标悬停效果七
The operation efficiency of the park is improved, and the application platform management of applet container technology is accelerated
VMware vSphere 6.7虚拟化云管理之12、VCSA6.7更新vCenter Server许可
7_OpenResty安装
How to open a stock account? Also, is it safe to open an account online?
记一次服务部署失败问题排查
Why are strings immutable in many programming languages? [repeated] - why are strings immutable in many programming languages? [duplicate]