名称: qa-testing-mobile 描述: “移动应用测试策略和执行,针对iOS和Android(原生 + 跨平台):选择自动化框架,定义设备矩阵,控制不稳定测试,验证性能/可靠性/可访问性,并设置CI + 发布门。当您需要移动QA计划、设备实验室/CI设置或关于XCUITest/Espresso/Appium/Detox/Maestro/Flutter测试的指导时使用。”
QA移动测试
设计和执行可靠、成本意识的移动测试,涵盖iOS和Android(原生 + 跨平台)。
快速开始
- 填写
assets/mobile-test-plan.md来定义风险、层次和门。 - 从分析中填写
assets/device-matrix.md来选择第1/2/3层覆盖。 - 使用
references/framework-comparison.md来选择自动化框架。 - 使用
references/flake-management.md来设置不稳定测试预算、重试次数和隔离规则。
范围
- 定义跨iOS和Android的移动测试策略。
- 计划设备矩阵、操作系统覆盖和风险层次。
- 选择自动化框架和CI + 设备实验室设置。
- 处理性能、网络/离线、后台运行和权限。
- 定义预发布门、阶段式发布和商店就绪检查。
输入
- 平台、支持的OS版本和设备目标。
- 应用类型(原生、跨平台、混合/WebView)。
- 关键用户流和风险区域。
- 分发渠道和发布节奏。
- 现有测试工具、CI和设备实验室访问(Firebase Test Lab, BrowserStack, AWS Device Farm)。
- 可观察性和发布控制(Crashlytics/Sentry, 性能/RUM, 功能标志, 阶段式发布)。
- 测试数据策略(种子/重置, 测试账户, 环境一致性)。
工作流程
- 定义质量风险和SLI(无崩溃、ANR、启动时间、关键流成功)。
- 从分析中构建设备矩阵;保持PR门模拟器/仿真器优先。
- 选择框架(默认:XCUITest + Espresso/Compose;仅在降低总成本时添加跨平台)。
- 构建测试层次:单元、集成/契约、UI冒烟、在真实设备上的目标E2E。
- 添加移动特定覆盖:权限、后台/前台、深度链接、离线/网络不佳。
- 添加性能检查(启动、滚动/卡顿、内存)和可访问性检查。
- 设置不稳定测试预算、重试限制、隔离策略和故障分类(工件 + 可复现性)。
- 定义发布门 + 商店就绪;通过阶段式发布,带有监控 + 回滚。
输出
- 移动测试策略和设备矩阵。
- 自动化计划和框架选择。
- 测试用例清单,带优先级。
- 发布就绪检查清单。
- CI管道和报告计划。
质量检查
- 保持UI测试关注关键流;保持套件小而快。
- 分离设备特定错误和逻辑回归。
- 跟踪每个测试/设备的不稳定率;隔离和修复主要问题。
- 验证权限、通知和后台行为。
- 偏好稳定选择器(可访问性ID/测试标签),而不是本地化文本。
模板
assets/device-matrix.md用于操作系统和设备覆盖。assets/mobile-test-plan.md用于测试范围和自动化。assets/release-readiness-checklist.md用于发布门。
资源
references/framework-comparison.md用于在XCUITest, Espresso/Compose, Appium, Detox, Maestro, and Flutter测试之间选择。references/flake-management.md用于不稳定测试控制指导。data/sources.json用于精选文档和设备实验室链接。
相关技能
- 使用 qa-testing-ios 获取iOS特定深度(XCTest, Swift Testing, simctl)。
- 使用 qa-testing-android 获取Android特定深度(Espresso, Compose Testing, UIAutomator)。
- 使用 qa-testing-playwright 用于Web和WebView测试。
- 使用 software-mobile 用于移动架构指导。