mobile-testing · diff
git:20260907.af8ce9d to git:20260915.bc5a8d6
81 added, 35 removed. Audit A to A.
---
name: mobile-testing
- description: Use this skill when you need to design mobile test plans for iOS or Android covering functionality, compatibility, performance, network, and security; triggers include 移动端测试 and mobile testing.
+ description: Use this skill when you need to generate a concrete mobile test plan with device matrix, test scripts, and execution checklist; triggers include 移动端测试, 移动测试, App测试, mobile testing, and mobile app testing.
---
- # 移动端测试(中文版)
-
- **英文版:** 见对应英文技能。
+ # 移动端测试
## 何时使用
- - 需要在真实项目里处理 mobile testing 相关任务。
- - 需要一份可以直接用于执行、评审或跟进的结果。
+ - 用户提供移动应用信息,需要生成**可直接执行的测试方案**(含设备矩阵、用例、脚本)。
+ - 需要对 iOS/Android 应用做功能、兼容性、性能、网络、安全测试。
+ ## 输入要求
+
+ | 必填 | 字段 | 说明 |
+ |------|------|------|
+ | ✅ | 应用信息 | 应用名、平台(iOS/Android/两者)、核心功能 |
+ | ✅ | 目标用户 | 用户画像、使用场景、关键流程 |
+ | ⬜ | 设备要求 | 机型、系统版本、屏幕尺寸 |
+ | ⬜ | 已知问题 | 历史崩溃点、权限使用、第三方依赖 |
+ | ⬜ | 发布信息 | 版本号、变更范围、发布时间 |
+
## 执行流程
- 1. 阅读并遵循「按需加载」中的主提示词(覆盖清单、输出结构、质量要求)。
- 2. 只补充真正影响结果的项目上下文:范围、环境、限制、风险、依赖、期望产出。
- 3. 信息不全时先给可用初版,并显式标出假设与信息缺口。
- 4. 默认 Markdown;用户指定其他格式时再切换。
+ ### 1. 输入审计
- ## 核心约束
+ - 检查应用信息是否包含核心业务流程
+ - 检查平台和版本范围是否明确
+ - 缺失信息标记为「假设」
- - 按风险/业务影响排优先级,不要平均摊铺。
- - 把「已确认事实」和「当前假设」分开写。
- - 不要编造用户未提供的接口、字段、环境或根因细节。
- - 结果必须可执行:场景具体、有优先级、能指导下一步。
+ ### 2. 设备矩阵生成
- ## 按需加载
+ 基于输入生成务实的设备矩阵(非全量覆盖):
- - 产出前必须阅读并遵循 `prompts/mobile-testing.md`(最低覆盖清单、输出结构、质量要求)。
- - 需要 Excel/CSV/JSON/Word 等格式时:读 `output-formats.md`,并按用户格式要求输出。
- - 需要套用现成模板时:读 `output-templates/` 中匹配的模板,不要自创冲突结构。
- - 用户要示例或对标现有资产时:读 `examples/` 中相关样例。
- - 需要框架规范、排障、报告 schema 等深资料时:只读 `references/` 里与当前问题相关的文件,不要整目录通读。
- - 需要格式转换或辅助校验时:优先使用 `scripts/` 中已有脚本,而不是重写一遍。
- - 需要评测/回归本 skill 时:使用 `evals/`,并用 skill-up 校验与运行。
- - 用户只要最短上手路径时:读 `quick-start.md`。
+ | 维度 | 选择策略 |
+ |------|---------|
+ | 系统版本 | 覆盖最近 3 个主要版本 + 当前最新版 |
+ | 屏幕尺寸 | 小屏(SE/Mini)、标准、大屏(Plus/Max)、折叠屏(如相关) |
+ | 品牌 | iOS: iPhone 主流型号;Android: Samsung/小米/华为 各 1 款 |
+ | 网络 | WiFi、4G、弱网(3G/丢包) |
- ## 交付前自检
+ ### 3. 测试用例生成
- - [ ] 已遵循主提示词的输出结构
- - [ ] 最低覆盖关注:范围、设备和系统覆盖、安装升级检查、核心流程、权限处理、网络和中断行为、推送或 deeplink(如相关)、性能或耗电风险…(细节以主提示词为准)
- - [ ] 已覆盖最低清单,或标明为何省略
- - [ ] 高风险项有明确优先级
- - [ ] 未编造用户未提供的细节
- - [ ] 假设与信息缺口已标明
+ 按以下维度生成可执行用例:
+ | 维度 | 测试内容 | 优先级 |
+ |------|---------|--------|
+ | 安装升级 | 安装、覆盖安装、卸载、版本升级 | P0 |
+ | 核心流程 | 主要业务路径(登录、核心功能、支付等) | P0 |
+ | 权限处理 | 相机/定位/通知等权限弹窗与拒绝后行为 | P1 |
+ | 中断行为 | 来电、短信、通知、前后台切换、锁屏 | P1 |
+ | 网络切换 | WiFi↔4G、弱网、断网、恢复 | P1 |
+ | 推送/Deeplink | 推送点击、DeepLink 跳转(如相关) | P2 |
+ | 性能 | 启动时间、内存、CPU、流量 | P1 |
+
+ **用例格式**:
+ ```markdown
+ ## [P0] MC-<维度>-<序号>: <用例标题>
+ [测试设备] iPhone 15 / iOS 17 / WiFi
+ [前置条件] 应用已安装,用户已登录
+ [测试步骤] 1. <步骤> 2. <步骤>
+ [预期结果] <具体的判定标准>
+ [备选设备] 同平台不同尺寸可复用
+ ```
+
+ ### 4. 用例校验
+
+ 生成后必须执行以下校验:
+
+ - [ ] 设备矩阵覆盖 iOS + Android(至少各 2 款)
+ - [ ] 核心流程用例覆盖主要业务路径
+ - [ ] 每条用例有明确的设备/系统/网络条件
+ - [ ] 中断和网络切换场景有覆盖
+ - [ ] 权限拒绝后的降级行为有测试
+ - [ ] 无「所有设备都测」的全量覆盖(务实选型)
+
+ ### 5. 输出交付物
+
+ | 文件 | 内容 |
+ |------|------|
+ | `device-matrix.md` | 设备矩阵(机型、系统版本、用途说明) |
+ | `test-cases.md` | 完整测试用例集(含设备、步骤、预期结果) |
+ | `execution-checklist.md` | 执行清单(按优先级排序) |
+
+ ## 核心约束
+
+ - 设备矩阵要**务实**,不要默认所有设备都测。
+ - 公共检查点和 iOS/Android 特有检查点要分清。
+ - 中断和网络切换是移动端特有风险,必须覆盖。
+ - 按用户影响排优先级,核心流程 > 兼容性 > 性能。
+
+ ## 参考文件
+
+ - `prompts/mobile-testing.md`:详细执行规范。
+
## 常见误区
- - 范围和上下文都不清楚时,不要假装已经完整可用。
- - 不要把所有项写成同等重要。
- - 不要跳过假设与信息缺口。
- - 不要输出大段与当前工具链无关的空泛理论。
+ - 设备矩阵过大无法执行 → 选 3-5 款代表性设备即可。
+ - 只测正常流程 → 中断/权限/网络是移动端特有风险。
+ - 忽略安装升级 → 安装/升级/卸载是高频出问题的场景。