Skip to content

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 异常的。