aionclaw工作流上线前必须完成五类触发条件核验及三类环境回归测试,并通过非法输入、资源受限、断网权限回收、并发压力四项边界测试,否则ci自动拦截为【高危跳过】。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在AionClaw工作流正式上线前,必须完成覆盖功能逻辑、执行稳定性、权限边界与异常恢复能力的实测验证,否则可能触发任务中断、数据错漏或权限越界等不可逆问题。
确认工作流是否满足五类强制触发条件
打开 AionClaw 项目根目录下的 TestingSkill(.claude/skills/testing/SKILL.md) 文件,逐条核对当前工作流变更是否命中以下任一条件:为功能或缺陷修复编写新测试、添加新功能、修改已有测试覆盖的逻辑、声明任务完成之前、提交代码之前。只要命中其中一条,就必须进入完整测试流程。
未满足任一触发条件的工作流,禁止进入后续测试环节;已满足但未执行测试即上线的,将被 CI 流水线自动拦截并标记为 【高危跳过】。
运行三类环境下的基础回归测试
方法一:Node 环境单元测试(验证逻辑分支)
执行命令:npm run test:unit,检查所有 .test.ts 文件是否通过,重点观察含 if/else、switch、try/catch 的路径是否全部覆盖。覆盖率低于 80% 的模块需补全用例,否则不许合并。
方法二:JS DOM 环境模拟测试(验证界面交互)
执行命令:npm run test:dom,运行所有 .dom.test.tsx 文件,确保组件挂载、事件触发、状态更新、副作用清理四个环节无报错。若测试中出现 act() warning 或 memory leak 提示,说明组件未正确卸载,必须修复后重跑。
方法三:Playwright 端到端测试(验证真实执行链路)
执行命令:npx playwright test --project=chromium,复现用户从触发指令→AI 解析→调用技能→操作本地文件/浏览器/通讯软件→返回结果的全流程。任意环节卡顿超 15 秒、返回空结果、弹出系统权限警告框,均判定为失败。
执行边界与风险优先测试
第一步:注入非法输入
在工作流输入字段中粘贴超长字符串(≥10000字符)、含控制字符的 Base64 编码、嵌套 JSON 数组,观察 AionClaw 是否抛出未捕获异常或崩溃。若进程退出或 UI 卡死,说明缺乏输入清洗机制,必须增加 inputSanitize() 调用。
第二步:模拟资源受限场景
手动限制工作流进程内存至 300MB、CPU 使用率至 10%,运行一次完整流程。若出现 OOM killed 或技能执行超时未回调,需优化大模型请求分块策略或启用流式响应。
第三步:断网+权限回收双压测
关闭网络连接,同时在系统设置中禁用 AionClaw 的「屏幕录制」「辅助功能」「文件访问」三项核心权限,再下发原工作流指令。此时应触发预设的降级逻辑(如本地缓存回退、错误提示弹窗),而非静默失败或反复重试。
第四步:并发压力验证
使用 openclaw run --concurrency 8 同时启动 8 个相同工作流实例,持续运行 10 分钟。检查 Hermes Agent 记忆模块是否出现键冲突、任务队列是否堆积、日志中是否存在 race condition 关键字。出现任一情况,需引入分布式锁或序列化调度器。











