2026年6月4日 赛博日记

生成时间:2026-06-04 23:58

📝 今日概要

完成店员版APP自动化覆盖率统计(44.8%),修复PC侧测试报告生成问题,新增批量添加用例功能,推动代码合并与推送。

🔍 核心技术进展

自动化覆盖率统计工具开发

  • 工具:Python XMind 解析脚本
  • 成果:解析店员版APP核心用例池,统计出 20 个模块、145 条用例,其中 65 条已自动化,整体覆盖率 44.8%
  • 实现要点
    • 根节点第二级为模块名称,叶子节点计为用例
    • 叶子节点标题为「已自动化」标记自动化状态
    • 自动生成 CSV 表格输出模块覆盖率明细
  • 发现:部分模块覆盖率已达 100%(领券中心、IM、分享等),部分模块覆盖率为 0%(升级提醒、注册、直播等)

PC侧测试报告生成修复

  • 问题:PC 端执行测试计划后未生成测试报告
  • 根因分析
    • 「是否输出报告」选项默认未勾选
    • 手动停止时跳过报告合并逻辑
    • _detectWebPlan 计划类型识别逻辑可能误判
    • App 侧未统计准备失败用例
  • 修复方案
    • 默认勾选「是否输出报告」,并用 localStorage 记住用户选择
    • 无论正常结束还是手动停止,都尝试合并并上传报告
    • 修正 App/Web 计划类型识别逻辑
    • App 合并报告支持准备失败用例统计
    • 停止执行时仍落盘当前用例数据

测试计划编辑页功能增强

  • 需求:编辑测试计划时,支持根据搜索结果批量添加所有用例
  • 实现
    • 在「添加用例」下拉框底部新增「全部添加」按钮
    • 支持分页拉取所有搜索结果(每页 100 条)
    • 自动去重,跳过已在计划中的用例
    • 添加完成后 toast 提示实际添加数量

测试报告生成与存储架构梳理

  • 双层存储:Electron 客户端本机生成 → Web API 服务端上传
  • 本机路径userData/reports/plan_{sessionId}/(执行时)→ execution-reports/{executionId}.html(历史缓存)
  • 服务端路径:Docker 部署 /opt/jenkins/ysb_ai_auto_test/data/reportdata,本地开发 ysb_ai_auto_web_api/data/reportdata
  • 生成时机:执行结束且勾选「输出报告」时合并 case_* 目录下的用例数据生成 report.html

TAPD 标签匹配机制深入理解

  • 数据形态:本地存储纯文本标签名(如 ["已整理","PC-AI自动化"]),TAPD 存储 UID(Labels.Name)和展示名(Labels.DisplayName
  • 匹配规则
    • 从 TAPD 拉取:取 DisplayName 写入本地 tags
    • 推送到 TAPD:按 DisplayName 精确匹配标签库并转换为 UID
    • 匹配失败:跳过并警告,不会自动创建新标签
  • 实践注意:本地标签名必须与 TAPD 标签库展示名一致(大小写不敏感)

App与PC测试计划并行执行可行性调研

  • 架构分析:App 轨(AGENT_RUN_TASKS + 手机设备控制)和 Web 轨(webAgent.runPlanWebBatch + Chrome)分离,无全局互斥锁
  • 实际限制
    • 同一工作区内只能跑一个计划
    • UI 不支持跨工作区并行监控
    • 资源竞争:AI 模型 API、CPU、内存
  • 建议:当前版本建议串行执行,需要稳定并行需额外做全局执行队列或跨轨冲突检测

💡 深度洞察与经验教训

洞察

  • 覆盖率驱动的测试策略:通过自动化覆盖率统计工具可以清晰识别模块覆盖盲区,为后续自动化建设提供数据支撑
  • 用户习惯优化:测试报告默认开启输出并记住用户选择,显著提升用户体验,减少重复操作
  • 标签系统的设计权衡:本地纯文本 + TAPD 展示名匹配的设计既保持本地灵活性,又确保与外部系统一致性

教训

  • 代码 Lint 校验前置:推送代码前必须通过 Lint 校验,本次修复了 17 个既有 Lint 错误后才成功提交,说明平时应保持代码质量
  • 计划类型识别逻辑易出错_detectWebPlan 等辅助判断函数需严格区分 App/Web 计划类型,避免误判导致报告合并逻辑走错分支
  • 并行执行的风险:即使架构上支持并行,UI 交互和资源竞争仍是实际使用中的限制,需在产品设计时统筹考虑

🚀 未来行动设想

  • 定期运行 XMind 自动化覆盖率统计脚本,追踪模块覆盖进度
  • 考虑为测试计划执行添加全局执行队列或跨轨冲突检测,以支持稳定的 App+PC 并行执行
  • 扩展 XMind 解析脚本支持其他脑图格式,提升工具通用性
  • 测试计划执行历史记录增加资源使用统计(CPU、内存、AI 调用次数等)
  • 优化 Lint 错误修复流程,避免累积大量技术债务

📊 自动化统计

  • 捕获 Memory 数:2 个文件(2026-06-04.mdclaude_2026-06-04.md
  • 笔记更新数:0 个