news 2026/9/7 21:42:51

小米手机测试笔试题解析:从Android底层到用例设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小米手机测试笔试题解析:从Android底层到用例设计

看到这份《小米2019秋招手机测试笔试题(A)》的时候,我大概能想象出当年笔试现场的样子:一屋子应届生,看到卷子上“手机测试”四个字觉得挺对口,真动笔才发现,这行当不光是点点点,它考的是你对一套完整移动系统有没有底层认知。我自己做手机测试这些年,面过不少人,也出过题,这套卷子放在今天看依然有参考价值——它考察的不只是答案本身,而是你有没有测试思维、能不能把Android底层知识落到实际场景里。

这篇文章我会把典型考点、解题思路、背后的原理,以及实际工作里对应的测试场景全部拆开讲。不管你是准备手机厂商或互联网公司的测试岗,还是刚入行想搞明白手机测试到底测什么,都能从中拿走一套方法论。

1. 这套笔试题考的是什么

1.1 手机测试岗的能力模型与出题逻辑

手机测试和普通App测试最大的区别在于:你测的不只是一个应用,而是一整套软硬件结合的系统。所以笔试不会只考“怎么设计用例”这种通用题,而是会把Android系统知识、硬件特性、通信协议、性能指标全部揉在一起。

2019年秋招这个时间节点很有意思。那时候5G刚开始商用,全面屏和刘海屏正处于混战期,各家厂商对相机、续航、信号这些卖点卷得厉害。手机测试岗需要的人,不是只会照着用例点点点的执行者,而是能发现“这个场景为什么会有问题”“这个缺陷是系统层还是应用层”的思考者。所以这套题的出题逻辑很清晰:先用基础题筛掉底子薄的人,再用场景题筛掉只会背概念的人,最后用用例设计题筛掉没有实战思维的人。

整套卷子的能力模型可以拆成四块:

  • Android系统基础:四大组件、进程与内存管理、消息机制,这些决定了你能不能看懂缺陷日志。
  • 硬件与通信知识:屏幕、电池、摄像头、Wi-Fi、GPS、传感器,这些是手机测试独有的领域。
  • 测试理论与工程方法:用例设计、回归策略、兼容性矩阵、自动化框架,这是测试的基本功。
  • 问题定位与分析能力:给你一个现象,你能不能判断是硬件问题、系统问题,还是三方App兼容问题。

把这四块对应到答题策略上,就是:基础题要稳、场景题要细、设计题要全、分析题要深。很多人在基础题上丢分,不是因为不会,而是因为审题不仔细。后面我会用具体题目说明。

1.2 题型分布与答题时间分配

这套A卷的题型分布,我推测大致是这样的结构(具体题目数量会有微调,但类型基本覆盖):

题型数量单题分值考察方向建议用时
单选题102分Android基础、硬件常识10分钟
多选题53分概念辨析、场景判断10分钟
判断题101分易混淆概念5分钟
简答题48分测试理论、问题定位思路20分钟
用例设计题115分综合测试思维15分钟

这里我要强调一个关键策略:先做用例设计题,再做简答,最后做选择判断。为什么?因为用例设计题分值最高,而且需要你进入“测试思维”状态,这个状态一旦建立,做简答题时你会自然而然地用场景去说话,而不是堆概念。很多人从选择题开始做,做到最后用例设计时脑子已经木了,写出来的用例全是流水账。

时间分配上,如果总分是100分、时长90分钟,建议这样卡点:前30分钟解决所有客观题(选择+判断),留10分钟检查;中间30分钟做简答;最后20分钟写用例设计,留10分钟补充。这套卷子考察的不是你会不会背“等价类划分”的定义,而是你能不能把边界值法用在“充电到100%时提示灯颜色切换”这种真实场景里。

2. 核心考点逐题拆解

2.1 Android系统与硬件基础题详解

单选题部分通常会出这种风格:“下列关于Android进程的说法,正确的是____”。四个选项里一定有两个是概念混淆项,比如把“进程”和“线程”混在一起说,或者把“前台进程”和“可见进程”画等号。

首先你要建立一张清晰的概念表:

  • 前台进程:用户正在交互,比如正在输入的App,进程被杀后界面会立即看到影响。
  • 可见进程:用户看得到但不交互,比如播放视频时切到后台设置,视频播放进程仍然可见。
  • 服务进程:后台跑服务,比如音乐播放,没有可见界面但用户感知明显。
  • 缓存进程:完全在后台,比如三天前打开的购物App,系统内存不足时会优先清理这里。

