性能测试最常见的面试题分析与答案

目录

前言

简述性能测试流程?

如何确定系统最大负载?

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

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

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

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

怎么分析性能测试结果?

think_time的作用是什么?

如何识别系统瓶颈?

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

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

如何实现200用户的并发?

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

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

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

性能测试指标有哪些

如何脚本增强?

最后


前言

本章节主要给大家分享性能测试面试题以及答案,为了能让大伙能在面试中顺利过关,我可是花费了一些心思的,希望对你们有帮助。

简述性能测试流程?

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

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、添加思考时间

最后

任何工作都是一样,干一行爱一行,既然选择了你就应该去努力提升自己的实力来把压力值降到最低。

衷心感谢每一个认真阅读我文章的人

想咨询更多面试相关的问题或者需要面试题和答案的可以私我哦,一起卷起来吧!!!

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
面试软件测试职位时,以下是一些常见面试题及其答案: 1. 什么是软件测试? 答:软件测试是一种评估软件质量的过程,通过执行预定义的测试用例来检查软件是否满足预期的需求和功能。 2. 测试用例是什么?它们的重要性是什么? 答:测试用例是一组输入、执行条件和预期结果的集合,用于验证软件的特定功能或需求。它们的重要性在于确保软件在各种情况下都能正常工作,并帮助发现潜在的缺陷。 3. 请解释黑盒测试和白盒测试的区别。 答:黑盒测试是基于软件功能和需求的测试,测试人员不需要了解内部实现细节。白盒测试则需要了解软件的内部结构和代码,以验证其逻辑正确性。 4. 什么是单元测试?为什么它重要? 答:单元测试是对软件中最小可测试单元(通常是函数或方法)进行的测试。它重要的原因是可以在开发过程中及早发现和修复问题,并确保每个单元都能独立地正常工作。 5. 请解释一下冒烟测试。 答:冒烟测试是在软件开发周期的早期阶段进行的一种快速测试,用于验证软件的基本功能是否正常工作。它的目的是尽早发现严重的问题,以便及时修复。 6. 什么是回归测试?为什么它重要? 答:回归测试是在对软件进行更改或修复后重新执行的测试,以确保已有功能没有受到影响。它重要的原因是避免在修改代码后引入新的错误,并确保软件的稳定性和一致性。 7. 请解释一下负载测试和性能测试的区别。 答:负载测试是模拟实际用户使用情况下的系统负载,以评估系统在高负载情况下的性能表现。性能测试则是评估系统在各种条件下的性能指标,如响应时间、吞吐量等。 8. 什么是缺陷跟踪?为什么它重要? 答:缺陷跟踪是记录和管理软件中发现的缺陷的过程。它重要的原因是确保所有缺陷都得到跟踪和解决,并帮助团队了解软件质量状况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值