+ [3.怎样分析性能测试结果?](#3_36)
+ [4.如何判断网络是否存在瓶颈?](#4_44)
+ [5.如何判断响应时间不达标?](#5_50)
+ [6.如何判断CPU使用率不达标?](#6CPU_56)
+ [7.app的性能测试怎么做的?](#7app_62)
+ [8.用monkey做app测试,怎么做的?如果有问题的话怎么定位?](#8monkeyapp_72)
+ [9.app出现ANR的原因?](#9appANR_86)
+ [10.app出现CRASH的原因?](#10appCRASH_92)
+ [11.APP常见崩溃原因?](#11APP_98)
+ [12.说几个常用的adb指令?](#12adb_116)
+ [13.软件覆盖安装的adb命令?](#13adb_134)
+ [14.性能测试的adb命令?](#14adb_142)
+ [15.说几个monkey指令?](#15monkey_150)
+ [16.弱网情况下你是如何测试的?](#16_164)
+ [17.接口测试流程?](#17_180)
+ [18.进行接口测试,你是如何进行去测试的?](#18_194)
+ [19.举例说一下你的接口测试是怎么做的?](#19_208)
+ [20.请描述下接口测试与UI测试是如何协同测试的?](#20UI_214)
很多软件测试工程师在面试互联网企业的时候都会遇到考官给的几道面试题,这也反应了测试工程师对企业的重要性,今天小编整理了一份2022年的互联网企业软件测试性能测试面试题,希望能帮助到大家。
2022年互联网企业软件测试性能测试面试题(常考)
1.性能测试关注的指标是什么?
从外部看,性能测试主要关注如下三个指标:
吞吐量:每秒钟系统能够处理的请求数、任务数
响应时间:服务处理一个请求或一个任务的耗时
错误率:一批请求中结果出错的请求所占比例
从服务器的角度看,性能测试主要关注CPU、内存、服务器负载、网络、磁盘IO等。
2.性能测试怎么做的?/ 如果你要进行性能测试,你是如何展开操作的?
1.确定关键业务,关键路径;
2.确定测试的关键数据。比如并发量,响应时间,循环次数等;
3.准备测试环境,完成脚本录制或脚本开发;
4.执行测试,观察或监控输出参数,比如吞吐量,响应时间,资源占有率等;
5.对执行结果进行分析,分析性能问题。
3.怎样分析性能测试结果?
1.查看聚合报告和服务器的资源使用图,检查响应时间,事务成功率,CPU,内存和IO使用率是否达到要求,如果出错率达到了总请求的3%,我们会检查是什么原因导致的,修改好后,重新测试;
2.如果出现了性能瓶颈,比如响应时间,或者CPU使用率不达标,我们会从服务器上导出日志,分析是哪个地方导致响应时间过长,如果分析不出来,就叫上开发一起讨论,确定问题后,就提单给代发修复,修复好了就进行回归测试。
4.如何判断网络是否存在瓶颈?
查看在整个性能测试过程中,网络的吞吐量是多少,如果网络的吞吐量占到了服务器的70%以上,我们就认为网络存在瓶颈,通常会增加带宽或者压缩传输数据。
5.如何判断响应时间不达标?
根据性能测试结果先检查看下是否是服务器带宽存在问题,如果带宽存在瓶颈,则会考虑增加带宽或者压缩传输数据,如果带宽没有问题的话,我们会从服务器上导出日志,开发一起讨论分析是哪个地方导致响应时间过长,确定问题后,就提单给开发修复,修复好了就进行回归测试。
6.如何判断CPU使用率不达标?
CPU使用率不达标,我们会从服务器上导出日志,分析是哪个地方导致CPU使用率不达标,如果分析不出来,就叫上开发一起讨论,确定问题后,就提单给开发修复,修复好了就进行回归测试。
7.app的性能测试怎么做的?
APP的性能测试分为服务器端的性能和手机端的性能。
服务器端的性能:jmeter工具进行测试的,和web端性能测试的方法一样的。
手机端APP的稳定测试:使用monkey做。
8.用monkey做app测试,怎么做的?如果有问题的话怎么定位?
1.先使用 adb logcat -c 清空手机的logcat日志;
2.接下来使用 adb logcat -v time 获取logcat 日志,并导入本地文件使用 monkey 运行被测应用 adb shell monkey -p 包名 -v 3.100000 并将执行结果导入到本地测试;
4.如果中途失败了就要去看monkey日志中有没有crash或者anr的关键字;
5.如果还需要定位到是什么原因导致的anr或者crash的问题,将相关日志和logcat日志与进程号提交给开发定位;
6.如果是anr的问题,还需要从安卓中获取/data/anr/traces.txt文件提交给开发定位。
9.app出现ANR的原因?
线程阻塞,内存不足,CPU满负荷(现在手机基本都是8核CPU,基本不会出现CPU满负荷的情况)
10.app出现CRASH的原因?
空指针值,数组越界,内存不足,CPU满负荷(现在手机基本都是8核CPU,基本不会出现CPU满负荷的情况)
11.APP常见崩溃原因?
1.设备碎片化:由于设备极具多样性,App在不同的设备上可能有不同表现形式;
2.宽带限制:宽带不佳的网络对App所需的快速响应时间不够;
3.网络的变化:不同网络的切换可能会影响App的稳定性;
4.内存管理:可能内存过低,或者是授权的内存位置的使用可能会导致App失败;
5.用户过多:连续数量过多可能会导致App崩溃;
6.代码错误:没有经过测试的新功能,可能会导致App在生产环境中失败;
7.第三方服务:广告或弹出屏幕可能会导致App崩溃。
12.说几个常用的adb指令?
adb install(apk的文件路径) 安装软件到手机或者模拟器
adb uninstall(包名) 卸载手机或模拟器上的某款软件
adb devices 查看与当前电脑连接的移动设备
adb ,adb start-server 启动
adb,adb kill-server 杀死
adb logcat 查看日志
adb logcat -v time process >
13.软件覆盖安装的adb命令?
adb install -r xx.apk 覆盖低版本的
adb install -r -d 覆盖高版本的
14.性能测试的adb命令?
adb shell dumpsys cpuinfo 查看手机cpu的使用情况
adb shell getprop|findstr dalvik 手机系统自己运行的内存使用
15.说几个monkey指令?
Adb shell monkey -p 包名
Adb-shell–ignore-crashes 忽略崩溃
Adb-shell–ignore-timeouts 忽略延时
Adb-shell–ignore-throttle 延时毫秒值
Adb-shell–pct-touch–pct-motion 触摸与滑动事件的比例
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
开源项目:docs.qq.com/doc/DSlVlZExWQ0FRSE9H