Android系统在内存不足时的回收顺序,就是从缓存进程开始向上杀。这个知识点在2019年考,今天依然考,因为它是系统稳定性的底层逻辑。另一类必考硬货是Anr和Crash的区别:ANR是主线程被阻塞超过5秒,系统弹出“无响应”对话框;Crash是未捕获异常导致进程直接死掉。这两个概念在实际工作中经常被刚入行的人搞混,笔试里用判断题来考再合适不过。

硬件方向的题目,2019年高频出现的是屏幕分辨率、电池容量逻辑和传感器类型。比如:

  • 判断:1080P屏幕指的是屏幕分辨率为1920×1080。(正确)
  • 判断:光线传感器用于自动调节屏幕亮度。(正确)
  • 选择:加速传感器与陀螺仪的区别。

这种题考察的是你对“手机作为硬件设备”是否有基本认知。屏幕分辨率牵涉到UI适配测试,光线传感器牵涉到系统亮度调节逻辑,而传感器则是游戏测试、相机防抖测试的核心。每一道硬件题的背后,都对应一个真实的测试专项。

2.2 测试理论与流程的必考框架

简答题里有一道可以说是手机测试笔试的“必出题”:简述回归测试与冒烟测试的区别,并说明在手机系统测试中如何应用

这道题答得好不好,能直接看出你有没有实际项目经验。教科书式的答案是:冒烟测试是在版本提测后、正式测试前,对主要功能进行快速验证;回归测试是在缺陷修复后或版本迭代时,对已有功能进行重复验证,确保没有引入新问题。这种回答能拿基础分,但拿不到高分。

高分答案应该有“手机测试特色”。我建议这么答:

在手机系统测试中,冒烟测试会聚焦在开机、解锁、桌面滑动、拨号、短信、相机、设置等核心链路上,一般在拿到新固件后的2小时内完成,目的是判断这个版本是否具备继续深入测试的条件。回归测试则更系统和工程化,需要依据风险等级选择回归范围:如果改动的是系统底层(比如内核、驱动、Framework),那么WLAN、蓝牙、GPS、传感器这些基础通信能力都要纳入回归;如果只是某个应用层的改动,可以聚焦到该应用及其关联模块。每次系统版本发布前,我们还会做一轮全量回归,这就是大家常说的“发布前冻结测试”。

这个答法的高明之处在于:你不仅说了概念,还说了手机测试里“怎么选回归范围”这个实际决策逻辑。面试官一看就知道你做过真项目,而不是背了书。

测试理论里还有一个高频考点是兼容性测试的矩阵设计。这个问题在2019年手机测试里特别重要,因为当时芯片平台有高通、联发科、海思,系统版本从Android 8.0到10.0,屏幕比例从16:9到19.5:9,刘海屏和水滴屏并存。兼容性测试矩阵的核心不是“把所有组合都测一遍”,而是通过正交分析法,找出最能代表风险的点。我的经验是按三重维度交叉:芯片平台×系统版本×屏幕分辨率。在这个矩阵里选一条主链路(比如相机)做全矩阵覆盖,其他功能按风险等级抽测。

3. 用例设计题:从需求到可执行用例

3.1 经典场景:设计一款手机闹钟应用的测试用例

2019年小米秋招这道用例设计题,我印象里考的是闹钟或者相机。这两个都是手机上的高频应用,功能逻辑不算复杂,但牵扯到的系统交互非常多,特别能考察测试思维的广度和深度。

拿到这类题,切忌上来就写“设置闹钟-闹钟响-关闭闹钟”这种流水账。要先拆需求,把闹钟应用放进整个手机系统里去思考它可能影响什么、被什么影响。

闹钟应用的核心功能拆解:

  • 基础场景:设置单个闹钟、编辑、删除、开关、重复规则。
  • 时间逻辑:跨天闹钟、时区切换后闹钟是否触发、闰年/夏令时。
  • 系统交互:关机后闹钟、静音模式下闹钟、低电量模式、勿扰模式下闹钟。
  • 异常场景:设置过去的时间、日期修改后闹钟逻辑、重复闹钟在触发当天被删除。
  • 资源竞争:闹钟响时来电话、闹钟响时正在播放视频、闹钟响时正在用相机录像。

把这些维度想清楚后,用例表格大概长这样:

