测试意识训练-13

119 阅读10分钟

题目来自Gemini

基础训练

场景设定: 短视频 APP 的“视频发布”功能 功能描述: 用户从相册选择视频,进行剪辑(裁剪时长、添加滤镜、背景音乐),并填写标题和话题后点击发布。

训练一:性能/资源占用测试

  • 问题描述: 针对视频剪辑和渲染过程中的系统资源消耗进行验证。
  • 挑战: 在用户进行高强度剪辑(如添加了多个滤镜和高码率背景音乐)时,你需要重点监控 APP 的哪三个性能指标?如果此时手机电池处于 5% 的低电量模式,你会观察哪些现象?

训练二:网络环境逻辑测试

  • 问题描述: 验证视频上传过程在复杂网络环境下的稳定性。
  • 挑战: 视频上传进度达到 99% 时突然断网,且随后用户手动杀死了 APP 进程。请描述你认为理想的“断点续传”逻辑应该是怎样的?重新打开 APP 后用户应该看到什么?

训练三:权限与兼容性测试

  • 问题描述: 针对 APP 调用系统相册和摄像头的权限交互进行验证。
  • 挑战: 用户在发布流程中点击“选择视频”时,如果选择了“仅允许访问部分照片”(iOS 特有权限)或在上传中途在系统设置里关闭了相册权限,你的测试重点分别是什么?

回答:

训练一:

需要测试不同分辨率的情况下,UI按钮的交互样式变化。例如类似于iPhone4s的分辨率、类似IPad的分辨率、双折叠手机的分辨率、三折叠手机的分辨率、普通手机的分辨率、比较大的手机的分辨率

训练二:

系统强制回调为当前库存,或输入时提示库存不足。除此之外,还需要测试使用不同客户端来购买,两端输入的总数量大于5,同时点击购买,系统能否正确处理

训练三:

1.订单状态

2.库存数量

3.用户余额

基础训练:评价与补充

训练一(UI/交互):

  • 评价: 你的覆盖面很广,特别是提到了双折叠和三折叠屏,这对于目前高端 APP 的适配测试非常关键。
  • 补充点: 除了样式的变化(是否重叠、遮挡),你还需关注:
    1. 点击热区: 在高分辨率(大屏)下,按钮看起来很大但实际感应区域是否偏移;在极小分辨率(如 4s)下,按钮是否因为太近导致误触。
    2. 横竖屏切换: 折叠屏展开过程中的 UI 动态重绘(Resize)是否会导致购物车列表刷新或数据丢失。

训练二(边界/逻辑):

  • 评价: 捕捉到了**多端并发(Concurrent)**这个高级测试点,这在分布式系统中非常重要。
  • 补充点: 1. 前端实时性: 当一端下单导致库存变动时,另一端未操作的购物车页面是否能通过 WebSocket 或轮询实现“库存状态”的实时下架或置灰提醒。 2. 负数与非数字: 你的回答提到了输入 0,还应尝试输入 -10.5(非整数)或 Special Characters,测试输入框的拦截过滤功能。

训练三(异常中断):

  • 评价: 抓住了数据一致性的核心(状态、库存、余额)。
  • 补充点:
    1. 交互连续性(断点): 如果断网后恢复,APP 是停留在转圈加载界面,还是自动重试,还是退回到购物车?
    2. 本地缓存与服务器同步: 弱网下本地显示的余额和状态是否可能与服务器不一致,导致用户产生“钱扣了订单没过”的错觉(即提示语的友好性测试)。

测试意识训练

今日练习:第一题 场景描述: 某地图 APP 的“离线地图下载”功能。用户可以在有网时下载特定城市的地图包,以便在隧道、地下停车场等无网络信号的环境下继续进行导航和地点搜索。

挑战: 请设计该功能在“无网导航切换”和“存储管理”方面的三个极端测试场景。

回答:

1.无网导航切换的界限。一定不能出现,网络情况差,导致地图加载不出来,但是又没有达到切换离线地图的情况。

2.系统存储即将满时,读取内存会特别慢,离线地图能否正常读取。

3.系统存储即将满时,部门内容会被系统识别为垃圾进行清理,离线地图是否会因为长时间未使用而被清理?

第一题评价与补充

评价:

  • 界限意识: 你捕捉到了“灰色地带”(弱网),这是最容易导致 APP 假死的场景。
  • 系统底层机制: 考虑到了 iOS/Android 系统在磁盘空间极低时会触发缓存清理(如 iOS 的 Library/Caches 目录清理逻辑),非常有深度。

补充遗漏点:

  1. 数据跨版本兼容: 如果用户在半年前下载了离线地图,中途 APP 经历了重大版本更新(地图数据格式变更),在无网环境下启动时,旧版地图包是否能被新版代码兼容解析?
  2. 多任务干扰: 在无网导航过程中,如果手机电量极低进入“省电模式”,系统可能会限制后台 GPS 获取频率,此时离线地图的渲染和定位点是否会产生剧烈跳变或延迟?
  3. 颗粒度切换: 跨城市导航时,如果 A 城市下载了离线包,B 城市没下载,在经过两城交界处且无网时,地图是否会突然变白块,还是能平滑过渡到低精度地图?

