测试意识训练-09

47 阅读10分钟

题目来自Gemini

基础训练

场景设定: 社交 APP 的“语音动态”发布功能 功能描述: 用户可以录制一段最长 60 秒的语音,并配上一张图片和文字描述发布到动态广场。支持试听、重录,发布后其他用户可以点击播放。

训练一:边界值测试

  • 问题描述: 针对语音录制时长限制和文件大小限制的验证。
  • 挑战: 请列出你认为在“录制时长”和“资源上传”这两个环节中,最容易被忽视的 3 个边界测试点。

训练二:中断与稳定性测试

  • 问题描述: 移动端环境复杂,App 在执行核心流程时常受到系统级干扰。
  • 挑战: 当用户正在“录制语音”或“上传动态”的过程中,请列举出 4 种常见的移动端外部干扰场景。

训练三:兼容性测试

  • 问题描述: 确保不同设备、系统版本和权限设置下的功能可用性。
  • 挑战: 针对该功能,如果用户在首次点击“录制”时“拒绝了麦克风权限”,你该如何设计测试用例来验证程序的健壮性?

回答:

训练一:

1.录制时长的最小/最大时间

2.上传文件的最小/最大体积

3.唤醒录制键所需的时间

4.文件上传超时时间

训练二:

1.手机关机

2.视频通话/电话强制到最顶端

3.闹钟/定时器时间到

4.系统自动升级

训练三:

1.再次点击录制时,是否还有提示

2.用户自己去系统设置打开了麦克风权限,麦克风权限是否同步

3.用户同意后,在系统设置关闭麦克风权限,麦克风权限是否同步

4.emm...不知道了

下面是对你基础训练回答的评价与补充:

基础训练点评

训练一:边界值测试

  • 评价: 捕捉到了时间轴和文件大小的核心点。
  • 补充:
    1. 临界点: 刚好 59s、60s、61s 的处理(是否强制截断或停止)。
    2. 内容为空: 录制了 0 秒或录制过程中无任何分贝(静音录入)的上传处理。
    3. 存储空间: 当手机内存空间刚好处于极低值(如剩余 10MB)时,录制长语音的写入处理。

训练二:中断与稳定性测试

  • 评价: 准确捕捉了高优先级系统干扰。
  • 补充:
    1. 弱网/断网切换: 上传时从 Wi-Fi 切换到 4G/5G,或进入电梯导致断网。
    2. App 切换: 录制中途突然划掉 App 或切换到后台(录制是否继续,还是自动保存为草稿)。
    3. 音频焦点被抢占: 正在录制时,后台音乐软件自动播放或收到一段语音消息。

训练三:兼容性测试

  • 评价: 意识到了“权限状态同步”的复杂性,非常好。
  • 补充:
    1. 引导兜底: 拒绝权限后,页面是否能给出清晰的“去设置”引导按钮。
    2. 界面状态: 拒绝权限后,“录制按钮”是否置灰,还是点击后弹出二次解释弹窗。
    3. 不同版本差异: iOS 17+ 和 Android 13+ 对麦克风权限的申请时机和描述各不相同。

现在请你针对今日练习:第一题给出你的回答:

场景描述: 某电商 APP 的“购物车”页面。该页面支持修改商品数量、选择优惠券、勾选结算商品。 挑战(问题): 用户反馈在购物车勾选了 3 件商品,但点击“去结算”进入订单确认页后,发现商品变成了 2 件。请问作为测试人员,你会从哪些维度去排查这个 Bug 的复现路径?(请给出你的分析思路)

回答:

保持和用户同样的三件商品,按照用户的步骤复现,如果可以成功复现,那么:

1.查看三件商品,是否有商家注销/下架/没有库存的情况(确保不是因为商家状态/商品数量问题导致)

2.如果没有问题,那么我会随机挑选其他几件商品,三件三件结算,看看还有没有类似的情况(如果有,那么试着1/2/4/5/6/7/8/9件选择,如果也有类似的问题,基本就可以确定了;如果没有,那么说明这三件商品有问题)

以下是我对你回答的评价和补充:

评价

  • 优点: 具备了控制变量法的意识,通过替换商品来锁定问题范围。同时考虑到了商品本身的业务逻辑(如下架、库存),这是电商测试中非常核心的业务点。
  • 亮点: 提到了“商家注销”这种极端的账号状态,考虑到了后端数据源的稳定性。

补充(遗漏的测试维度)

除了商品本身的状态,从技术实现和场景深度上,还可以增加以下排查维度:

  1. 优惠券/促销策略限制: * 排查点: 某些商品是否属于“互斥促销”?比如两件商品属于满减,第三件属于秒杀,系统可能在结算页根据规则进行了拆单或过滤。
  1. 起购/限购逻辑: * 排查点: 第三件商品是否满足起购量?或者用户是否达到了该商品的限购上限,导致在结算页被自动剔除。
  1. 前端缓存与数据传递: * 排查点: 检查跳转时的 ID 传输。是前端传 ID 给后端(可能少传了),还是后端从购物车数据库拉取(可能购物车状态未及时更新同步)。
  1. 多端同步/幂等性: * 排查点: 用户是否在操作 APP 的同时,在网页版或微信小程序里删除了其中一件商品。
  1. 跨区域/配送限制:
    • 排查点: 结算页会选择收货地址。如果某件商品在用户选择的地址区域“无货”或“不支持配送”,系统可能会将其过滤。