用例编号前置条件测试步骤预期结果优先级
ALARM_001系统时间正常,无其他闹钟设置一个3分钟后的闹钟,等待触发闹钟准时响铃,界面显示提醒,可正常关闭P0
ALARM_002系统时间正常设置闹钟后立即开启飞行模式,等待触发闹钟仍正常响铃,不受网络状态影响P1
ALARM_003闹钟设置开启进入设置修改系统时区,从UTC+8改为UTC-5闹钟按修改后的时区对应时间触发,无错乱P1
ALARM_004手机电量低于15%设置5分钟后闹钟,不充电等待触发闹钟响铃,同时系统可能出现低电量提醒,但闹钟逻辑不受影响P2
ALARM_005系统音量调至静音设置1分钟后闹钟,等待触发按系统音量策略处理:若媒体静音但闹钟音量独立则正常响铃;若全局静音则按产品定义执行P1
ALARM_006正在通话中设置1分钟后闹钟,通话保持,等待触发闹钟响铃时通话不断开,闹钟声音与通话声音按策略混合或提示P2

这里要注意,用例设计不是写脚本,不需要精确到“点击哪个坐标”。笔试阅卷人看到的是你的结构能力和边界思维。闹钟这种功能,边界值全埋在时间逻辑里:00:00、23:59、12:00这种整点临界,跨周/跨月重复,一年后的365天设置,这些都能用边界值分析法快速定位。

3.2 专项场景:弱网、来电打断与低电量

手机应用测试和纯Web测试最大的不同在于,我们永远要考虑“移动环境里的不确定性”。2019年的卷子里,场景题很可能会给你一个具体情境:用户在地铁里刷视频,视频加载到一半突然断网,恢复网络后App表现异常,请问如何复现、如何定位

这类题考察的是问题定位链路。按我实际工作的经验,答题框架是固定的:

  1. 复现条件梳理:什么网络状态(4G/5G/Wi-Fi)?弱网还是断网还是切换网络?视频播放到哪个进度时断网?恢复网络的方式是自动还是手动?
  2. 日志采集:连接adb抓取logcat,重点看网络状态切换的关键字、播放器状态回调、异常堆栈。
  3. 分层定位:先判断是系统网络能力问题,还是播放器SDK问题,还是App自身逻辑问题。区分办法是看日志里网络层有没有正常回调,如果回调正常但UI没恢复,就是App问题;如果回调都没有,就要看系统网络状态。
  4. 提缺陷:描述要精确到“在XX网络环境下,从Wi-Fi切换到4G后,播放器停留在loading状态超过30秒,预期应自动恢复播放”。

这套思路在笔试里就是满分答法,因为你展现了完整的问题分析闭环:现象描述、环境变量、定位手段、修复预期。很多应届生只写到“网络切换时播放器卡住”,这种描述在缺陷单里会被开发直接打回。

专项场景里还有一类高频题是Android手机内存不足时的行为测试。这个和闹钟有什么关系?有关系——如果你设计的是相机应用用例,内存不足时拍照会不会闪退?弱网、来电打断、低电量这三个场景,本质上都是在测“系统资源被抢占时,应用是否还能保持主要功能正确”。这是移动端测试思维的核心,也是从“功能测试”走向“系统测试”的必经之路。

4. 性能与稳定性专项考点

4.1 性能测试关键指标与判断标准

手机测试笔试的最后一道简答,经常出性能测试的指标和标准。这个知识点不看书也能答一部分,但要是把“启动时间、CPU占用、内存占用、帧率、功耗、温度”这六项答全,再配上判断标准,就是专业和业余的分水岭。

我按2019年那个时间点的主流标准整理一下:

指标测试方式2019年主流判断标准备注
冷启动时间从点击图标到首页完全加载3秒内可接受,1.5秒内优秀相机这类重应用可放宽到4秒
CPU占用adb shell top或PerfDog监测日常场景平均<30%,峰值<60%游戏场景单独定标
内存占用adb shell dumpsys meminfo常用应用<200MB,不得持续增长重点看是否有内存泄漏
帧率gfxinfo或PerfDog滑动场景平均>50FPS,卡顿率<2%低于30FPS视为明显卡顿
功耗功耗仪或温升测试连续播放视频1小时温升<5℃需区分亮屏耗电和待机耗电
温度红外热像仪或温升测试满载30分钟外壳温度<45℃高温会触发放频保护

很多人会忽略“测试条件必须统一”这点。同款手机,室温25℃和35℃的温升表现完全不同;屏幕亮度50%和100%的功耗差距也很大。所以性能测试报告里必须写明测试环境和设备状态,这是专业性的体现。

