App 功能测试中级面试题
如何通过命令行查看 Android 手机上安装的应用包?
面试题目
- 级别: L2
- 知识模块: App 测试
如何通过命令行查看 Android 手机上安装的应用包?
公司
- metaAPP
招聘类型
- 社招
- 校招
题目解析
考察对 Android 开发和调试工具的了解,特别是如何使用命令行工具(如 ADB)来查看手机上的安装包信息。你需要展示你对 ADB 命令的熟悉程度,并能够给出具体的操作步骤。
答案
- 查看手机上所有的应用包:
adb shell pm list packages
- 查看手机上手机自带应用的包:
adb shell pm list packages -s
- 查看手机上第三方应用的包:
adb shell pm list packages -3
什么是 App 覆盖安装?
面试题目
- 级别: L2
- 知识模块: App 测试
什么是 App 覆盖安装?
公司
- 小米外包
招聘类型
- 社招
- 校招
题目解析
考察在 App 测试中的覆盖安装操作。
答案
覆盖安装是指在安装新版本 App 时覆盖掉旧版本 App。
影响 App FPS 的因素有哪些?
面试题目
- 级别: L2
- 知识模块: App 测试
影响 App FPS 的因素有哪些?
公司
- metaAPP
招聘类型
- 社招
题目解析
考察你影响应用帧率(FPS)的各种因素的了解。FPS 直接影响用户体验,了解这些因素有助于优化应用性能。
答案
绘制性能、布局重绘、动画性能、渲染性能等因素会影响 App 的 FPS。
adb 常用命令有哪些?
面试题目
- 级别: L2
- 知识模块: App 测试
adb 常用命令有哪些?
公司
- 某金融公司
招聘类型
- 社招
- 校招
题目解析
考察对 ADB(Android Debug Bridge)工具的了解及其常用命令的熟悉程度。
答案
连接设备
- windows:
adb connect 127.0.0.1:7555
adb devices
- mac:
adb kill-server
adb devices
查看手机状态
adb devices
adb get-state
安装应用
- 普通安装
adb install <apk路径>
- 覆盖安装/替代安装
adb install -r <apk路径>
卸载应用
- 卸载应用
adb uninstall 包名
- 卸载应用(不删除配置文件,保存数据缓存信息)
adb uninstall -k 包名
adb shell 常用命令
- 查看目录结构:
adb shell ls
- 查看系统当前日期:
adb shell date
- 查看系统 CPU 使用情况:
adb shell cat /proc/cpuinfo
- 查看系统内存使用情况:
adb shell cat /proc/meminfo
- 显示所有应用:
adb shell pm list packages
- 显示系统自带应用:
adb shell pm list packages -s
- 查看当前的页面名:
adb shell "dumpsys window | grep mCurrentFocus"
- 清除应用数据及缓存:
adb shell pm clear <包名>
- 获取启动页面的 activity:
adb logcat ActivityManager:I | grep "cmp"
- 启动应用:
adb shell am start -n <包名>/<avticity名>
- 强制停止应用:
adb shell am force-stop <包名>
传输文件
adb push 电脑路径 设备路径
adb pull 设备路径 电脑路径
截图和录屏
- 截图:
adb shell screencap <设备路径>
- 录屏:
adb shell screenrecord <设备路径>
adb 命令查看日志
adb logcat --help
adb logcat [TAG:LEVEL ] [TAG:LEVEL ] ...
adb logcat 打印默认日志数据
adb logcat -v time 打印时间
adb logcat -v color 使用不同的颜色来显示每个优先级
adb logcat -f <filename> 将日志输出到文件(zhi ding .)
(adb logcat -f /sdcard/log.txt)
adb logcat > log.log 保存日志到PC上
adb logcat -c 清理已存在的日志
(再次执行 adb logcat 后不显示之前的日志信息)
adb 性能分析
- 查看当前系统 CPU 使用情况:
adb shell dumpsys cpuinfo
- 查看当前系统的内存:
adb shell dumpsys meminfo
- 查看某个应用的内存:
adb shell dumpsys meminfo <应用名>
- 每隔一秒查看系统进程占用资源情况:
adb shell top -d 1 |grep "包名"
- 电池电量:
adb shell dumpsys battery
adb 是用来干嘛的?
面试题目
- 级别: L2
- 知识模块: App 测试
adb 是用来干嘛的?
公司
- 快手
招聘类型
- 社招
- 校招
题目解析
考察你对 ADB(Android Debug Bridge)工具的了解及其常用命令的熟悉程度。ADB 是 Android 开发和调试中非常重要的工具。
答案
ADB 是 Android Debug Bridge 的缩写,用于与 Android 设备进行通信和调试。
常用的 ADB 命令包括 adb devices、adb install、adb logcat 等,用于管理 Android 设备和应用。
App 出现⽩屏或者闪退,⼀般是什么原因?你会如何分析问题?
面试题目
- 级别: L1
- 知识模块: App 测试
App 出现⽩屏或者闪退,⼀般是什么原因?你会如何分析问题?
公司
- 小米
招聘类型
- 社招
题目解析
考察对常见 App 问题的诊断能力和解决思路。你需要展示你对导致白屏或闪退的常见原因的理解,并说明你如何系统地分析和解决这些问题。
答案
当 App 出现白屏或闪退时,可能是由于资源加载失败、网络问题、初始化问题、内存泄漏、未捕获的异常或兼容性问题等。
分析问题时,可以采取的⽅式通过抓取报⽂和前后端的⽇志,确认 App 客户端程序和服务器后端接⼝的代码处理是否有错误,⽇志可以查看⼀些错误⽇志信息:如 Error 级别的、EXCEPTION 异常的。