移动端测试指南
测试框架对比
| 框架 | 平台 | 语言 | 最适合 |
|---|---|---|---|
| Detox | React Native(iOS + Android) | JavaScript | 灰盒 RN E2E,快速稳定 |
| Appium | iOS + Android + Web | JS/Python/Java/Ruby | 跨平台 E2E,真机黑盒测试 |
| XCTest + XCUITest | 仅 iOS | Swift/Objective-C | 原生 iOS 单元 + UI 测试 |
| Espresso | 仅 Android | Java/Kotlin | 原生 Android UI 测试,进程内运行 |
| Flutter Test | Flutter(跨平台) | Dart | Flutter Widget 测试 + 集成测试 |
| Maestro | iOS + Android | YAML 流程 | 无需编码的简单 E2E 流程 |
移动端测试清单
| 领域 | 测试项 |
|---|---|
| 网络条件 | 离线、慢速 3G(Charles Proxy / Android 模拟器网络设置) |
| 中断场景 | 来电、推送通知、应用切换到后台 |
| 设备差异 | 不同屏幕尺寸、刘海屏、动态岛、字体辅助功能大小 |
| 系统版本 | 最新版 + 最新-1 + 最低支持版本 |
| 权限 | 首次权限请求、拒绝权限(相机、位置) |
| 深度链接 | Universal Link、自定义 URL Scheme 打开正确页面 |
| 内存压力 | 低内存场景、后台被杀死后恢复状态 |
| 屏幕方向 | 竖/横屏切换保留状态 |