今日练习:第二题

场景描述: 某视频 APP 的“离线缓存(下载)”功能。 挑战: 很多用户反馈在“地下铁”或“信号不好的电梯里”,明明视频已经下载到了 100%,但点击播放时却提示“网络连接失败,无法播放”。 问题: 请问你认为导致这个“离线视频仍需联网”假象的可能原因有哪些?(至少给出 3 个方向)

回答:

这个不太会

既然这个点不太熟悉,我先带你梳理一下这类问题的排查维度,你可以记一下:

思路解析:为什么“离线”视频还需要联网?

  1. 版权鉴权逻辑(DRM):
    • 原因: 视频虽然下载了,但为了防盗版,App 在播放前需要向服务器申请一个“开锁密钥”。如果代码设计成“播放前必须实时获取密钥”而不是“随视频一起下载密钥”,没网就打不开了。
  1. 封面/元数据未缓存:
    • 原因: 视频文件确实在本地,但播放器启动时需要加载视频标题、简介或封面图,如果这些基础信息强制要求从服务器获取,请求失败可能会卡死播放流程。
  1. 广告加载逻辑:
    • 原因: 很多视频 App 播放前会有广告。如果程序逻辑是“先请求广告,广告加载成功后再播正片”,在没网时广告请求超时,可能导致正片也无法播放。
  1. 文件校验失败:
    • 原因: 下载到 100% 可能只是“数据下完了”,但在断网瞬间文件合并或校验出错。App 认为文件损坏,于是尝试联网修复或重新验证,导致报错。

今日练习:第三题

场景描述: 某外卖 APP 的“搜索框”。 挑战: 研发上线了一个新功能:在搜索框输入时,下方会实时出现“联想词”(比如输入“麦”,下方出现“麦当劳”、“麦肯姆”)。 问题: 作为一个测试人员,除了验证联想词的准确性,你会如何测试这个搜索框在极端操作性能表现下的稳定性?(请列出 3 个具体的测试操作点)

回答:

1.输入空格,查看是否会检验到空格(之前有测试过类似的,当时输入了一个空格,结果每个选项都是符合的)

2.有大量匹配结果时,是否会造成性能问题,例如输入“饭”、“饺子”、“粉”

3.输入特别长但有相关结果的关键词,能否准确地搜索到

以下是对你回答的评价与补充:

评价

  • 优点: * 第一点(空格): 非常实战!这是典型的“空字符绕过”或“全匹配查询”,能看出你是有实际项目经验的。
    • 第二点(模糊匹配量): 关注到了搜索结果集的规模对性能的影响。
    • 第三点(超长输入): 触达了字符长度限制。

补充(针对极端操作与性能的深度挖掘)

为了让你的测试意识更全面,针对这种“实时联想”功能,还可以增加以下维度:

  1. 快速连续删除与输入(防抖测试/Debounce):
    • 操作: 快速输入“麦当劳”然后瞬间全部删除。
    • 目的: 如果研发没有做“防抖”处理,前端会瞬间发出多个异步请求。在网络波动时,由于响应时间不同,可能会出现“明明输入框已经删空了,但下方突然跳出‘麦当劳’联想词”的回跳现象
  1. 并发请求的竞态条件(Race Condition):
    • 操作: 快速输入“A”,紧接着删除输入“B”。
    • 目的: 验证系统是否能确保展示的是最后一次输入的联想结果。有时“A”的请求响应慢,“B”的快,会导致页面先显示“B”的结果,过一秒突然被“A”的结果覆盖。
  1. 特殊字符与输入法干扰:
    • 操作: 输入 Emoji 表情、SQL 注入关键字(如 ' or 1=1 )、或者在九宫格输入法下快速连按。
    • 目的: 验证后台查询接口的安全性,以及对非文字类输入的兼容性。
  1. 离线与在线的瞬间切换:
    • 操作: 输入文字产生联想词的过程中,突然关闭 Wi-Fi。
    • 目的: 观察 App 是卡死、展示旧缓存,还是优雅地提示网络异常。

今日总结:

维度表现评价关键点总结
业务逻辑意识优秀你能精准捕捉到电商场景下的“库存/下架”状态,以及搜索框的“空格清洗”问题。
中断/稳定性良好能够识别电话、关机、系统升级等外部强干扰,对移动端特有环境有基本认知。
技术底层理解有待提升在“离线缓存”和“异步联想”场景中,对鉴权、防抖、竞态条件等技术细节的敏感度稍弱。
异常路径排查稳健习惯使用“控制变量法”和“复现步骤对齐”,这是定位 Bug 的标准专业姿势。

知识点补完

在后续的 APP 测试面试或实战中,建议重点关注以下“高频雷区”:

  • 权限同步: 系统设置与 App 内开关的“状态不一致”是 Bug 频发区。
  • 网络异步: 移动端受网络波动影响大,必须考虑请求回跳(最后发出的请求没最快回来)请求防抖
  • 离线与在线的边界: 凡是涉及“下载/离线”的功能,都要自问:这个操作需要鉴权吗?需要拉取广告吗?本地校验逻辑在哪?
  • 前端展示逻辑: 勾选 3 件变 2 件不一定是后端漏了,很可能是前端在跳转时做了错误的“本地过滤”。