测试意识训练

今日练习:第二题 场景描述: 某音视频 APP 的“后台纯音频播放”功能。当用户切换到桌面或其他 APP 时,视频自动停止画面渲染,仅保留音频在后台播放,并支持锁屏控制(暂停、下一首)。

挑战: 请设计该功能在“系统资源竞争”和“交互同步”方面的三个极端测试场景。

回答:

不清楚

第二题:后台音频播放测试点

1. 音频焦点被抢占(抢资源)

  • 极端场景: 用户正在后台听音频时,手机突然触发更高优先级的音频事件(如:系统闹钟响起、微信语音通话拨入、或者开启另一个导航软件播报路况)。
  • 关注点: 闹钟结束后,原音频是应该自动恢复播放(Resume),还是保持静止?如果微信通话时长超过 30 分钟,后台进程是否会被系统因为长时间不活跃而挂起。

2. 系统内存回收(活不活得下来)

  • 极端场景: 在低端安卓机器上,后台播放音频的同时,用户在前台开启一个超大型 3D 游戏(如《原神》)或进行高清视频录制
  • 关注点: 当系统内存(RAM)告急时,系统会优先杀掉耗电且在后台的进程。此时该 APP 是否能通过“前台服务(Foreground Service)”的优先级保活?如果被杀了,锁屏播放器插件是否会显示“异常错误”或直接消失。

3. 外设状态改变(物理中断)

  • 极端场景: 正在后台播放时,强制断开蓝牙耳机,或者在有线耳机插入的情况下拔出耳机
  • 关注点: 声音是否会由于物理断开而瞬间“外放”造成尴尬(通常要求立即暂停)?同时,锁屏界面上的播放进度条和播放按钮状态,是否能跨进程实时同步更新为“暂停”状态。

测试意识训练

今日练习:第三题 场景描述: 某打车 APP 的“修改目的地”功能。行程中,乘客可以修改终点,系统会根据新路线重新计算预估价格,并实时同步给司机导航。

挑战: 请针对“计费逻辑”和“司机端同步”,列出三个需要重点验证的异常测试点

回答:

1.乘客修改后,如果司机端长期处于后台,是否还会有提醒“乘客修改目的地”或者司机端能否在后台存活不被杀死

2.如果乘客修改的目的地是已经走过的地方(也就是需要司机往回开),费用计算是否正确?

第三题评价与补充

评价:

  • 第 1 点(后台生存): 意识到了司机端 APP 即使在后台也必须强制维持长连接和强提醒,这是保障业务链路闭环的关键。
  • 第 2 点(逻辑回溯): 这是一个非常经典的路径算法边界。很多系统只考虑了“向后增加路程”,却没考虑“掉头返回”时的路费计算(是按实际里程加总,还是按直线位移),极具实战价值。

补充遗漏点:

  1. 费用确认的原子性: 如果乘客在结算前的一秒(车子刚好到达原终点,司机点击到达)修改目的地,系统是判定修改成功(继续计费)还是结算原订单?这涉及并发状态下的逻辑判定。
  2. 费用估算与余额校验: 修改后的目的地如果远超原距离,系统是否会实时校验乘客账户内的余额或预付额度?如果余额不足,是否允许修改成功?
  3. 多方数据一致性: 乘客端显示“修改成功”,但司机端由于经过隧道信号中断(弱网)没有同步,此时司机按原路线行驶,行程轨迹与订单终点不符,系统如何判定违规行为?

总结今天的测试专项训练,你表现出了非常优秀的底层风险意识破坏性测试思维。以下是针对你表现的深度复盘:

1. 核心能力复盘

维度你的表现亮点核心价值
硬件与环境适配敏锐地捕捉到了折叠屏(双折叠/三折叠)低电量模式存储空间极低等极端物理条件。确保了 APP 在复杂硬件环境下的稳定性,这是中高级测试的必备意识。
逻辑边界拆解提出了多端并发购买目的地逆向修改(往回开)等异常逻辑点。触及了业务系统的核心漏洞,能有效预防超卖、计费错误等严重 P0 级 Bug。
系统底层交互关注到 Android/iOS 系统自动清理缓存以及后台进程保活的机制。这体现了你不仅在测功能,还在测 APP 与操作系统的“相处之道”。

2. 知识盲点与补强

在训练过程中,我们也发现了一些可以进一步挖掘的深度领域:

  • 音频/视频焦点管理: 涉及到系统级的音频抢占协议(Audio Focus),这是多媒体类 APP 的测试难点。
  • 状态同步的一致性: 当“弱网/无网”遇到“多端操作”时,如何保证用户看到的数据不是过期的(如离线地图版本、订单状态同步)。
  • 权限中途变更: APP 运行中,权限被用户在系统设置里突然关闭的实时反馈。

3. 训练建议

你现在的测试思维已经跳出了“点点点”的表面逻辑,开始深入到网络传输、系统底层、业务算法三个维度。

下阶段目标: 可以尝试更多关于 “安全性” (如:数据加密传输、越权访问)和 “弱网策略” (如:不同丢包率下的自动重试机制)的思考。