TESTING RULES

TESTING RULES

文件五:05_TESTING_RULES.md

操作指南MD下载原文件
# 文件五:05_TESTING_RULES.md # 测试、验收与回归永久规则 版本:1.0 状态:长期有效 作用:防止 AI “代码写完 = 功能完成”。 # 1. 测试是开发的一部分 任何功能完成必须包含: - 实现。 - 测试。 - 验证。 # 2. 测试分层 至少考虑: - 静态检查。 - 单元测试。 - 接口测试。 - 集成测试。 - UI测试。 - 用户流程测试。 - 安全测试。 - 构建测试。 根据项目规模合理选择。 # 3. 静态检查不能替代运行测试 代码看起来没错: - 不代表真的能运行。 # 4. 每项核心功能必须测试 正常情况。 - 异常情况。 - 边界情况。 - 无权限情况。 - 网络异常。 # 5. 页面测试 检查: - 能加载。 - 无白屏。 - 无关键Console Error。 - 资源加载正常。 - 功能可操作。 # 6. 按钮测试 每个正式按钮必须判断: - 点击结果。 - 重复点击。 - Loading。 - Disabled。 - 失败。 # 7. 表单测试 测试: - 正常输入。 - 空输入。 - 错误输入。 - 超长。 - 特殊字符。 - 重复提交。 # 8. API测试 每个核心接口至少测试: - 正常请求。 - 参数缺失。 - 非法参数。 - 未登录。 - 无权限。 # 9. 权限必须用实际角色测试 不能看代码后说: - “有中间件,所以正常。” - 必须实际模拟: - 游客。 - 用户。 - 管理员。 # 10. 登录完整流程 必须测试: - 正确登录。 - 错误密码。 - 无账号。 - 退出。 - 登录状态。 - 过期状态。 - 受保护页面。 # 11. 用户核心流程 建立: - Happy Path。 - 从用户进入网站到完成核心目标完整跑通。 # 12. 异常流程 至少考虑: - API失败。 - 数据库失败。 - 网络中断。 - 第三方失败。 - 超时。 # 13. 空状态 测试: - 无数据。 - 无搜索结果。 - 首次用户。 # 14. 大数据状态 如果可能: - 测试大量列表。 - 长文本。 - 大量历史记录。 - 避免只用三条Demo数据。 # 15. 响应式测试 至少检查: - 手机。 - 平板。 - 桌面。 # 16. 浏览器测试 主要支持浏览器必须明确。 - 至少重点验证项目主支持浏览器。 # 17. Console必须检查 任何: - Error。 - Unhandled Promise。 - 资源404。 - 都必须记录。 # 18. Network必须检查 确认: - 接口地址。 - 方法。 - 状态码。 - 请求次数。 - 重复请求。 # 19. 修Bug必须有复现步骤 BUG记录: - 触发环境。 - 步骤。 - 预期。 - 实际。 # 20. 修Bug后复测原步骤 保证: - 原问题消失。 # 21. 修Bug必须做关联回归 例如: - 修Token。 - 需要重新测试: - 登录。 - 退出。 - 刷新。 - 权限。 - 管理员。 - 而不是只点一次登录。 # 22. 修改公共组件必须测试所有关键使用位置 因为影响范围大。 # 23. 修改Design Token必须检查全站主要页面 # 24. 修改API Client必须检查主要接口 # 25. 修改数据库必须检查数据相关功能 # 26. 修改权限系统必须重新执行权限矩阵 # 27. Build属于测试 正式提交前: - Production Build必须通过。 # 28. Dev运行不等于Production通过 必须明确区分。 # 29. 测试结果状态 统一使用: - ✅ 实际验证通过 - 🔎 静态检查通过 - ⚠️ 有问题 - ❌ 验证失败 - ❓ 无法验证 - ⏳ 未测试 # 30. 无法测试必须说原因 例如: - 缺少API Key。 - 没有浏览器环境。 - 第三方服务不可访问。 - 数据库不存在。 不得直接标记通过。 # 31. 测试不得修改真实生产数据 除非有明确授权和安全测试环境。 # 32. 删除类操作特别谨慎 测试删除功能: - 优先使用测试数据。 # 33. 管理员测试不能破坏真实数据 # 34. 自动化测试优先覆盖稳定核心逻辑 尤其: - 登录。 - 权限。 - 关键API。 - 数据处理。 # 35. 不为测试数量而写无价值测试 测试的目标: - 发现回归。 - 证明核心行为。 # 36. 每次完成任务输出测试报告 内容: - 测试内容。 - 测试方式。 - 通过。 - 失败。 - 未测试。 - 异常。 - 风险。 # 37. 上线前必须进行全局回归 不能只测试本次改动。 - 至少重新确认: - 启动。 - 首页。 - 登录。 - 核心功能。 - 管理员。 - API。 - Production Build。

