¥
立即购买

安卓功能测试用例设计专家

52 浏览
2 试用
0 购买
Nov 30, 2025更新

本提示词专为安卓应用开发场景设计,能够根据具体功能需求生成专业、规范的测试用例描述。通过系统化的分析流程,确保测试用例覆盖功能要点、边界条件和异常场景,输出结构清晰、可执行性强的测试方案。适用于功能验证、回归测试、质量保障等多种测试场景,帮助开发者和测试人员提升测试效率和质量。

以下为“安卓登录认证模块”回归深度测试用例集。除特别说明外,所有功能用例需在如下执行矩阵中覆盖:

  • 安卓版本:Android 8、9、10、11、12、13、14
  • 分辨率/机型:小屏(720p)、中屏(1080p)、高分(1440p+)、平板(≥10")、刘海/挖孔屏
  • 语言:简体中文、英文
  • 主题:浅色、深色(含运行时切换)
  • 无障碍:TalkBack 开/关
  • 网络:正常网络、2G/高时延(≥300ms)/丢包(10%~30%)、切网(WiFi ↔ 4G/5G)、断网/飞行模式

通用前置条件(如无特别说明均适用)

  • 可用的测试环境(测试/预发)与接口联调正常
  • 具备测试账号与数据:正常账号、冻结账号、绑定手机号/邮箱的账号、第三方账号
  • 短信/邮箱通道可控(模拟器/沙盒或测试网关),可配置验证码有效期和错误次数阈值N(以配置为准)
  • 弱网与切网工具(如网络仿真器/路由限速)、抓包工具(仅限测试环境)、日志收集工具、埋点校验工具
  • 服务器侧错误码映射文档与埋点字段规范文档可用(用于对照校验)
  • 除安全测试外,不对生产流量进行抓包/攻击测试

—————————— 测试用例1:首次启动未勾选隐私协议禁止进入登录

  • 前置条件:全新安装或清除应用数据
  • 测试步骤:
    1. 启动应用,进入隐私协议展示页
    2. 不勾选“同意”,尝试点击“继续/登录/注册”入口
  • 预期结果:
    • 不允许进入登录或后续页面,按钮置灰或弹出提示
    • 无会话创建、无任何登录请求发送
  • 优先级:高
  • 备注:验证TalkBack朗读协议标题与链接名称准确

测试用例2:勾选隐私协议后进入登录页并状态持久化

  • 前置条件:同上
  • 测试步骤:
    1. 勾选“同意”并点击继续
    2. 杀进程重启应用
  • 预期结果:
    • 首次同意后进入登录页
    • 重启后保持已同意状态,不重复弹窗
  • 优先级:高
  • 备注:深色模式下协议文字对比度≥4.5:1

测试用例3:隐私协议链接可打开且返回不丢状态

  • 前置条件:同上
  • 测试步骤:
    1. 在隐私协议页点击“隐私政策/用户协议”链接进入内容页
    2. 返回
  • 预期结果:
    • 链接内容正常显示
    • 返回后勾选状态保持不变
  • 优先级:中
  • 备注:中英文本不截断

—————————— 测试用例4:手机号+验证码登录成功

  • 前置条件:存在可用手机号A;短信通道可下发验证码
  • 测试步骤:
    1. 输入手机号A,点击获取验证码
    2. 正确输入验证码,点击登录
  • 预期结果:
    • 登录成功,返回用户信息与会话Token
    • 进入登录后首页/目标页
    • 埋点记录结果=success、错误码=0、耗时>0
  • 优先级:高
  • 备注:中英文、深浅色、TalkBack均需验证

测试用例5:手机号格式校验(空/非法/边界)

  • 前置条件:—
  • 测试步骤:
    1. 留空/输入非法长度/非法字符手机号,点击获取验证码/登录
  • 预期结果:
    • 客户端就地校验提示;不发起网络请求
    • 提示文案与错误码映射一致(如本地校验无错误码,埋点仍记录失败原因)
  • 优先级:高
  • 备注:国际区号未在需求中,避免测试

测试用例6:验证码倒计时与限流

  • 前置条件:—
  • 测试步骤:
    1. 连续点击“获取验证码”
    2. 倒计时内再次点击
  • 预期结果:
    • 首次正常下发,进入倒计时
    • 倒计时内禁止重复请求,无新短信发送
    • 超过限流阈值触发相应提示/图形验证码(以配置为准)
  • 优先级:高
  • 备注:埋点包含请求次数、失败原因

测试用例7:验证码错误

  • 前置条件:手机号A
  • 测试步骤:
    1. 输入错误验证码提交
  • 预期结果:
    • 登录失败,错误提示明确(不暴露安全细节)
    • 错误次数累计(用于触发图形验证码/锁定)
    • 埋点记录result=fail、error_code=验证码错误
  • 优先级:高
  • 备注:多次错误后验证是否触发图形验证码

测试用例8:验证码过期

  • 前置条件:知晓验证码有效期T(以配置为准)
  • 测试步骤:
    1. 获取验证码,等待超过T
    2. 输入该验证码提交
  • 预期结果:
    • 提示验证码过期,需重新获取
    • 埋点错误码=验证码过期
  • 优先级:高
  • 备注:弱网下时间同步不影响判定

测试用例9:验证码重发与状态恢复

  • 前置条件:—
  • 测试步骤:
    1. 倒计时结束后点击“重发”
  • 预期结果:
    • 能成功重发;倒计时重置
    • 输入框保留已输入手机号
  • 优先级:中
  • 备注:丢包10%场景下重试提示合理

—————————— 测试用例10:账号+密码登录成功

  • 前置条件:存在账号B(正常)
  • 测试步骤:
    1. 输入账号B与正确密码
    2. 点击登录
  • 预期结果:
    • 登录成功,返回用户信息与Token
    • 埋点success、耗时记录
  • 优先级:高
  • 备注:密码输入框为安全输入类型

测试用例11:密码错误与提示

  • 前置条件:账号B
  • 测试步骤:
    1. 输入错误密码提交
  • 预期结果:
    • 登录失败,错误文案明确;不泄露是否账号存在
    • 累计错误次数
    • 埋点error_code=密码错误
  • 优先级:高
  • 备注:连续错误后触发图形验证码

测试用例12:账号冻结

  • 前置条件:存在冻结账号C
  • 测试步骤:
    1. 输入账号C与任意密码
  • 预期结果:
    • 明确提示账号冻结,不允许继续
    • 若支持申诉入口,链接可用
    • 埋点error_code=账号冻结
  • 优先级:高
  • 备注:TalkBack朗读完整错误

测试用例13:密码边界与特殊字符

  • 前置条件:账号B
  • 测试步骤:
    1. 测试最短/最长长度、包含特殊字符、前后空格
  • 预期结果:
    • 支持配置范围内字符集;前后空格自动忽略或按规范处理
    • 无崩溃/无编码问题
  • 优先级:中
  • 备注:错误码映射正确

测试用例14:显示/隐藏密码与粘贴

  • 前置条件:—
  • 测试步骤:
    1. 切换显示/隐藏密码
    2. 从剪贴板粘贴密码
  • 预期结果:
    • 切换仅影响可见性,不影响值
    • 粘贴可用,日志不记录明文
  • 优先级:中
  • 备注:安全日志校验

—————————— 测试用例15:第三方登录成功(客户端App存在)

  • 前置条件:设备已安装第三方客户端并已登录测试账号D
  • 测试步骤:
    1. 点击第三方登录
    2. 完成授权返回
  • 预期结果:
    • 登录成功,回传用户信息与Token
    • 埋点包含渠道、result、耗时
  • 优先级:高
  • 备注:不暴露第三方返回的敏感token于日志

测试用例16:第三方登录成功(Web授权)

  • 前置条件:设备未安装第三方客户端
  • 测试步骤:
    1. 点击第三方登录,进入Web授权页
    2. 授权完成返回
  • 预期结果:
    • 登录成功
    • 深浅色与TalkBack在Web容器内可用(可验证基本可读性)
  • 优先级:中
  • 备注:网络切换时授权页不丢状态

测试用例17:第三方授权取消

  • 前置条件:—
  • 测试步骤:
    1. 进入授权页后点击取消/返回
  • 预期结果:
    • 回到登录页,提示已取消
    • 埋点result=cancel、error_code=用户取消
  • 优先级:中
  • 备注:无残留会话

测试用例18:第三方返回错误/超时

  • 前置条件:—
  • 测试步骤:
    1. 在授权页制造错误(如拒绝权限/超时)
  • 预期结果:
    • 明确错误提示,可重试
    • 埋点error_code映射正确
  • 优先级:中
  • 备注:弱网场景覆盖

—————————— 测试用例19:图形验证码触发与显示

  • 前置条件:配置错误次数阈值N
  • 测试步骤:
    1. 连续输错验证码/密码达到N
  • 预期结果:
    • 显示图形验证码输入框与图片
    • 图片清晰可辨,在深色模式可见
  • 优先级:高
  • 备注:TalkBack读出“图形验证码”说明

测试用例20:图形验证码校验成功/失败

  • 前置条件:已出现图形验证码
  • 测试步骤:
    1. 输入正确/错误的图形验证码登录
  • 预期结果:
    • 正确:进入后续流程
    • 错误:提示并可刷新
  • 优先级:高
  • 备注:失败次数计数埋点

测试用例21:图形验证码刷新与过期

  • 前置条件:已出现图形验证码
  • 测试步骤:
    1. 点击刷新
    2. 等待超过有效期后再提交
  • 预期结果:
    • 刷新成功且图像变化
    • 过期后提示需重新输入
  • 优先级:中
  • 备注:错误码映射正确

测试用例22:错误次数锁定

  • 前置条件:账号B,阈值N
  • 测试步骤:
    1. 连续失败至N+1
  • 预期结果:
    • 账号或行为锁定,出现锁定提示
    • 锁定期间拒绝登录,埋点记录lock事件
  • 优先级:高
  • 备注:解锁策略按配置验证(等待/人工解锁)

—————————— 测试用例23:二次验证选择短信成功

  • 前置条件:账号B开启2FA(短信/邮箱二选一)
  • 测试步骤:
    1. 完成一阶段认证后,在2FA页选择短信
    2. 正确输入二次验证码
  • 预期结果:
    • 登录成功
    • 埋点包含2FA成功
  • 优先级:高
  • 备注:弱网覆盖

测试用例24:二次验证选择邮箱成功

  • 前置条件:账号B绑定邮箱
  • 测试步骤:
    1. 选择邮箱渠道,输入正确验证码
  • 预期结果:
    • 登录成功
  • 优先级:中
  • 备注:邮件到达时间记录

测试用例25:二次验证码错误/过期/切换渠道

  • 前置条件:—
  • 测试步骤:
    1. 输入错误或等待过期后提交
    2. 切换短信↔邮箱后重试
  • 预期结果:
    • 错误/过期有明确提示,允许重发
    • 切换渠道逻辑正确,之前验证码失效
  • 优先级:高
  • 备注:埋点区分失败原因

—————————— 测试用例26:登录后返回用户信息与Token校验

  • 前置条件:成功登录
  • 测试步骤:
    1. 观察登录响应/本地存储
  • 预期结果:
    • 返回的用户信息完整(ID、昵称等按规范)
    • Token存在且后续接口可用
  • 优先级:高
  • 备注:不在UI/日志中展示明文Token

测试用例27:应用重启后登录态保留

  • 前置条件:已登录成功
  • 测试步骤:
    1. 杀进程重启
    2. 进入受保护页面
  • 预期结果:
    • 仍保持登录态,无需重新输入
  • 优先级:高
  • 备注:跨语言/主题不影响

测试用例28:手动退出清理凭证

  • 前置条件:已登录
  • 测试步骤:
    1. 点击退出登录
    2. 重启应用
  • 预期结果:
    • 本地Token与用户缓存清理
    • 回到登录页
  • 优先级:高
  • 备注:抓包验证后续请求不带旧Token

测试用例29:会话自动续期

  • 前置条件:可控会话过期时间
  • 测试步骤:
    1. 在Token接近过期前触发受保护接口
  • 预期结果:
    • 自动续期成功,无感知
    • Token更新或有效期延长
    • 埋点记录续期耗时与结果
  • 优先级:高
  • 备注:多并发只发起一次续期请求

测试用例30:会话过期后重登

  • 前置条件:让Token过期
  • 测试步骤:
    1. 调用受保护接口
    2. 进入重登流程,完成认证
  • 预期结果:
    • 提示会话过期并引导重登
    • 重登后回到原操作或首页(按产品定义)
  • 优先级:高
  • 备注:错误码映射正确

测试用例31:远端登出失效

  • 前置条件:服务端对当前会话触发远端登出(推送/轮询)
  • 测试步骤:
    1. 等待客户端接收通知
    2. 访问受保护页面
  • 预期结果:
    • 客户端立即退出登录态,本地凭证失效
    • 访问受保护页面需重新认证
  • 优先级:高
  • 备注:埋点记录logout_remote

测试用例32:并发续期去重与一致性

  • 前置条件:Token接近过期
  • 测试步骤:
    1. 并发触发多个接口请求
  • 预期结果:
    • 仅一次续期请求生效,其余复用
    • 不出现Token错乱/401风暴
  • 优先级:中
  • 备注:日志无异常

测试用例33:旧Token重放无效

  • 前置条件:抓取登录后旧Token(测试环境)
  • 测试步骤:
    1. 退出登录后用旧Token访问受保护接口
  • 预期结果:
    • 访问被拒绝(401/403)
    • 日志/埋点记录攻击/异常但无敏感信息
  • 优先级:高
  • 备注:安全校验

—————————— 测试用例34:弱网-2G登录

  • 前置条件:网络限速为2G
  • 测试步骤:
    1. 进行手机号/密码/第三方登录
  • 预期结果:
    • UI有加载态,未ANR
    • 超时后明确提示,可重试
    • 埋点耗时显著上升
  • 优先级:高
  • 备注:超时阈值符合规范

测试用例35:高时延与丢包重试策略

  • 前置条件:延迟≥500ms 且丢包20%
  • 测试步骤:
    1. 登录与获取验证码
  • 预期结果:
    • 有限次数重试与退避
    • 不重复触发多次埋点/重放请求
  • 优先级:中
  • 备注:按钮防抖可用

测试用例36:切网过程稳定性

  • 前置条件:—
  • 测试步骤:
    1. 登录中从WiFi切至4G/5G或反之
  • 预期结果:
    • 不崩溃,不黑屏
    • 失败有提示,允许重试
  • 优先级:高
  • 备注:第三方授权页同样验证

测试用例37:登录中断网/飞行模式

  • 前置条件:—
  • 测试步骤:
    1. 提交后立即断网
  • 预期结果:
    • 明确网络错误,无数据错写
    • 恢复网络可重试
  • 优先级:高
  • 备注:埋点error_code=网络异常

—————————— 测试用例38:国际化文案与错误码映射(中英)

  • 前置条件:错误码映射文档
  • 测试步骤:
    1. 分别触发成功/验证码错/过期/密码错/冻结/锁定等
    2. 切换中英语言逐项核对
  • 预期结果:
    • 文案对照映射正确、不截断、不乱码
    • 埋点错误码与UI提示一致
  • 优先级:高
  • 备注:时区/日期不涉及

测试用例39:深色/浅色主题适配

  • 前置条件:—
  • 测试步骤:
    1. 系统主题切换前台/运行时切换
    2. 检查验证码图片、输入框、按钮
  • 预期结果:
    • 颜色对比度达标,图片清晰
    • 切换不丢表单数据
  • 优先级:中
  • 备注:第三方授权页主题不强制

测试用例40:多分辨率与横竖屏

  • 前置条件:多设备/模拟器
  • 测试步骤:
    1. 在不同分辨率与横竖屏登录
  • 预期结果:
    • 布局不溢出/不遮挡,软键盘不覆盖输入框
  • 优先级:中
  • 备注:异常弹窗位置正确

—————————— 测试用例41:无障碍-TalkBack朗读与焦点

  • 前置条件:开启TalkBack
  • 测试步骤:
    1. 逐项聚焦输入框、按钮、错误提示、图形验证码
  • 预期结果:
    • 控件有语义化label,焦点顺序自上而下
    • 错误提示自动朗读
  • 优先级:高
  • 备注:触控目标≥48dp

测试用例42:验证码输入辅助朗读

  • 前置条件:开启TalkBack
  • 测试步骤:
    1. 输入/删除验证码
  • 预期结果:
    • 逐位朗读,错误时有提示
  • 优先级:中
  • 备注:不朗读验证码具体内容到日志

—————————— 测试用例43:埋点-登录成功事件

  • 前置条件:埋点查看工具可用
  • 测试步骤:
    1. 完成一次成功登录
  • 预期结果:
    • 发送登录成功事件,含字段:result=success、error_code=0、duration_ms>0
    • 仅发送一次,无重复
  • 优先级:高
  • 备注:事件命名与规范一致

测试用例44:埋点-失败场景覆盖

  • 前置条件:—
  • 测试步骤:
    1. 触发验证码错/过期/密码错/冻结/锁定/网络异常等
  • 预期结果:
    • 事件携带error_code准确、duration_ms合理
    • 文案与错误码映射一致
  • 优先级:高
  • 备注:去重策略有效

测试用例45:埋点-二次验证与第三方授权

  • 前置条件:—
  • 测试步骤:
    1. 完成2FA成功/失败、第三方授权成功/取消/失败
  • 预期结果:
    • 分渠道事件齐全,字段规范
  • 优先级:中
  • 备注:时序:登录开始→授权/2FA→结果→耗时结束

—————————— 测试用例46:安全-传输加密与禁明文

  • 前置条件:测试环境抓包
  • 测试步骤:
    1. 在登录与2FA过程中抓包
  • 预期结果:
    • 全程HTTPS,报文无明文密码/验证码/Token
  • 优先级:高
  • 备注:仅限测试环境进行

测试用例47:安全-日志脱敏

  • 前置条件:可获取本地日志
  • 测试步骤:
    1. 触发成功/失败登录、2FA、续期
    2. 检查日志
  • 预期结果:
    • 手机号/邮箱/密码/验证码/Token脱敏或不记录
  • 优先级:高
  • 备注:错误码/trace不含隐私

测试用例48:安全-OTP重放防护

  • 前置条件:获取一次正确验证码
  • 测试步骤:
    1. 使用该验证码登录成功
    2. 再次重复提交同一验证码
  • 预期结果:
    • 第二次失败,提示验证码无效/已使用
  • 优先级:高
  • 备注:埋点error_code=重放

测试用例49:安全-接口超时与重试上限

  • 前置条件:服务端注入延迟或弱网
  • 测试步骤:
    1. 登录/2FA请求触发超时
  • 预期结果:
    • 达到上限后停止重试,提示明确
    • 不产生重复订单/重复会话
  • 优先级:中
  • 备注:按钮防抖

测试用例50:安全-第三方回调来源校验

  • 前置条件:—
  • 测试步骤:
    1. 触发第三方回调
  • 预期结果:
    • 仅接受可信来源回调;异常回调被拒
  • 优先级:中
  • 备注:不记录回调敏感参数到日志

—————————— 测试用例51:输入防抖与多次点击

  • 前置条件:—
  • 测试步骤:
    1. 快速多次点击登录按钮
  • 预期结果:
    • 仅一次请求发出
  • 优先级:中
  • 备注:埋点不重复

测试用例52:软键盘与自动填充/凭据管理

  • 前置条件:Android 8+ 自动填充开启
  • 测试步骤:
    1. 调用系统自动填充或密码管理器填充账号/密码
  • 预期结果:
    • 正常填充且可登录
    • 布局不被键盘遮挡
  • 优先级:中
  • 备注:不把敏感信息写入调试日志

测试用例53:系统返回键与页面生命周期

  • 前置条件:—
  • 测试步骤:
    1. 登录中按返回/切到后台/恢复
  • 预期结果:
    • 无崩溃;恢复后状态合理(加载态重置或继续)
  • 优先级:中
  • 备注:组件生命周期无泄露

测试用例54:远端错误码未知兜底

  • 前置条件:服务端返回未文档化错误码
  • 测试步骤:
    1. 模拟未知错误码
  • 预期结果:
    • UI使用兜底文案;埋点记录原始码值
  • 优先级:中
  • 备注:不泄露内部信息

测试用例55:续期过程中切网/断网

  • 前置条件:Token接近过期
  • 测试步骤:
    1. 触发续期同时切网或断网
  • 预期结果:
    • 续期失败有明确提示或静默重试
    • 不影响已有已登录态(不强制登出),按规范处理
  • 优先级:中
  • 备注:埋点区分续期失败与登录失败

—————————— 测试用例56:UI元素适配与可点击性

  • 前置条件:多分辨率设备
  • 测试步骤:
    1. 检查按钮、输入框、验证码图片在不同分辨率/缩放
  • 预期结果:
    • 不重叠、不超出屏幕,点击区域≥48dp
  • 优先级:中
  • 备注:高字体缩放下不截断

测试用例57:错误信息一致性与定位

  • 前置条件:—
  • 测试步骤:
    1. 触发多类错误
  • 预期结果:
    • UI提示、日志、埋点error_code一致
    • 日志可定位问题但无敏感
  • 优先级:高
  • 备注:对照错误码映射文档

测试用例58:第三方授权页返回后状态保持

  • 前置条件:—
  • 测试步骤:
    1. 进入授权页后切前后台/旋转屏幕
  • 预期结果:
    • 返回应用时登录流程可继续,不丢上下文
  • 优先级:中
  • 备注:Activity/Fragment状态保存

测试用例59:验证码图片加载失败兜底

  • 前置条件:拦截验证码图片加载(测试环境)
  • 测试步骤:
    1. 打开图形验证码
  • 预期结果:
    • 显示占位/重试按钮;可刷新重新加载
  • 优先级:中
  • 备注:错误码与埋点准确

测试用例60:会话跨重启与远端登出综合场景

  • 前置条件:已登录;服务端可触发远端登出
  • 测试步骤:
    1. 重启App确认仍登录
    2. 触发远端登出;客户端前台/后台均验证
  • 预期结果:
    • 前台即时退登;后台唤醒后退登
    • 本地凭证失效;访问受保护资源需重登
  • 优先级:高
  • 备注:埋点含logout_remote一次

说明

  • 若未特别声明,所有用例均需在中/英语言、深/浅色主题、TalkBack开关、Android 8-14与指定分辨率矩阵下执行抽样验证关键路径。
  • 错误码与埋点字段以现行规范为准;测试中以文档对照校验一致性。
  • 安全相关测试仅在测试/预发环境执行,确保不影响生产。

以下用例围绕“消息通知与深链跳转”功能进行兼容性全面测试,覆盖 Android 8–14 的版本差异、权限状态、DND、后台受限/电量优化、深链参数校验与降级、渠道配置、统计准确性等重点。每条用例均可独立执行,建议结合设备矩阵与版本矩阵分批执行并记录差异。

测试用例1:首次启动请求通知权限(Android 13+)

  • 前置条件:
    • 设备:Android 13/14
    • 应用首次安装未启动;未授予 POST_NOTIFICATIONS
    • 版本含启动时权限请求逻辑;可在日志中打印权限请求与结果
  • 测试步骤:
    1. 首次启动应用至首页
    2. 观察是否弹出系统通知权限请求弹窗
    3. 选择“允许”
  • 预期结果:
    • 首次启动出现系统权限弹窗
    • 选择允许后,系统状态为已授权;应用内权限状态展示与系统一致
    • 不应出现重复弹窗(除非用户在系统设置中修改)
  • 优先级:高
  • 备注:
    • Android 12- 无此弹窗,需保证不请求不存在的权限

测试用例2:通知权限拒绝路径与提示(Android 13+)

  • 前置条件:
    • 设备:Android 13/14;未授权
  • 测试步骤:
    1. 启动应用,出现系统权限请求弹窗
    2. 选择“不允许”
    3. 在应用内触发一条通知(本地/服务端)
  • 预期结果:
    • 应用内权限状态显示为拒绝,并提供引导入口跳转系统设置开启
    • 触发通知后系统不展示通知;应用内应避免因权限缺失导致的异常(不崩溃/不报错)
  • 优先级:高
  • 备注:
    • 核验埋点:记录用户拒绝事件

测试用例3:通知权限“仅一次/每次询问”(OEM 特性)

  • 前置条件:
    • 设备:支持“仅一次/每次询问”或类似选项的 ROM(如部分国产 ROM)
  • 测试步骤:
    1. 首次启动出现权限弹窗,选择“仅一次/每次询问”
    2. 在会话内触发多条通知
    3. 杀进程重启应用,再次触发通知
  • 预期结果:
    • 会话内通知可正常展示;重启/跨会话后再次触发通知出现再次询问
    • 应用权限状态与系统一致
  • 优先级:中
  • 备注:
    • 明确机型范围;非该类 ROM 可跳过

测试用例4:系统设置中修改通知权限后的同步

  • 前置条件:
    • 设备:Android 13/14;应用已授权
  • 测试步骤:
    1. 前台运行应用 -> 进入系统设置关闭应用通知权限
    2. 回到应用,触发通知
    3. 再次进入设置开启权限并触发通知
  • 预期结果:
    • 应用内权限指示实时同步(或下次进入页面同步)
    • 关闭后通知不展示;开启后恢复
  • 优先级:中
  • 备注:
    • 验证应用对权限变更的监听/容错

测试用例5:通知渠道重要性与行为(Android 8+)

  • 前置条件:
    • 设备:Android 8–14(各版本至少1台)
    • 应用创建多渠道:MIN/LOW/DEFAULT/HIGH/URGENT(Heads-up)
  • 测试步骤:
    1. 分别通过各渠道发送一条通知(标题/正文标准长度)
    2. 观察通知在状态栏、锁屏、横幅、声音、震动、角标的表现
  • 预期结果:
    • MIN:无声音/震动/横幅;仅状态栏/通知抽屉
    • LOW:无横幅;有状态栏
    • DEFAULT:有声音/震动(若配置),无 heads-up
    • HIGH/URGENT:展示 heads-up(前台也可弹横幅,取决于前台策略)
    • 不同 Android 版本对 heads-up 行为一致或有记录在案的差异
  • 优先级:高
  • 备注:
    • 记录各版本差异;Android 13+ 通道行为更严格

测试用例6:渠道声音/震动/显示角标/锁屏隐私配置

  • 前置条件:
    • 各渠道设置不同声音文件、震动模式、是否显示角标、锁屏敏感内容隐藏
  • 测试步骤:
    1. 触发各渠道通知
    2. 切换系统“锁屏显示敏感内容”设置
    3. 切换应用“显示角标”开关(如果可配置)
  • 预期结果:
    • 通道声音、震动与配置一致(Android 8+ 通道不可变属性变更需新建通道)
    • 锁屏敏感内容按系统与通道设置生效(隐藏正文显示“隐藏内容”)
    • 角标开关对桌面图标数显示生效(受 Launcher/OEM 影响)
  • 优先级:高
  • 备注:
    • 不同 ROM 对角标实现不同,记录差异

测试用例7:绕过勿扰模式(Bypass DND)

  • 前置条件:
    • 设备开启系统“勿扰模式”
    • 通道A开启“可绕过勿扰”,通道B未开启;系统设置中允许对应通道绕过
  • 测试步骤:
    1. 通过A、B各发送一条通知
  • 预期结果:
    • 通道A在DND下仍可提醒(声音/震动/横幅按通道)
    • 通道B被DND抑制(无声音/震动;通知抽屉可见)
  • 优先级:高
  • 备注:
    • Android 8+ 通道的绕过需用户在系统设置中启用

测试用例8:渠道属性不可变性验证(Android 8+)

  • 前置条件:
    • 已创建通道C,初始声音=音效1
  • 测试步骤:
    1. 程序尝试将通道C声音改为音效2
    2. 再次发一条通知
  • 预期结果:
    • 通道声音保持音效1;属性修改不生效
    • 若新建通道C2并绑定,通知才使用音效2
  • 优先级:中
  • 备注:
    • 验证通道管理正确性,避免“改旧通道不生效”类问题

测试用例9:通知分组/聚合与展开行为

  • 前置条件:
    • 支持 groupKey 与 summary
  • 测试步骤:
    1. 发送3条同组通知+1条summary
    2. 在通知抽屉展开/收起分组
    3. 清除分组中单条与全部
  • 预期结果:
    • 同组通知聚合显示;展开后展示子项
    • 清除单条仅移除该子项;清除全部移除整个分组与summary
  • 优先级:中
  • 备注:
    • 埋点需记录展开/收起/删除事件

测试用例10:前台横幅与自定义布局展示

  • 前置条件:
    • 应用处于前台;通道重要性为 HIGH/URGENT
    • 自定义 RemoteViews 布局(含按钮、图片)
  • 测试步骤:
    1. 发送通知
    2. 观察前台 heads-up 与自定义内容渲染
    3. 点击布局内按钮/关闭控件
  • 预期结果:
    • 前台弹 heads-up;自定义布局元素完整显示
    • 按钮点击触发对应动作(如“立即查看”“稍后”);关闭控件仅关闭通知
    • 埋点记录横幅展示与按钮点击
  • 优先级:高
  • 备注:
    • Android 12+ 对 PendingIntent 可变/不可变标志要求严格,确保点击可用

测试用例11:后台/冷启动点击深链跳转与携参

  • 前置条件:
    • 应用在后台或被杀进程;通知含深链URL与参数(如 orderId=123,签名)
  • 测试步骤:
    1. 发送通知
    2. 点击通知
  • 预期结果:
    • 冷启动可直接跳转到目标页;参数正确解析与落地(UI显示或日志打印)
    • Android 10+ 后台启动限制不影响从通知点击启动 Activity
  • 优先级:高
  • 备注:
    • 核对多进程/多 Task 场景,避免重复启动或任务栈异常

测试用例12:深链参数非法与签名/过期校验

  • 前置条件:
    • 构造三类无效通知:缺少必填参数、签名错误、时间戳过期
  • 测试步骤:
    1. 依次点击三类通知
  • 预期结果:
    • 缺参:提示“链接无效/参数缺失”,不进入业务页
    • 签名错误:提示安全校验失败,阻断跳转
    • 过期:提示已失效,可跳转到安全兜底页(如首页/消息中心)
    • 埋点记录失败原因码
  • 优先级:高
  • 备注:
    • 避免在失败场景中泄露敏感参数

测试用例13:需登录场景的降级与回跳

  • 前置条件:
    • 用户未登录;深链目标页需登录态
  • 测试步骤:
    1. 点击该通知
    2. 在登录页完成登录
  • 预期结果:
    • 首先跳转到登录页;登录成功后回跳到目标页并携参
    • 取消登录则停留在安全兜底页
  • 优先级:高
  • 备注:
    • 检查参数在登录回跳链路中的透传与安全

测试用例14:目标页面/模块不可用的降级策略

  • 前置条件:
    • 深链指向的功能模块未安装(外部App)或可选动态特性未下载
  • 测试步骤:
    1. 点击通知
  • 预期结果:
    • 外部App未安装:跳转至应用商店/下载引导或H5替代页
    • 动态特性:拉起下载进度并完成后进入目标页;下载失败走兜底页
  • 优先级:中
  • 备注:
    • 确保不会出现空白页/崩溃

测试用例15:静默推送(数据消息)前台/后台/Doze处理

  • 前置条件:
    • 设备可进入Doze;应用具备数据消息处理逻辑与本地日志
  • 测试步骤:
    1. 前台发送数据消息,验证处理
    2. 后台发送数据消息,验证处理
    3. 进入Doze(adb shell dumpsys deviceidle force-idle),发送数据消息
  • 预期结果:
    • 前台/后台及时处理;Doze下可能延迟或批处理(记录到达时间)
    • 不产生可见通知(静默)
    • 处理失败有重试/持久化策略
  • 优先级:高
  • 备注:
    • 记录各版本对数据消息到达时延差异

测试用例16:定时推送的到达时效与时区

  • 前置条件:
    • 服务端/本地定时任务;可记录服务端计划时间与到达时间
  • 测试步骤:
    1. 设置在T+5分钟触发通知
    2. 在触发前将设备切换时区或进入Doze
  • 预期结果:
    • 时区切换不影响触发的目标本地时间基准(按设计)
    • Doze下可能延迟;解除后尽快送达
  • 优先级:中
  • 备注:
    • 区分服务端定时(以服务器时间为准)与本地定时(设备时间)

测试用例17:撤回与清除行为

  • 前置条件:
    • 发送通知后具备撤回接口(根据消息ID)
  • 测试步骤:
    1. 推送通知
    2. 服务端发撤回指令
    3. 用户手动清除通知
  • 预期结果:
    • 撤回后通知从抽屉消失;若已点击则不影响已落地流程
    • 用户清除仅删除本端,不影响后续消息
    • 埋点记录撤回与清除事件
  • 优先级:中
  • 备注:
    • 验证撤回与分组通知交互(撤回子项与summary)

测试用例18:角标更新规则

  • 前置条件:
    • 启用支持角标的 Launcher/ROM
  • 测试步骤:
    1. 连续收到单条通知,观察角标累加
    2. 聚合通知场景下角标变化
    3. 进入应用消息中心已读后角标清零
  • 预期结果:
    • 角标增减与未读计数一致;进入应用后按策略清零/减少
  • 优先级:中
  • 备注:
    • 记录不同 Launcher 差异;部分原生机不显示数字角标

测试用例19:Android 10+ 后台启动限制校验

  • 前置条件:
    • Android 10–14;应用在后台
  • 测试步骤:
    1. 通过通知点击启动目标 Activity
    2. 尝试在后台直接启动 Activity(非通知点击,模拟异常路径)
  • 预期结果:
    • 通知点击可正常启动 Activity
    • 非通知直接后台启动应被系统拦截(符合规范),应用无异常
  • 优先级:中
  • 备注:
    • 确保所有启动均经由 PendingIntent from notification

测试用例20:后台受限/电量优化影响

  • 前置条件:
    • 应用置为“受限后台”“受限电池”(系统设置)
  • 测试步骤:
    1. 发送高优先级通知
    2. 发送数据消息
  • 预期结果:
    • 高优先级通知仍可投递显示(可能延迟)
    • 数据消息在受限下可能延迟或被系统限制,记录实际行为
  • 优先级:高
  • 备注:
    • 对比加入白名单(adb shell dumpsys deviceidle whitelist +pkg)

测试用例21:大内容与多样式兼容

  • 前置条件:
    • 构造大图/BigText/Inbox/Media 样式;超长标题/正文
  • 测试步骤:
    1. 发送多种样式通知
  • 预期结果:
    • 各样式在不同版本正确渲染;超长文本适当截断且不溢出
    • 大图在低内存设备不导致崩溃;降级为文本
  • 优先级:中
  • 备注:
    • 关注 RemoteViews 渲染限制与图片尺寸内存占用

测试用例22:锁屏、铃声静音、耳机/媒体播放时行为

  • 前置条件:
    • 设备锁屏/铃声静音/播放媒体
  • 测试步骤:
    1. 在三种状态下各发送通知
  • 预期结果:
    • 锁屏:按锁屏隐私策略显示
    • 静音:不播放铃声;震动取决于设置
    • 媒体播放:通知声音遵循音频焦点与系统策略(通常不打断)
  • 优先级:低
  • 备注:
    • 记录 OEM 差异

测试用例23:统计-点击/展开/删除/按钮点击准确性

  • 前置条件:
    • 测试环境打入埋点调试开关(本地Log或Mock网关)
  • 测试步骤:
    1. 收到通知后依次执行展开、删除、点击、按钮点击
    2. 断网后点击,再联网
  • 预期结果:
    • 埋点含消息ID、渠道ID、事件类型、时间戳、用户态
    • 断网时本地缓存;联网后重传成功且不重复
  • 优先级:高
  • 备注:
    • 校验去重策略(基于事件ID)

测试用例24:统计-深链参数与落地页曝光一致性

  • 前置条件:
    • 深链携参(如 campaignId、scene、orderId)
  • 测试步骤:
    1. 点击通知进入目标页
    2. 校验目标页曝光/停留时长等埋点是否携带相同参数
  • 预期结果:
    • 参数透传一致;无丢失/乱码
  • 优先级:高
  • 备注:
    • 注意URL编码与多语言字符集

测试用例25:渠道/消息ID变更对统计关联性

  • 前置条件:
    • 不同渠道下同一活动的多条消息;更换渠道ID
  • 测试步骤:
    1. 分渠道推送相同 campaign 的通知
    2. 统计报表查看聚合与去重
  • 预期结果:
    • 以消息ID或campaignID聚合准确;渠道变更不影响活动口径
  • 优先级:中
  • 备注:
    • 明确统计主键与维度

测试用例26:应用进程状态与冷启唤起

  • 前置条件:
    • 强行停止应用/清除数据/未启动进程
  • 测试步骤:
    1. 推送通知并点击
  • 预期结果:
    • 可冷启并进入目标页;初始化流程不阻塞深链跳转
  • 优先级:高
  • 备注:
    • 检查首次初始化与权限请求对跳转的影响

测试用例27:撤回后的边界交互

  • 前置条件:
    • 收到通知后尚未查看
  • 测试步骤:
    1. 服务端撤回通知
    2. 用户此时点击已撤回的通知(Race condition)
  • 预期结果:
    • 若已从抽屉移除则不可点击;若点击恰好命中,后端应返回失效提示,前端兜底不崩溃
  • 优先级:中
  • 备注:
    • 验证幂等与一致性

测试用例28:高频推送与速率限制

  • 前置条件:
    • 具备批量推送能力;记录系统丢弃率
  • 测试步骤:
    1. 短时间内发送>20条通知(不同/同一渠道)
  • 预期结果:
    • 系统可能折叠/丢弃低优先级;应用不ANR/不OOM
    • 聚合策略生效,角标与未读计数正确
  • 优先级:中
  • 备注:
    • 记录不同版本行为差异

测试用例29:Android 8–14 版本差异专项

  • 前置条件:
    • 机型覆盖 Android 8/9/10/11/12/13/14 各至少1台
  • 测试步骤:
    1. 在每个版本执行:权限(13+)、渠道(8+)、heads-up、深链、DND、Doze、后台限制、统计
  • 预期结果:
    • 所有核心功能在各版本均通过;差异点有记录且在设计预期内
  • 优先级:高
  • 备注:
    • 形成版本-行为对照表归档

测试用例30:前台服务限制相关回归(通知与Fgs关联)

  • 前置条件:
    • Android 12/14;应用存在前台服务与常驻通知
  • 测试步骤:
    1. 启动前台服务并展示常驻通知
    2. 停止服务,验证通知清除
  • 预期结果:
    • 常驻通知不可被用户侧滑清除(按标记)
    • 停止服务后通知移除;无异常告警
  • 优先级:低
  • 备注:
    • 确认与普通业务通知不混淆(不同channel)

—— 风险点与重点关注

  • Android 13+ 通知运行时权限:OEM 关于“仅一次/每次询问”差异大,需机型专项覆盖
  • 通知渠道不可变属性:修改旧通道无效易引发“声音不生效”等问题,需严格版本管理与迁移策略
  • DND 绕过需用户系统设置授权:产品预期与实际生效存在偏差风险
  • 后台限制/Doze 对数据消息时延影响显著:关键链路需容忍与重试机制
  • 深链安全:参数签名/过期校验与兜底页面缺失会带来安全与体验风险
  • 动态特性/外部App未安装:降级路径不完整可能出现死链/白屏
  • 自定义布局点击区域:PendingIntent FLAG 设置错误导致点击无效(Android 12+)
  • 统计准确性:离线缓存与重传去重不当会导致报表偏差
  • 聚合通知与撤回/清除交互:顺序与幂等处理不当会出现“幽灵通知”
  • 角标行为:Launcher/OEM 差异大,需明确支持范围与用户预期说明

备注:执行上述用例时,建议配套工具与方法

  • adb 常用命令:
    • 权限:adb shell pm grant|revoke android.permission.POST_NOTIFICATIONS(Android 13+)
    • Doze:adb shell dumpsys deviceidle force-idle / step / whitelist +pkg
    • 通知模拟:adb shell cmd notification post -S bigtext -t "Title" "tag" 100 "text body"
  • 机型矩阵建议:
    • 原生系(Pixel Android 13/14),三星(OneUI 12/14),国内主流(MIUI/ColorOS/EMUI),至少覆盖一款低内存机型
  • 日志校验:
    • 打开埋点调试开关,Logcat 过滤指定Tag;或指向测试网关以便核对事件全链路

以上用例可根据实际接口与工具能力做细化与参数化,执行中请同步记录各版本与机型差异,并回馈到设计与实现侧进行针对性优化。

以下用例面向“内容离线与同步”功能的集成测试(标准深度),覆盖批量下载、暂停/继续/失败重试、后台下载、加密存储与断点续传、空间不足处理、跨设备同步与冲突、弱网/断网/切网/限速、前台增量刷新、后台限制与电量优化、并发与队列策略、数据一致性、耗时/耗电/崩溃监控等重点。所有用例均可在真实设备或安卓模拟器上执行;网络/容量/后台场景推荐使用可控工具模拟。

通用说明:

  • 设备标记:设备A、设备B为同账号两台设备/模拟器(建议至少一台 Android 12+)
  • 网络模拟:优先使用 Android Emulator 网络配置(限制带宽/延迟/丢包);或通过 adb 命令切换网络(svc wifi/data);限速可使用路由/代理或设备厂商测试工具。切换网络前确保权限允许蜂窝数据。
  • 存储模拟:使用 adb shell dd if=/dev/zero of=/sdcard/fill.bin bs=1M count=N 填充外部存储空间;测试结束执行 rm /sdcard/fill.bin 清理。阈值取自产品/配置中心,若未提供,请先向研发确认阈值常量。
  • 断点续传/加密验证:优先在可 root 的模拟器进行文件可读性检查;或通过应用内调试页/日志辅助验证(若有)。
  • 监控采集:耗时(打点/日志)、耗电(dumpsys batterystats + Battery Historian)、崩溃(Crash 日志/ANR)、网络用量(dumpsys netstats)均需保留原始记录及基线,便于回归。

——

测试用例 1:批量下载成功(前台)

  • 前置条件:
    • 设备A登录有效账号,列表页展示≥20篇可下载文章
    • 网络:Wi‑Fi 稳定(≥50Mbps,低延迟)
  • 测试步骤:
    1. 在列表页选择10篇文章,点击“批量下载”
    2. 保持前台,观察下载进度
    3. 下载完成后进入离线模式(断网)打开任意已下载文章
  • 预期结果:
    • 同时开始的任务数不超过配置的最大并发数K(K取自配置/调试页)
    • 所有10篇状态从“队列中”→“下载中”→“已完成”,无卡死
    • 断网后可正常打开并浏览已下载文章内容(含图片/多媒体按设计)
  • 优先级:P0
  • 备注:回归标记:R-DL-Base-01;复测指引:与基线包对比任务完成总耗时、失败率=0

测试用例 2:暂停/继续单任务

  • 前置条件:
    • 设备A,Wi‑Fi 稳定
    • 存在至少1个大文件文章(>20MB)
  • 测试步骤:
    1. 开始下载该文章
    2. 进度到达20%时点击“暂停”
    3. 等待10秒后点击“继续”
  • 预期结果:
    • 暂停后状态变为“已暂停”,网络无继续流量
    • 继续后从20%左右进度续传,不从0%重下
    • 最终状态“已完成”,内容可用
  • 优先级:P0
  • 备注:回归标记:R-DL-PR-01;复测指引:记录暂停到继续的时间与续传偏差<5%

测试用例 3:暂停/继续全部任务

  • 前置条件:
    • 设备A,批量下载中有≥5个进行中任务
  • 测试步骤:
    1. 点击“全部暂停”
    2. 观察所有进行中任务停止
    3. 点击“全部继续”
  • 预期结果:
    • 全部任务进入“已暂停”;继续后按并发K恢复执行
    • 未出现任务丢失/重复启动
  • 优先级:P1
  • 备注:回归标记:R-DL-PR-02

测试用例 4:失败重试(网络中断)

  • 前置条件:
    • 设备A,Wi‑Fi
  • 测试步骤:
    1. 开始下载3个任务
    2. 中途执行 adb shell svc wifi disable
    3. 等待任务失败
    4. 恢复网络 adb shell svc wifi enable
    5. 观察自动重试;若有“重试”按钮,手动触发一次
  • 预期结果:
    • 网络断开后任务进入“失败/待重试”状态并遵循退避策略(若有配置)
    • 恢复网络后自动/手动重试成功,进度续传
  • 优先级:P0
  • 备注:回归标记:R-DL-RT-01;复测指引:记录重试次数与重试间隔

测试用例 5:失败重试(服务端5xx)

  • 前置条件:
    • 设备A;可配置后端/代理返回单任务 HTTP 500(或用 Mock 服务)
  • 测试步骤:
    1. 对指定文章触发下载
    2. 观察失败与重试次数
  • 预期结果:
    • 任务失败后按策略重试至最大次数M(M取自配置),超过M转“失败”
    • 无无限重试;错误码/原因在日志体现
  • 优先级:P1
  • 备注:回归标记:R-DL-RT-02

测试用例 6:后台下载(切后台)

  • 前置条件:
    • 设备A,Wi‑Fi
    • 系统未限制后台活动(电池优化关闭或加入白名单)
  • 测试步骤:
    1. 启动批量下载10篇
    2. 立即按Home切后台,锁屏3分钟
    3. 解锁回到应用
  • 预期结果:
    • 后台期间下载持续(或系统策略允许的调度持续),回到前台整体进度与时间符合预期
    • 未出现系统强杀后任务丢失
  • 优先级:P0
  • 备注:回归标记:R-DL-BG-01

测试用例 7:应用被系统杀死后恢复

  • 前置条件:
    • 设备A,Wi‑Fi
  • 测试步骤:
    1. 下载进行中时执行 adb shell am kill
    2. 重新启动应用
  • 预期结果:
    • 任务列表与已完成进度从持久化恢复
    • 未完成任务自动续传;已完成文件未损坏
  • 优先级:P0
  • 备注:回归标记:R-DL-RES-01

测试用例 8:Wi‑Fi→蜂窝切换稳定性

  • 前置条件:
    • 设备A,开启蜂窝数据
  • 测试步骤:
    1. 在Wi‑Fi下下载
    2. 中途关闭Wi‑Fi(adb shell svc wifi disable),保留蜂窝开启
    3. 下载完成后查看状态
  • 预期结果:
    • 切换时无崩溃/卡死,下载不中断或仅短暂暂停后继续
    • 若有“仅Wi‑Fi下载”设置且开启,则应暂停并提示(若产品有此开关;如无则不检查)
  • 优先级:P0
  • 备注:回归标记:R-NW-SW-01

测试用例 9:蜂窝→Wi‑Fi切换稳定性

  • 前置条件:
    • 设备A,蜂窝数据稳定
  • 测试步骤:
    1. 在蜂窝下下载
    2. 中途开启Wi‑Fi并连接
  • 预期结果:
    • 无异常,继续下载;统计用量归属正确
  • 优先级:P1
  • 备注:回归标记:R-NW-SW-02

测试用例 10:限速与高延迟(弱网)

  • 前置条件:
    • 设备A,使用模拟器限速至512kbps,下行延迟200ms,丢包1%
  • 测试步骤:
    1. 批量下载5篇
    2. 观察进度、重试与最终完成情况
  • 预期结果:
    • 下载速率与网络条件一致;无异常超时导致任务全部失败
    • 若单次连接超时,能重试并最终完成(在合理时间内)
  • 优先级:P0
  • 备注:回归标记:R-NW-WEAK-01;复测指引:记录每篇耗时与平均带宽

测试用例 11:断网浏览已缓存内容

  • 前置条件:
    • 设备A,已离线10篇
  • 测试步骤:
    1. 断开所有网络(adb shell svc wifi disable; adb shell svc data disable)
    2. 打开列表与详情
  • 预期结果:
    • 列表可见离线标识;详情可正常阅读(富媒体按设计处理)
    • 无网络错误弹窗打断阅读
  • 优先级:P0
  • 备注:回归标记:R-OF-READ-01

测试用例 12:离线操作排队与恢复提交(收藏)

  • 前置条件:
    • 设备A登录;断网
  • 测试步骤:
    1. 在离线状态对3篇文章执行“收藏/取消收藏/收藏”
    2. 恢复网络
  • 预期结果:
    • 离线时本地状态即时更新;恢复网络后队列按顺序提交,最终服务端状态与客户端一致
    • 队列处理过程可在UI或日志可见
  • 优先级:P0
  • 备注:回归标记:R-SYNC-Q-01;复测指引:对比服务端接口结果或后台控制台

测试用例 13:离线操作排队与恢复提交(阅读进度)

  • 前置条件:
    • 设备A断网
  • 测试步骤:
    1. 打开某文章阅读到50%,退出
    2. 恢复网络
  • 预期结果:
    • 网络恢复后提交阅读进度至服务端
    • 在设备B刷新后进度显示为50%
  • 优先级:P0
  • 备注:回归标记:R-SYNC-Q-02

测试用例 14:加密存储验证(黑盒)

  • 前置条件:
    • 可 root 的模拟器(或用户debug构建允许外读加密校验接口)
    • 设备A已下载1篇大文件文章
  • 测试步骤:
    1. 通过adb在/data/data//files或应用私有目录导出离线文件(root)
    2. 使用文本/图片查看器尝试直接打开
  • 预期结果:
    • 文件内容不可读(乱码/不可打开);如果应用提供校验接口,校验返回“已加密”
  • 优先级:P1
  • 备注:回归标记:R-SEC-ENC-01;如生产构建无法访问,改用应用提供的自检页或哈希对比

测试用例 15:断点续传(网络中断后续传)

  • 前置条件:
    • 设备A,下载大文件(>50MB)
  • 测试步骤:
    1. 下载至30%时断网10秒
    2. 恢复网络
  • 预期结果:
    • 连接恢复后从约30%位置续传,不重复计流量
  • 优先级:P0
  • 备注:回归标记:R-DL-RANGE-01

测试用例 16:空间不足提示与自动回收(接近阈值)

  • 前置条件:
    • 设备A;通过dd占用空间至接近“清理提示阈值T_warn”(向研发确认数值)
  • 测试步骤:
    1. 触发批量下载
    2. 观察是否提示清理,并是否开始自动回收最旧内容
  • 预期结果:
    • 弹出清理提示(含可操作入口)
    • 自动回收策略执行:优先删除最旧/最少访问项(按产品定义),释放空间后继续下载
  • 优先级:P0
  • 备注:回归标记:R-STO-Low-01;复测指引:记录回收前后可用空间与被删除列表

测试用例 17:空间严重不足(低于T_critical)

  • 前置条件:
    • 设备A;用dd将可用空间降至低于“临界阈值T_critical”
  • 测试步骤:
    1. 触发单篇下载
  • 预期结果:
    • 下载被阻止并给出明确错误提示;不产生半成品文件
  • 优先级:P0
  • 备注:回归标记:R-STO-Low-02

测试用例 18:不同容量阈值分层验证

  • 前置条件:
    • 设备A;三种状态:>T_warn、T_warn~T_critical、<T_critical
  • 测试步骤:
    1. 在三种状态下分别触发下载与正常浏览
  • 预期结果:
    • T_warn:正常

    • T_warn~T_critical:提示+回收且可继续
    • <T_critical:阻止下载;已缓存可正常浏览
  • 优先级:P1
  • 备注:回归标记:R-STO-Low-03

测试用例 19:下载并发数限制

  • 前置条件:
    • 设备A;确认配置的最大并发K(从调试页/配置)
  • 测试步骤:
    1. 同时发起20个下载
    2. 通过抓包/日志/任务状态观察同时“下载中”的任务数量
  • 预期结果:
    • 同时进行的任务不超过K;其余处于队列等待
  • 优先级:P0
  • 备注:回归标记:R-DL-CC-01

测试用例 20:队列策略符合规格

  • 前置条件:
    • 设备A;获取队列策略定义(如FIFO/优先级/最近点击优先)
  • 测试步骤:
    1. 依序在不同时间/不同优先级发起下载
    2. 观察进入“下载中”的顺序
  • 预期结果:
    • 实际启动顺序与策略一致;无长期饥饿任务
  • 优先级:P1
  • 备注:回归标记:R-DL-Queue-01;若策略可由配置切换,需对每种策略各测一次

测试用例 21:跨设备同步(阅读进度)

  • 前置条件:
    • 设备A、设备B登录同账号,网络正常
  • 测试步骤:
    1. 设备A阅读文章至60%,退出
    2. 设备B打开同文章,触发同步/刷新
  • 预期结果:
    • 设备B显示进度为60%;时间戳一致(或误差在允许范围内)
  • 优先级:P0
  • 备注:回归标记:R-SYNC-PR-01

测试用例 22:跨设备同步(收藏)

  • 前置条件:
    • 设备A、设备B同账号
  • 测试步骤:
    1. 设备A收藏多篇文章
    2. 设备B列表/收藏页刷新
  • 预期结果:
    • 收藏同步至B;顺序/标识一致
  • 优先级:P0
  • 备注:回归标记:R-SYNC-FAV-01

测试用例 23:冲突解决(以最近时间为准+保留历史)

  • 前置条件:
    • 设备A、B同账号
  • 测试步骤:
    1. 设备A将文章进度设为30%(时间T1)
    2. 设备B离线,将进度设为80%(设置本地时间T2>T1)
    3. 设备B恢复网络触发同步,与A产生冲突
  • 预期结果:
    • 最终进度为80%(最近时间为准)
    • 历史记录保留(可在历史页/日志可见两次变更)
  • 优先级:P0
  • 备注:回归标记:R-SYNC-CF-01;复测指引:若无法改系统时间,使用服务端延迟提交模拟时间顺序

测试用例 24:前台自动增量刷新

  • 前置条件:
    • 设备A,列表页停留;服务端有新内容/状态变化
  • 测试步骤:
    1. 保持列表页前台3分钟
    2. 观察是否增量刷新新文章/状态(下载状态、收藏标识)
  • 预期结果:
    • 按设定频率触发增量请求;无整页抖动;仅变更项刷新
  • 优先级:P1
  • 备注:回归标记:R-UI-REF-01

测试用例 25:Doze/电量优化(后台限制)

  • 前置条件:
    • 设备A,Android 12+;开启电池节能:adb shell settings put global low_power 1
    • 进入Doze:adb shell dumpsys deviceidle force-idle
  • 测试步骤:
    1. 后台发起下载队列
    2. 保持Doze 5分钟,退出Doze:adb shell dumpsys deviceidle step / 或唤醒
  • 预期结果:
    • Doze 期间下载根据系统策略可能暂停/延后,无崩溃;退出后自动续传
    • 无异常重复/冲突任务
  • 优先级:P0
  • 备注:回归标记:R-PWR-Doze-01

测试用例 26:App Standby Bucket 限制

  • 前置条件:
    • 设备A,Android 9+;将应用设为restricted:adb shell am set-standby-bucket restricted
  • 测试步骤:
    1. 后台发起下载/同步
  • 预期结果:
    • 在受限状态下任务按平台节奏执行或延迟;回到活跃后续传完成
    • UI有合理状态指示(等待/延迟)
  • 优先级:P1
  • 备注:回归标记:R-PWR-ASB-01

测试用例 27:应用后台被“受限后台运行”开关限制

  • 前置条件:
    • 设备A,在系统设置将该应用“后台限制/受限”
  • 测试步骤:
    1. 后台进行下载
  • 预期结果:
    • 被限制时任务暂停或延后;解除限制后自动续传;无任务丢失
  • 优先级:P1
  • 备注:回归标记:R-PWR-SysRestrict-01

测试用例 28:崩溃恢复与文件完整性

  • 前置条件:
    • 设备A;下载进行中
  • 测试步骤:
    1. 触发崩溃(测试开关或adb:am crash)
    2. 重启应用
  • 预期结果:
    • 未完成任务续传;已下载分片不损坏
    • 无“已完成但无法打开”情况
  • 优先级:P0
  • 备注:回归标记:R-REL-CRASH-01

测试用例 29:性能监控(下载耗时/稳定性)

  • 前置条件:
    • 设备A;Wi‑Fi 稳定;准备固定10篇、总大小约200MB
  • 测试步骤:
    1. 清空缓存,执行批量下载
    2. 记录:任务总耗时、平均单篇耗时、失败率、平均带宽、重试次数
  • 预期结果:
    • 指标与最新基线相比无明显回退(>10%需标红)
    • 无异常重试/卡死
  • 优先级:P0
  • 备注:回归标记:R-PERF-DL-01;复测指引:同一网络、同一内容包稳定复现

测试用例 30:功耗监控(长时下载会话)

  • 前置条件:
    • 设备A 100%电量;Wi‑Fi;屏幕常亮或后台下载
  • 测试步骤:
    1. 连续下载≥30分钟
    2. 采集 dumpsys batterystats、Battery Historian 报告
  • 预期结果:
    • 单位MB能耗与基线相当(±10%);后台/前台无异常唤醒锁长持
  • 优先级:P1
  • 备注:回归标记:R-PERF-PWR-01

测试用例 31:数据一致性校验(本地缓存与服务端)

  • 前置条件:
    • 设备A;完成批量下载与多次收藏/取消
  • 测试步骤:
    1. 导出本地任务数据库/索引(若提供调试导出)
    2. 对比服务端接口返回的清单与状态
  • 预期结果:
    • 本地与服务端状态一致;无“本地完成但服务端未知”或相反
  • 优先级:P1
  • 备注:回归标记:R-DATA-Cons-01

测试用例 32:前台下载中切到其他页面/进程重负载

  • 前置条件:
    • 设备A;Wi‑Fi
  • 测试步骤:
    1. 下载中切到其他重负载应用(视频/游戏)3分钟
    2. 回到应用
  • 预期结果:
    • 任务未被系统清理;回到应用后能继续;若被系统回收,能从持久化恢复
  • 优先级:P2
  • 备注:回归标记:R-REL-Load-01

测试用例 33:列表前台增量刷新与下载状态协同

  • 前置条件:
    • 设备A前台列表;同时执行下载
  • 测试步骤:
    1. 观察列表项下载进度与完成状态是否实时/增量刷新
  • 预期结果:
    • 列表不整页闪烁;仅对应行更新;滑动时无卡顿(掉帧在允许范围内)
  • 优先级:P1
  • 备注:回归标记:R-UI-INC-02

测试用例 34:异常文件校验与自动修复

  • 前置条件:
    • 设备A;已完成下载
  • 测试步骤:
    1. 手动篡改部分离线文件(在root模拟器中修改/截断)
    2. 打开对应文章
  • 预期结果:
    • 检测到校验失败后自动重新下载或给出修复提示;不会加载损坏内容
  • 优先级:P2
  • 备注:回归标记:R-REL-CHK-01

测试用例 35:蜂窝弱网+切Wi‑Fi组合场景

  • 前置条件:
    • 设备A;蜂窝限速256kbps
  • 测试步骤:
    1. 蜂窝下开始批量下载
    2. 中途切换至Wi‑Fi良好网络
  • 预期结果:
    • 切换后整体速率提升;无任务重置/重复
  • 优先级:P2
  • 备注:回归标记:R-NW-Mix-01

——

备注与执行建议:

  • 阈值参数(并发K、T_warn、T_critical、最大重试M、增量刷新周期等)请在执行前与研发确认或通过调试页读取,避免测试假设。
  • 回归策略:P0用例每次提测全量执行;P1在版本特性变更/依赖库升级时执行;P2在大版本或专项稳定性巡检时执行。
  • 失败复盘:务必附带日志(logcat、后端请求ID)、设备信息、网络条件截图/导出、batterystats报告,便于快速复测与定位。

示例详情

解决的问题

面向安卓应用的功能验证、回归与缺陷复测,快速生成专业、可执行、覆盖全面的测试用例与测试方案;根据功能描述、测试类型与深度,自动产出涵盖正常流程、异常场景与边界条件的用例集;统一输出结构(标题/前置条件/步骤/预期/优先级/备注),可直接用于执行与复盘;帮助团队在高频迭代中聚焦风险点与重点模块,提升测试效率与上线稳定性,减少返工,缩短发布周期,稳住核心指标与用户体验。

适用用户

安卓测试工程师

根据功能说明一键产出覆盖正常、边界、异常的用例套件,补齐前置条件与预期结果,快速形成可执行回归清单。

安卓开发工程师

提测前生成自测用例,验证缺陷修复与兼容表现,提前发现潜在问题,减少返工与沟通往返。

测试经理/QA负责人

建立统一用例标准与优先级规则,批量规划回归范围,识别风险模块,提升评审效率与版本发布把控力。

特征总结

一键生成安卓功能测试用例,含标题、步骤、预期等完整结构,直接可用
自动覆盖正常、边界与异常场景,减少漏测,提升首轮提测质量与通过率
按测试类型与深度一键切换策略,适配功能验证、回归与缺陷复测需要
智能识别风险点与重点模块,给出优先级分层,支持快速规划测试节奏
自动生成前置条件与环境要点,避免模糊描述,确保用例可执行可验证
支持等价类、边界值等思路落地,用自然语言引导完成专业级设计与复审
生成可复制到用例库的规范格式,便于团队共享、评审与持续知识积累
针对新增、优化与修复阶段,快速产出差异化清单,缩短测试准备时间

如何使用购买的提示词模板

1. 直接在外部 Chat 应用中使用

将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。

2. 发布为 API 接口调用

把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。

3. 在 MCP Client 中配置使用

在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。

AI 提示词价格
¥20.00元
先用后买,用好了再付款,超安全!

您购买后可以获得什么

获得完整提示词模板
- 共 566 tokens
- 4 个可调节参数
{ 功能描述 } { 测试类型 } { 测试深度 } { 特殊要求 }
获得社区贡献内容的使用权
- 精选社区优质案例,助您快速上手提示词
使用提示词兑换券,低至 ¥ 9.9
了解兑换券 →
限时半价

不要错过!

半价获取高级提示词-优惠即将到期

17
:
23
小时
:
59
分钟
:
59