这里顺带提一个高频判断题:多开应用会导致手机运行变慢,因此Android系统需要频繁关闭后台应用来提升性能——这种说法正确吗?答案是错误。Android系统的内存管理机制是“尽可能多地保留后台应用”,因为重新冷启动一个应用的代价远大于保留在内存里。系统有自己的回收机制(Low Memory Killer),不会因为后台应用多就变卡。很多用户习惯手动清后台,反而导致应用频繁冷启动、耗电增加。这道题考察的是你对Android内存回收机制的理解,而不是直觉。

4.2 稳定性测试Monkey与问题分类

2019年手机测试笔试,Monkey基本是必考的。题目风格通常是:简述Monkey测试的原理,以及如何对Monkey测试结果进行分析

Monkey原理很多人都会背:向系统发送伪随机的用户事件流,实现对软件的压力测试。但笔试想让你说清楚的是“怎么用”。我通常会在答案里补充实际操作细节:

  • 先用adb shell monkey -p com.android.settings -v 10000对单个应用做压力测试。
  • 设置--throttle 500让每次事件间隔500毫秒,避免事件过密导致系统假性崩溃。
  • 如果想要面向整个系统测试,去掉-p参数,让Monkey在系统全局随机测试。
  • --pct-touch 50 --pct-motion 20调整事件比例,让测试更贴近真实用户操作。

Monkey测试的价值在于“低成本的长时间稳定性验证”。跑8小时Monkey不崩溃,不能说明系统没问题,但能说明系统没有明显的瞬时崩溃风险。反过来,Monkey一跑就崩,那这个版本基本可以打回。Monkey跑出来的崩溃,必须分析Monkey日志和logcat,看崩溃发生时正在执行什么操作,是系统问题还是应用对异常输入处理不当。

稳定性测试的缺陷分类也有固定的套路:

  • 必现缺陷:按固定步骤100%复现,直接提给开发,优先级最高。
  • 偶现缺陷:概率性复现,需要采集日志、比对环境差异,甚至要用Monkey加强压力复现。
  • 性能劣化:不崩溃但越来越卡,优先看是否有内存泄漏、线程堆积、全局变量未释放。
  • 进程死亡但无崩溃日志:可能是系统低内存回收(LMK)杀了进程,这种情况不算Bug,但如果频繁发生,要查上游原因。

我在实际工作里的体会是,Monkey测试最容易被忽略的是结果整理。跑完8小时Monkey,日志里可能有几百条ANR或异常,如果不按模块分类整理,开发根本没法处理。这个东西在笔试里体现为“如何分析Monkey输出”——会回答“跑完看有没有crash和anr”的人,和会回答“按进程、事件序列、异常类型分层分析,再结合logcat定位到具体模块”的人,水平差距一眼可见。

5. 常见问题与避坑指南

5.1 笔试答题中的易错点盘点

从阅卷角度说,我见过太多有潜力但拿不到分的学生,原因往往不是不会,而是踩了这几个坑:

概念混淆型:把“内存泄漏”和“内存溢出”混为一谈。内存泄漏是产生了无法释放的对象,导致可用内存越来越少,是“慢性病”;内存溢出是内存直接被用完导致崩溃,是“急性病”。在Android里,内存泄漏通常用LeakCanary或MAT分析堆栈来定位,内存溢出则表现为OOM(OutOfMemoryError)。笔试里用判断题考这个,就是在筛概念不牢的人。

绝对化表述型:所有选项里出现“一定”“完全”“只要……就……”的,大概率是错误项。测试这个行业本身就是处理不确定性,对绝对化的表述要保持天然的警惕。比如“自动化测试可以完全替代手工测试”这种选项,在判断题里闭着眼选False就对了。

用例设计流水账型:前面说了,用例设计题最忌流水账。但实际阅卷时,我看到60%以上的考生都在写“打开App-设置闹钟-保存-看能否设置成功”。这种用例太“线性”了。好的用例设计一定要有分支,要有反向思维,要主动考虑异常条件。比如设置闹钟时把时间设为过去的时间点,App是提示错误还是自动跳到明天?这种边界值在笔试里是加分项。

不写前提条件型:很多人在设计用例时直接写操作步骤,没有前置条件和预期结果。这在笔试里会直接扣分。实际工作中,测试用例的三要素(前置条件、操作步骤、预期结果)是铁律,笔试不写说明你还没有养成专业习惯。

5.2 从笔试到面试:测试思维怎么展现

笔试过后就是面试。很多同学笔试能过,面试却败在“只会背概念,不会讲场景”。我这里给一个极其有效的方法论:所有回答都用“因为……所以……”结构