六大规则共同执行协议

以下内容同时适用于全部六份文件。

A. AI每次任务开始前

先阅读:

  • 与当前任务有关的规则文件。
  • 如果任务涉及多个领域:
  • 全部读取。 例如:
  • 修改登录:
  • 必须读取:
  • 01_REQUIREMENTS_RULES.md
  • 03_ENGINEERING_RULES.md
  • 04_SECURITY_RULES.md
  • 05_TESTING_RULES.md 修改视觉:
  • 读取:
  • 01_REQUIREMENTS_RULES.md
  • 02_DESIGN_SYSTEM_RULES.md
  • 05_TESTING_RULES.md 准备上线:
  • 六份全部读取。

B. 规则冲突优先级

如发生冲突:

  • 安全与数据完整性 明确用户需求 产品规则 架构规则 设计规则 优化建议

C. AI不能自行修改规则

除非用户明确要求:

  • “修改规则文件”。
  • 否则:
  • 这些文件只读。

D. 现有项目与规则冲突怎么办

不得为了符合规则立即大规模重写。

  • 先输出:
  • 规则:
  • 当前实现:
  • 差异:
  • 严重程度:
  • 建议迁移方式: 再决定是否修复。

E. 每次修改之前

先回答自己:

  • 我正在解决什么问题?
  • 哪些文件必须修改?
  • 哪些文件不应该碰?
  • 是否涉及数据?
  • 是否涉及权限?
  • 是否影响API?
  • 是否影响UI?
  • 如何验证?

F. 每次修改之后

必须检查:

  • 代码是否能运行。
  • 是否引入新错误。
  • 相关功能是否正常。
  • 是否影响其他模块。
  • 是否需要更新文档。

G. 禁止假完成

以下情况不得说:

  • “全部完成”。
  • 仍有未测试。
  • 仍有报错。
  • Build失败。
  • 接口未验证。
  • 缺少环境。
  • 第三方服务没测试。 应明确:
  • 已完成:
  • 未完成:
  • 无法验证:
  • 风险:

H. 修改范围原则

永远优先:

  • 小范围。
  • 可验证。
  • 可回滚。
  • 低耦合。 而不是:
  • 一次改几十个无关文件。

I. 项目长期目标

本项目必须尽量保持:

  • 可理解。
  • 可修改。
  • 可维护。
  • 可测试。
  • 可部署。
  • 可恢复。
  • 可扩展。
  • 安全。 最终目标不是:
  • “AI这次把它跑起来了。”
  • 而是:
  • “即使换一个AI、换一台电脑、换一个开发者,这个项目依然能够继续维护。”

AI任务统一结束报告模板

每一次AI开发任务结束,都使用:

本次任务

修改文件

新增文件

删除文件

修改功能

配置变化

依赖变化

数据库变化

安全影响

实际测试

Build状态

未验证内容

已知问题

后续建议

最后只能使用:

  • ✅ 完成并验证
  • ⚠️ 完成但仍有未验证项目
  • ❌ 未完成
  • 三种结论之一。