移动应用云运行项目的测试覆盖率,不宜只看执行了多少条用例或覆盖了多少代码。真正要回答的是:用户在关键条件下能否完成关键任务,异常发生后能否恢复。建议先以业务场景为分母,再用风险权重和设备、系统差异补足衡量维度。
先定义覆盖率:场景比用例数量更重要
把一个场景定义为“用户目标+操作路径+必要条件+预期结果”。例如,在网络由 Wi-Fi 切换到移动数据时完成登录;在应用进入后台后返回,继续填写尚未提交的内容。步骤略有不同但目标和风险相同的用例,可以归为同一场景,避免通过拆分用例抬高数字。
场景覆盖率=已执行且结果合格的适用场景数 ÷ 已识别的适用场景总数 × 100%。分母应在测试周期开始前冻结;需求新增、平台不适用等情况要记录原因,不能静默删除。移动应用云运行项目的测试覆盖率还应与代码覆盖率分开看:代码覆盖率反映代码执行情况,不证明用户路径走通,也不代表设备行为正确。
用风险分级设门槛
先列出任务,再按失败影响、发生可能性和用户可恢复性分级。支付确认、身份验证、数据保存等可能涉及资金、账号或数据损失的流程,可列为最高优先级;浏览说明、调整非关键偏好等可排在较低级。具体分级要依据应用实际功能,不预设行业。
| 级别 | 建议检查口径 | 适用处理 |
|---|---|---|
| 关键 | 核心场景全部执行且通过,目标设为 100% | 发现失败即阻断发布评审,先查明原因 |
| 重要 | 可将场景覆盖目标设在约 90%–95% | 未覆盖项须说明风险、补测计划和责任人 |
| 一般 | 按变更影响和可用资源安排 | 可抽测,但不能挤占关键场景设备与时间 |
这些数值是团队制定门槛时可采用的起点,并非通用标准;应用风险、设备池规模、发布周期都会影响适用性。关键场景的通过率应单独展示,不能被大量低风险用例平均稀释。
把云端设备和异常条件纳入矩阵
场景覆盖率之外,还要检查设备兼容性、操作系统版本、屏幕尺寸、权限状态和网络条件。Android 与 iOS 的权限流程、后台限制和系统界面并不完全相同,应分别验证适用路径。云端设备不一定能完整模拟实体设备的传感器、电话中断或厂商定制行为;这些条件对功能有影响时,应安排实体机补测。
按风险挑选组合
不要把每个场景都机械地乘以全部设备组合。先选覆盖主要系统版本与屏幕类别的代表设备,再针对变更涉及的系统能力增加组合。测试登录可覆盖首次授权、拒绝权限和重新授权;内容上传可检查弱网、应用切后台和恢复连接。每项都记录前置条件、操作结果和证据,便于复现。
落地执行:从清单到发布判断
- 从需求、用户反馈和变更记录中整理任务清单,为每项写清起点、步骤、预期结果及失败影响。
- 标注关键、重要、一般级别,并确定适用的平台、系统版本、设备类型和网络条件。
- 建立场景与测试用例的对应关系,分别统计计划场景数、已执行数、通过数和阻塞数。
- 每轮测试后复核分母变化;未执行、失败、环境不可用应分栏呈现,不计作通过。
- 发布前检查关键级场景是否全部通过,并审阅未覆盖项的理由、风险接受人和补测时间。
例如,某次版本修改了文件选择流程,便优先回归选择文件、取消操作、权限被拒后重试,以及应用切换后台再返回等相关场景;其他模块可按变更影响抽测。这样比单纯追求更高的行覆盖率,更容易暴露真实使用障碍。移动应用云运行项目的测试覆盖率最终应呈现“覆盖了哪些用户任务、在哪些条件下验证、剩余风险是什么”。
常见问题
覆盖率达到 100% 就能保证质量吗?
不能。它只说明已定义场景均已执行并符合判定条件,场景清单本身仍可能遗漏需求或异常路径。
云端测试是否可以完全替代实体机?
不一定。云端适合扩大设备与系统组合、重复执行回归;依赖特定传感器、厂商行为或真实中断的场景,宜用实体机补充。
代码覆盖率需要保留吗?
需要,但作为工程质量的另一项指标。它可帮助发现未执行代码,不应替代场景覆盖率或发布风险判断。
设置移动应用云运行项目的测试覆盖率时,先守住高风险任务,再明确设备条件、统计口径和未覆盖风险,数字才真正能支持发布决策。