面试官问“你怎么设计相机应用的测试用例”,不要回答“我会测拍照、录像、美颜、滤镜”。这种回答像目录,不像思考。正确方式是:因为相机的核心链条是“取景-对焦-拍照-编码-存储”,所以我的用例会按主链路优先设计;因为在弱光和逆光环境下相机的曝光算法最容易出问题,所以这两个场景会纳入重点专项;因为在内存不足时图像编码最容易崩溃,所以我会把低内存拍照作为独立用例设计。

这一段回答里,“因为”后面展示的是你对场景的判断,“所以”后面展示的是测试策略的推导过程。这个思维方式在笔试的简答题里同样管用,而且是拿高分的关键。

面试官还可能会追着某个答案往下挖。比如你说了“用adb logcat抓日志”,他可能会问“日志一般存在哪里”“怎么过滤关键字”“怎么判断关键日志”。这就要求你平时真的在真机上跑过。我的建议是,哪怕你还没入职,自己也要有一台Android手机,熟悉adb常用命令,比如:

adb devices adb logcat -v time > log.txt adb shell dumpsys meminfo <package_name> adb shell top -n 1 | head -20 adb shell am start -W <package_name>/.MainActivity

这几个命令是测试基本功,笔试不提,但面试现场演示会很加分。


最后再分享一个我实际带人时的体会:手机测试这套笔试内容,更像是一面镜子,照出的是你对“系统”的理解有多深。背概念可以过笔试,但过不了试用期。真正想在手机测试这条路上走得远的人,一定要给自己创造真机操作的机会,去刷机、去抓崩溃日志、去研究WLAN和蓝牙的共存干扰。那些看似“没必要手动折腾”的底层细节,恰恰是未来你和其他测试拉开差距的地方。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/7 21:42:37

信号与系统提分捷径:核心公式速通与考点全解析

信号与系统提分捷径&#xff1a;核心公式速通&#xff0c;考点一次讲清到了期末或者考研冲刺阶段&#xff0c;很多同学复习「信号与系统」时会陷入一种奇怪的状态&#xff1a;书翻了好几遍&#xff0c;课也听了&#xff0c;笔记密密麻麻&#xff0c;但一做题就卡壳。尤其是卷积…

作者头像 李华
网站建设 2026/9/5 23:16:16

MATLAB拟合工具箱完全指南:从cftool界面到fit函数批量拟合

MATLAB 拟合工具箱&#xff08;Curve Fitting Toolbox&#xff09;是数据分析和科研绘图里非常高频的一个工具&#xff0c;但你有没有遇到过这种情况&#xff1a;数据已经导入工作区&#xff0c;却不知道用哪个拟合函数&#xff1b;或者用 cftool 拉了几分钟曲线&#xff0c;生…

作者头像 李华
网站建设 2026/9/5 21:54:56

用友秋招Java笔试题复盘:从基础算法到企业级开发思维

我当年投用友的时候&#xff0c;笔试拖了两个星期才开考&#xff0c;心情已经从“得好好准备”变成了“求个整场体验”。结果打开答题页一看&#xff0c;还真没白等——这份题不是那种背了八股文就能过的卷子&#xff0c;它更在意你有没有真正写过代码、调过SQL、理解过一个系统…

作者头像 李华
网站建设 2026/9/6 9:17:35

AI落地缺的不是技术,而是有领导力的管理层

今天的 AI 已经够用&#xff0c;缺的是有领导力的管理层 这两年&#xff0c;我越来越多地听到一种抱怨&#xff1a;公司引进了大模型&#xff0c;买了 API&#xff0c;甚至搭建了私有化平台&#xff0c;结果半年过去&#xff0c;AI 项目还停留在“几个技术同学自己玩一玩”的状…

作者头像 李华
网站建设 2026/9/4 13:03:06

多 Agent 协作实战:Python 实现最小版 Bot Mode 编排与上下文隔离

很多做 AI Agent 的同学都会碰到同一种尴尬&#xff1a;单个 Agent 写周报、查资料、改代码都能完成&#xff0c;可任务一旦带上“然后”“同时”“分别”这类词&#xff0c;比如“先查最近 1 小时的线上错误日志&#xff0c;再做根因分析&#xff0c;按模块生成日报&#xff0…

作者头像 李华
网站建设 2026/9/5 11:08:26

从《后西游记》定档看AIGC长剧的工程化生产之道

看到《后西游记》定档 8 月 31 日、还要登陆湖南卫视黄金档这条消息时&#xff0c;我的第一反应不是“AI 也太强了”&#xff0c;而是“生产方式终于被摆到了台面上”。 国内首部 AIGC 长剧&#xff0c;这个标签真正值得讨论的不是某一帧画面有多惊艳&#xff0c;也不是哪个大…

作者头像 李华