Skip to content

Commit fef7ff8

Browse files
committed
feat: Implement GitLab Test Management Hub with new scripts, templates, and documentation.
1 parent a78bf13 commit fef7ff8

22 files changed

Lines changed: 4612 additions & 738 deletions

.gitlab/issue_templates/Bug.md

Lines changed: 209 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,209 @@
1+
<!--
2+
⚠️ 重要提示:请务必完成以下必填项,否则 Bug 可能无法被正确处理!
3+
4+
必填标签(请在下方选择):
5+
✅ 严重程度 (Severity): S1/S2/S3/S4
6+
✅ 优先级 (Priority): P0/P1/P2/P3
7+
✅ Bug 类别 (Bug Category): 9 种分类中选择 1 种
8+
9+
标题格式要求:[P?][S?][类别] 简短描述
10+
示例:[P0][S1][代码错误] 空指针异常导致服务崩溃
11+
-->
12+
13+
# 🐛 Bug 报告
14+
15+
> **📋 填写指南**:
16+
> - 请详细描述 Bug 现象和复现步骤
17+
> - **必须选择**下方的严重程度、优先级、Bug 类别及**发现省份**标签
18+
> - 标题中请包含优先级、严重程度和类别信息
19+
> - 不完整的 Bug 报告可能会被要求补充信息
20+
21+
---
22+
23+
## Bug 描述
24+
[清晰描述 Bug 的现象]
25+
26+
## 复现步骤
27+
1. 步骤 1
28+
2. 步骤 2
29+
3. 步骤 3
30+
31+
## 预期行为 vs 实际行为
32+
- **预期**: [描述预期的正确行为]
33+
- **实际**: [描述实际发生的错误行为]
34+
35+
## 环境信息
36+
- 操作系统: [例如: Windows 10 / Ubuntu 20.04]
37+
- 浏览器: [例如: Chrome 120 / Firefox 115]
38+
- 版本: [例如: v1.2.3]
39+
- 环境: [例如: 生产环境 / 测试环境]
40+
41+
## 🏷️ Bug 分类(⚠️ 必填项)
42+
43+
> **❗ 重要**: 以下四个维度的标签都是**必选项**,请务必勾选!
44+
45+
### ⭐ 严重程度 (Severity) - 必选
46+
请根据以下标准选择严重程度标签:
47+
- [ ] `severity::S1` - 致命: 系统崩溃、数据丢失、安全漏洞
48+
- [ ] `severity::S2` - 严重: 核心功能不可用,无替代方案
49+
- [ ] `severity::S3` - 一般: 功能异常,有替代方案
50+
- [ ] `severity::S4` - 轻微: UI 问题、文案错误
51+
52+
### ⭐ 优先级 (Priority) - 选选
53+
请根据业务影响选择优先级标签:
54+
- [ ] `priority::P0` - 紧急: 立即处理 (4小时内)
55+
- [ ] `priority::P1` - 高: 1-2天内处理
56+
- [ ] `priority::P2` - 中: 1周内处理
57+
- [ ] `priority::P3` - 低: 下个迭代处理
58+
59+
### ⭐ Bug 类别 (Bug Category) - 必选
60+
请根据问题根因选择 Bug 类别:
61+
- [ ] `bug-category::test-script` - 测试脚本: 自动化测试脚本错误、测试用例设计问题
62+
- [ ] `bug-category::code-error` - 代码错误: 逻辑错误、空指针、数组越界等编码问题
63+
- [ ] `bug-category::configuration` - 配置相关: 配置文件错误、环境变量问题、参数配置不当
64+
- [ ] `bug-category::design-defect` - 设计缺陷: 架构设计问题、接口设计不合理、业务逻辑缺陷
65+
- [ ] `bug-category::deployment` - 安装部署: 部署脚本错误、依赖缺失、环境兼容性问题
66+
- [ ] `bug-category::performance` - 性能问题: 响应慢、内存泄漏、CPU 占用高、并发问题
67+
- [ ] `bug-category::security` - 安全相关: SQL 注入、XSS、权限漏洞、数据泄露
68+
- [ ] `bug-category::standard` - 标准规范: 代码规范违反、文档不符合标准、命名不规范
69+
- [ ] `bug-category::other` - 其他: 无法归类的其他问题
70+
71+
72+
### ⭐ Bug 来源 (Bug Source) - 必选
73+
**用于统计缺陷逃逸率**
74+
75+
- [ ] `bug-source::production` - **生产环境发现**: 在生产环境中发现的 Bug(缺陷逃逸)
76+
- [ ] `bug-source::non-production` - **非生产环境发现**: 在开发、测试、预发布等环境发现的 Bug
77+
78+
> **💡 说明**:
79+
> - **生产环境**: 正式对外提供服务的环境
80+
> - **非生产环境**: 开发环境、测试环境、UAT 环境、预发布环境等
81+
> - **缺陷逃逸率** = 生产环境发现的 Bug / 总 Bug 数 × 100%
82+
83+
### ⭐ Bug 发现省份 (Province) - 必选
84+
**用于按地域统计 Bug 分布**
85+
86+
**直辖市**:
87+
- [ ] `province::beijing` - 北京
88+
- [ ] `province::shanghai` - 上海
89+
- [ ] `province::tianjin` - 天津
90+
- [ ] `province::chongqing` - 重庆
91+
92+
**省份**:
93+
- [ ] `province::anhui` - 安徽
94+
- [ ] `province::fujian` - 福建
95+
- [ ] `province::gansu` - 甘肃
96+
- [ ] `province::guangdong` - 广东
97+
- [ ] `province::guizhou` - 贵州
98+
- [ ] `province::hainan` - 海南
99+
- [ ] `province::hebei` - 河北
100+
- [ ] `province::henan` - 河南
101+
- [ ] `province::heilongjiang` - 黑龙江
102+
- [ ] `province::hubei` - 湖北
103+
- [ ] `province::hunan` - 湖南
104+
- [ ] `province::jilin` - 吉林
105+
- [ ] `province::jiangsu` - 江苏
106+
- [ ] `province::jiangxi` - 江西
107+
- [ ] `province::liaoning` - 辽宁
108+
- [ ] `province::qinghai` - 青海
109+
- [ ] `province::shaanxi` - 陕西
110+
- [ ] `province::shandong` - 山东
111+
- [ ] `province::shanxi` - 山西
112+
- [ ] `province::sichuan` - 四川
113+
- [ ] `province::yunnan` - 云南
114+
- [ ] `province::zhejiang` - 浙江
115+
116+
**自治区**:
117+
- [ ] `province::guangxi` - 广西
118+
- [ ] `province::neimenggu` - 内蒙古
119+
- [ ] `province::ningxia` - 宁夏
120+
- [ ] `province::xinjiang` - 新疆
121+
- [ ] `province::xizang` - 西藏
122+
123+
**其他**:
124+
- [ ] `province::nationwide` - **全国** - 全国性问题或无法确定具体省份
125+
126+
> **💡 说明**:
127+
> - 选择 Bug 最初发现或报告的省份
128+
> - 如果是全国性问题或无法确定具体省份,请选择"全国"
129+
> - 此标签用于按地域分析 Bug 分布和趋势
130+
131+
## 📎 附件
132+
133+
**请上传相关附件以帮助快速定位问题**:
134+
135+
### 推荐上传的附件类型
136+
137+
- **截图**: Bug 现象的屏幕截图(PNG, JPG)
138+
- **日志文件**: 错误日志、系统日志(LOG, TXT)
139+
- **错误堆栈**: 完整的错误堆栈信息
140+
- **录屏**: Bug 复现过程的视频(MP4, GIF)
141+
- **配置文件**: 相关的配置文件(如有必要)
142+
- **测试数据**: 用于复现的测试数据(ZIP, JSON, CSV)
143+
144+
### 上传方式
145+
146+
1. **拖拽上传**: 直接将文件拖拽到此处
147+
2. **点击上传**: 点击下方的 📎 "Attach a file" 按钮
148+
3. **粘贴上传**: 截图后直接 Ctrl+V 粘贴(仅图片)
149+
150+
> **💡 提示**:
151+
> - 单个文件大小限制: 通常为 10MB(具体限制请咨询管理员)
152+
> - 支持的文件格式: 图片、文档、压缩包、日志文件等
153+
> - 敏感信息请打码处理
154+
155+
**附件列表**:
156+
<!-- 在此处上传附件,GitLab 会自动生成链接 -->
157+
158+
159+
## 根因分析(可选)
160+
[如果已知,请描述问题的根本原因]
161+
162+
## 解决方案(可选)
163+
[如果有建议的解决方案,请描述]
164+
165+
---
166+
167+
## ✅ 提交前检查清单
168+
169+
在提交此 Bug 报告前,请确认:
170+
171+
- [ ] ✅ 已选择**严重程度** (severity::S?)
172+
- [ ] ✅ 已选择**Bug 类别** (bug-category::?)
173+
- [ ] ✅ 已选择**Bug 来源** (bug-source::production/non-production)
174+
- [ ] ✅ 已选择**发现省份** (province::?)
175+
- [ ] ✅ 标题格式正确: `[S?][类别] 简短描述`
176+
- [ ] ✅ 已添加 `type::bug` 标签
177+
- [ ] ✅ 复现步骤清晰完整
178+
- [ ] ✅ 已附加相关截图或日志(如有)
179+
180+
---
181+
182+
**标签建议**: `type::bug`, `severity::S?`, `bug-category::?`, `bug-source::?`, `province::?`
183+
184+
**标题示例**:
185+
- `[P0][S1][代码错误] 空指针异常导致服务崩溃`
186+
- `[P1][S2][性能] 查询响应时间超过 5 秒`
187+
- `[P2][S3][配置] 数据库连接池配置不当`
188+
189+
---
190+
191+
> **💡 提示**: 标签不完整的 Bug 报告可能会被自动标记为 `needs-labels`,并要求补充信息。
192+
193+
---
194+
195+
## 🚪 关闭说明 (Closing Instructions)
196+
> **操作指引**: 关闭议题前,请在下方选择关闭原因(通过评论区执行指令,GitLab 会自动打标并关闭议题)。
197+
198+
- **已完成**: `/label ~"resolution::done" /close`
199+
- **重复**: `/label ~"resolution::duplicate" /close`
200+
- **延期**: `/label ~"resolution::postponed" /close`
201+
- **不做**: `/label ~"resolution::wontfix" /close`
202+
- **设计如此**: `/label ~"resolution::by_design" /close`
203+
- **无法重现**: `/label ~"resolution::cannot_reproduce" /close`
204+
- **转为需求**: `/label ~"resolution::as_requirement" /close`
205+
206+
---
207+
208+
/label ~"type::bug" ~"status::draft"
209+
/milestone %"Current_Milestone"
Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
<!--
2+
⚠️ 重要提示:请务必完成以下必填项,以便后端能够通过脚本自动统计和分析需求趋势。
3+
4+
必填标签(请在下方选择):
5+
✅ 优先级 (Priority): P0/P1/P2/P3
6+
✅ 需求所属省份 (Province): 必选
7+
-->
8+
9+
# 📝 需求申请
10+
11+
> **📋 填写指南**:
12+
> - 请清晰描述该需求的业务背景和核心价值。
13+
> - **验收标准** 是开发和测试的核心依据,请务必详尽。
14+
> - 请选择下方的优先级、需求类型和相关省份标签。
15+
> - **提交评审**: 编写完成后,请在评论区回复 `/label ~"status::reviewing"` 正式开启评审流程。
16+
17+
---
18+
19+
## 📝 需求背景 (User Story)
20+
> **作为** [用户角色]
21+
> **我希望** [实现具体功能]
22+
> **以便于** [获得业务价值/解决痛点]
23+
24+
---
25+
26+
## 📖 需求描述
27+
- [ ] **功能点 A**: 描述逻辑
28+
- [ ] **功能点 B**: 描述逻辑
29+
- [ ] **原型/设计稿**: [链接或截图]
30+
31+
---
32+
33+
## ✅ 验收标准 (Acceptance Criteria)
34+
- [ ] **场景 1**: 当 [输入/操作] 时,系统应当 [反馈/结果]
35+
- [ ] **场景 2**: ...
36+
- [ ] **兼容性/性能要求**: (如:需支持移动端、响应时间控制在 2s 内)
37+
38+
---
39+
40+
## 📎 附件 / 相关资源
41+
**请上传或提供该需求的辅助说明资料:**
42+
43+
- **UI/UX 设计稿**: [链接或上传截图]
44+
- **业务流程图**: [链接或上传截图]
45+
- **其他参考文档**: (如 Excel、PDF 等,直接拖拽至此处上传)
46+
47+
> **💡 上传指引**:
48+
> - 直接将文件**拖拽**至此区域即可上传。
49+
> - 截图后可直接在该区域使用 **Ctrl+V** 粘贴图片。
50+
51+
---
52+
53+
## 🏷️ 核心属性(⚠️ 必填项)
54+
55+
### ⭐ 优先级 (Priority) - 必选
56+
请根据业务紧急程度选择优先级标签:
57+
- [ ] `priority::P0` - 紧急: 需在当前 Sprint 立即排期
58+
- [ ] `priority::P1` - 高: 优先级较高,下个 Sprint 需启动
59+
- [ ] `priority::P2` - 中: 正常排期需求
60+
- [ ] `priority::P3` - 低: 待定需求 / 优化类需求
61+
62+
### ⭐ 需求类型 (Requirement Type) - 必选
63+
请根据需求性质选择类型标签:
64+
- [ ] `requirement-type::feature` - 功能: 新业务功能需求
65+
- [ ] `requirement-type::interface` - 接口: 接口定义或变更需求
66+
- [ ] `requirement-type::performance` - 性能: 系统性能提升需求
67+
- [ ] `requirement-type::safe` - 安全: 安全性加固及漏洞修复
68+
- [ ] `requirement-type::experience` - 体验: 用户交互体验优化
69+
- [ ] `requirement-type::improve` - 改进: 现有功能的完善与增强
70+
- [ ] `requirement-type::other` - 其他: 其他需求类型
71+
72+
### ⭐ 需求所属省份 (Province) - 必选
73+
**用于按地域统计需求分布**
74+
75+
**直辖市**:
76+
- [ ] `province::beijing` - 北京
77+
- [ ] `province::shanghai` - 上海
78+
- [ ] `province::tianjin` - 天津
79+
- [ ] `province::chongqing` - 重庆
80+
81+
**省份**:
82+
- [ ] `province::anhui` - 安徽
83+
- [ ] `province::fujian` - 福建
84+
- [ ] `province::gansu` - 甘肃
85+
- [ ] `province::guangdong` - 广东
86+
- [ ] `province::guizhou` - 贵州
87+
- [ ] `province::hainan` - 海南
88+
- [ ] `province::hebei` - 河北
89+
- [ ] `province::henan` - 河南
90+
- [ ] `province::heilongjiang` - 黑龙江
91+
- [ ] `province::hubei` - 湖北
92+
- [ ] `province::hunan` - 湖南
93+
- [ ] `province::jilin` - 吉林
94+
- [ ] `province::jiangsu` - 江苏
95+
- [ ] `province::jiangxi` - 江西
96+
- [ ] `province::liaoning` - 辽宁
97+
- [ ] `province::qinghai` - 青海
98+
- [ ] `province::shaanxi` - 陕西
99+
- [ ] `province::shandong` - 山东
100+
- [ ] `province::shanxi` - 山西
101+
- [ ] `province::sichuan` - 四川
102+
- [ ] `province::yunnan` - 云南
103+
- [ ] `province::zhejiang` - 浙江
104+
105+
**自治区**:
106+
- [ ] `province::guangxi` - 广西
107+
- [ ] `province::neimenggu` - 内蒙古
108+
- [ ] `province::ningxia` - 宁夏
109+
- [ ] `province::xinjiang` - 新疆
110+
- [ ] `province::xizang` - 西藏
111+
112+
**其他**:
113+
- [ ] `province::nationwide` - **全国** - 全国性通用需求
114+
115+
> **💡 说明**:
116+
> - 选择该需求主要针对或发起的省份
117+
> - 如果是全国通用的通用功能,请选择"全国"
118+
119+
---
120+
121+
## ⚖️ 需求评审 (Requirement Review)
122+
> **评审说明**: 此章节由指定的评审人(架构/产品/业务负责人)负责勾选。
123+
124+
- **指派评审人**: @[请在此处输入评审人账号]
125+
- [ ] **技术可行性**: 需求在当前技术栈下可实现,无重大技术风险。
126+
- [ ] **规范符合度**: 逻辑清晰,符合业务标准及 UI/UX 规范。
127+
- [ ] **AC 完备性**: 验收标准(Acceptance Criteria)可量化、可测试。
128+
129+
**评审结论 (Review Conclusion)**:
130+
- [ ] **通过**: `/label ~"review-result::approved" ~"status::todo"` (进入待开发队列)
131+
- [ ] **修正**: `/label ~"review-result::rework" ~"status::feedback"` (退回给提交人)
132+
- [ ] **驳回**: `/label ~"review-result::rejected" /close` (结束需求生命周期)
133+
134+
---
135+
136+
## 🔗 依赖与影响
137+
- **外部依赖**: (如:需三方接口支持)
138+
- **风险评估**: (如:是否影响旧版本兼容性)
139+
140+
---
141+
142+
## 🏁 完成定义 (DoD)
143+
- [ ] 关键逻辑通过代码 Review
144+
- [ ] 完成各省份/环境的自测
145+
- [ ] 用户手册/产品文档已更新
146+
147+
---
148+
149+
## ✅ 提交前检查清单
150+
- [ ] ✅ 已选择**优先级** (priority::P?)
151+
- [ ] ✅ 已选择**需求类型** (requirement-type::?)
152+
- [ ] ✅ 已选择**所属省份** (province::?)
153+
- [ ] ✅ 已添加 `type::feature` 标签
154+
- [ ] ✅ 验收标准已逐条列出
155+
- [ ] ✅ 已指定评审人 (@username)
156+
157+
---
158+
159+
## 🚪 关闭说明 (Closing Instructions)
160+
> **操作指引**: 关闭议题前,请在下方选择关闭原因(通过评论区执行指令,GitLab 会自动打标并关闭议题)。
161+
162+
- **已完成**: `/label ~"resolution::done" /close`
163+
- **重复**: `/label ~"resolution::duplicate" /close`
164+
- **延期**: `/label ~"resolution::postponed" /close`
165+
- **不做**: `/label ~"resolution::wontfix" /close`
166+
- **设计如此**: `/label ~"resolution::by_design" /close`
167+
168+
---
169+
170+
/label ~"type::feature" ~"status::draft"
171+
/milestone %"Current_Milestone"

0 commit comments

Comments
 (0)