返回顶部
d

dev-test开发测试流程

Structured development and testing SOP for implementing code changes. Covers codebase study, minimal focused implementation, test writing patterns, test execution, and diff review. Applies to any development work — bug fixes, features, refactors, or open-source contributions. Use when you need a disciplined development workflow with built-in quality checks.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
98
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

dev-test

开发测试 — 开发与测试标准操作流程

概述

一套结构化工作流程,用于在代码变更中内建质量保障。涵盖从理解代码库到生成可验证、可审查差异的完整周期。

适用场景:缺陷修复、功能开发、代码重构、开源贡献,以及任何需要保证正确性和可维护性的代码变更。

工作流程

第一阶段:编码前研究

在理解上下文之前绝不编写代码。 此阶段可避免浪费精力和产生糟糕设计。

1a. 理解项目规范

检查并阅读以下文件(如存在):

  • - CONTRIBUTING.md — 贡献指南
  • .editorconfig — 格式化规则
  • pyproject.toml / package.json / Makefile — 项目配置、代码检查、格式化
  • tox.ini / .flake8 / .eslintrc — 代码风格规则

1b. 研究变更区域

  • - 阅读将要修改的模块
  • 追踪缺陷/功能相关的执行路径
  • 理解数据流:输入什么,输出什么
  • 记录依赖关系:哪些其他模块与此代码交互

1c. 研究现有测试

  • - 找到测试目录结构:tests/、tests/、test/
  • 注意测试框架:pytest、jest、go test、JUnit 等
  • 研究命名规范:testfeature.py、feature.test.ts、featuretest.go
  • 注意使用的夹具/设置模式
  • 检查测试工具、工厂函数或模拟对象

1d. 构建心智模型

在编写代码前,明确阐述:

  • - 什么需要变更(具体行为)
  • 哪里需要变更(文件、函数、类)
  • 如何变更(方法)
  • 可能出什么问题(边界情况、回归问题)

第二阶段:实现

核心原则

  1. 1. 最小化、聚焦的变更
- 只修复缺陷/添加功能,不做其他事。 - 避免无关的格式化更改、导入重排或附带重构。 - 如发现其他需要修复的问题,记下来留待单独提交/PR处理。
  1. 2. 遵循现有模式
- 匹配代码库的风格,而非个人偏好 - 使用相同的命名规范、缩进、注释风格 - 如果项目使用snake_case,不要引入camelCase
  1. 3. 为非显而易见的逻辑添加注释
- 写为什么的注释,而非是什么的注释 - 解释权衡、变通方案和有意为之的决策
  1. 4. 为质量而设计

| 原则 | 含义 | 示例 |
|------|------|------|
| 纵深防御 | 多层防护 | 在API+服务+数据库层验证输入 |
| 向后兼容 | 不破坏现有行为 | 添加带默认值的新参数 |
| 优雅降级 | 处理缺失功能 | 平台特定代码安全回退 |
| 可扩展性 | 优先可组合设计 | 插件/中间件优于硬编码分支 |
| 单一职责 | 一个函数只做一件事 | 提取逻辑而非膨胀函数 |

第三阶段:编写测试

测试类别(按顺序实现)

  1. 1. 修复验证 — 证明缺陷已修复/功能正常工作

testfeaturehandlesnullinput() # 问题中的确切场景

  1. 2. 边界情况 — 边界条件

testfeaturewithemptystring()
testfeaturewithmaxlength_input()
testfeaturewithspecialcharacters()

  1. 3. 错误处理 — 无效输入、失败路径

testfeatureraisesoninvalid_type()
testfeaturereturnsnoneonmissingkey()

  1. 4. 回归测试 — 现有行为保持不变

testexistingbehavior_unchanged()
testothermodulestillworks()

测试编写指南

  • - 每个测试一个断言(理想情况下)—— 便于诊断失败
  • 描述性名称 — testoauthtokenrefresheswhenexpired 而非 testtoken
  • 安排-执行-断言模式:
python def test_feature(): # 安排 inputdata = createtest_data()

# 执行
result = feature(input_data)

# 断言
assert result.status == success

  • - 使用夹具实现可复用的设置
  • 模拟外部依赖 — 网络调用、文件系统、数据库
  • 测试行为而非实现 — 不要断言内部状态

第四阶段:运行测试

渐进式测试策略

bash

1. 先只运行新增/修改的测试(快速反馈)


python -m pytest tests/testmyfeature.py -v --tb=short

或:npm test -- --testPathPattern=my_feature


或:go test ./pkg/my_feature/... -v

2. 运行完整测试模块/目录

python -m pytest tests/ -v --tb=short

3. 运行整个测试套件(提交前)

python -m pytest --tb=short

或:npm test

或:go test ./...

处理测试结果

场景操作
全部通过 ✅进入差异审查
你的测试失败
修复代码,重新运行 | | 预先存在的失败 | 记录下来,不修复(超出范围) | | 不稳定测试(随机通过/失败) | 运行3次确认不稳定性,在PR中注明 | | 无法运行的测试(需要环境/基础设施) | 在PR中注明,说明手动测试的内容 |

第五阶段:审查差异

在提交前,审查差异中的每一行代码。

bash

变更概览


git diff --stat

完整差异

git diff

如果已暂存

git diff --cached

差异审查清单

  • - [ ] 每个变更都是有意为之(无意外编辑)
  • [ ] 没有遗留的调试打印、TODO注释或临时代码
  • [ ] 没有硬编码的密钥、令牌或个人路径
  • [ ] 没有无关的格式化更改
  • [ ] 所有新函数/类都有适当的文档字符串/注释
  • [ ] 测试覆盖范围对变更来说足够充分
  • [ ] 新增文件位于正确的目录中

第六阶段:提交

bash

暂存特定文件(绝不使用 git add .)


git add path/to/modified_file.py
git add tests/testnewfeature.py

验证暂存文件

git diff --cached --stat

使用规范消息提交

git commit -m fix(module): 修复内容的简短描述

如果非显而易见,提供更长的原因说明。

关联 #issue_number

提交消息格式

{类型}({范围}): {简洁描述}

{正文:做什么和为什么,而非怎么做}

{页脚:问题引用、测试结果、破坏性变更}

类型适用场景
fix缺陷修复
feat
新功能 | | refactor | 代码重构(无行为变更) | | test | 仅添加/修复测试 | | docs | 仅文档变更 | | chore | 构建/工具/依赖变更 |

输出

  • - 功能分支上已提交的代码变更和测试
  • 所有测试通过
  • 干净、可审查的差异

提示

  • - 此技能可独立用于任何开发任务。
  • 在贡献流程中,它位于仓库设置之后,并为PR引导提供输入。
  • 对于大型功能,以小增量重复第二阶段至第五阶段,而非一次性大变更。
  • 与AI结对编程时:在要求AI实现任何内容前,先让AI研究代码库(第一阶段)。

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 dev-test-1776050521 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 dev-test-1776050521 技能

通过命令行安装

skillhub install dev-test-1776050521

下载

⬇ 下载 dev-test v1.0.0(免费)

文件大小: 3.84 KB | 发布时间: 2026-4-14 13:50

v1.0.0 最新 2026-4-14 13:50
- Initial release of the dev-test skill.
- Provides a structured, step-by-step SOP for disciplined code development and testing.
- Covers codebase study, minimal focused implementation, writing and running tests, diff review, and commit best practices.
- Applicable to any development work including bug fixes, features, refactors, and open-source contributions.
- Aims to ensure maintainable, high-quality code changes with built-in quality checks.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部