乐于分享
好东西不私藏

AI 软件测试工程:0007 - 缺陷管理与 Bug 报告:AI 时代的质量护航

AI 软件测试工程:0007 - 缺陷管理与 Bug 报告:AI 时代的质量护航

第一部分:软件测试基础 · Lesson 0007 · Level 2 进阶

AI Coding 时代,缺陷管理有什么变化?AI 如何辅助 Bug 分析?如何用 AI 快速定位问题?这节课给你 AI 时代的缺陷管理方法论。

🎯 前 6 节课我们建立了测试认知(0001)、生命周期(0002)、7 原则(0003)、敏捷与 DevOps(0004)、测试金字塔(0005)、测试文档(0006)。这节课我们回答:执行测试后发现 Bug 怎么办?AI 时代如何高效管理缺陷?

📑 本节目录

  • 学习目标
  • 理论讲解
  • 核心比喻
  • 示例
  • 实践:TaskFlow AI 辅助缺陷管理
  • 测试文档:缺陷管理模板
  • AI 实践
  • QA Checklist
  • 思考题
  • 推荐阅读

📌 学习目标

为什么学习

AI Coding 时代,缺陷管理发生了根本变化:

  • 以前:手工发现 Bug,手工写报告,人工定位问题
  • 现在:AI 发现 Bug(自动化测试),AI 生成报告,AI 辅助定位

核心逻辑没变:Bug 报告的质量决定修复速度。AI 时代更需要写好 Bug 报告,因为 AI 需要清晰的上下文才能精准分析。

实际价值

  • 理解 AI 时代缺陷管理的完整流程
  • 掌握 AI 辅助 Bug 定位的方法
  • 能写出让 AI 和人类都能快速理解的 Bug 报告
  • 能用 AI 辅助分析缺陷根因

📚 理论讲解

1. 缺陷生命周期(Defect Life Cycle)

传统缺陷生命周期

  ┌─────────┐
  │  New    │  ← 测试工程师发现 Bug,提交报告
  └────┬────┘
       ▼
  ┌─────────┐
  │  Open   │  ← 开发确认是 Bug,开始修复
  └────┬────┘
       ▼
  ┌─────────┐
  │  Fixed  │  ← 开发修复完成,等待验证
  └────┬────┘
       ▼
  ┌─────────┐
  │ Closed  │  ← 测试工程师验证通过,Bug 关闭
  └─────────┘

AI 时代的缺陷生命周期

  ┌─────────┐    AI 自动    ┌─────────┐
  │  Auto   │ ────────────→ │  New    │
  │ Detected│    发现       └────┬────┘
  └─────────┘                   │
       │                        ▼
       │                 ┌─────────┐
       │                 │  Open   │ ← AI 辅助分析根因
       │                 └────┬────┘
       │                      │
       ▼                      ▼
  ┌─────────┐          ┌─────────┐
  │ Rejected│          │  Fixed  │ ← AI 生成修复建议
  └─────────┘          └────┬────┘
                             │
                             ▼
                        ┌─────────┐
                        │  AI     │ ← AI 自动验证
                        │Verified │
                        └────┬────┘
                             │
                             ▼
                        ┌─────────┐
                        │ Closed  │
                        └─────────┘

AI 时代的 3 个关键变化

  1. 发现阶段:AI 自动检测(CI/CD 失败、测试用例失败、日志异常)
  2. 分析阶段:AI 辅助根因分析(错误堆栈分析、日志聚合、相似 Bug 推荐)
  3. 验证阶段:AI 自动验证(回归测试、自动化验证)

2. 缺陷严重程度 vs 优先级

这是新人最容易混淆的概念。

维度
严重程度(Severity)
优先级(Priority)
定义
Bug 对系统的影响程度
Bug 应该多快被修复
决定因素
功能层面(影响范围)
业务层面(紧急程度)
举例
系统崩溃 = 严重
客户明天演示 = 高优先
关系
严重 ≠ 一定优先
优先 ≠ 一定严重

4x4 缺陷矩阵

高优先级低优先级
高严重程度
🔴 立即修复(P0)
🟡 尽快修复(P1)
低严重程度
🟡 计划修复(P2)
⚪ 稍后修复(P3)

严重程度定义(TaskFlow)

等级
定义
示例
致命(S0)
系统无法运行,阻断所有功能
登录崩溃、支付无法完成
严重(S1)
核心功能无法使用
无法创建任务、无法删除团队
一般(S2)
功能有缺陷但有替代方案
通知延迟、UI 显示不美观
轻微(S3)
边缘问题,不影响使用
错别字、样式微调

优先级定义(TaskFlow)

等级
定义
修复时限
P0
必须立即修复
24 小时内
P1
尽快修复
3 天内
P2
计划内修复
1 周内
P3
稍后修复
下个 Sprint

3. AI 时代的 Bug 报告

传统 Bug 报告 vs AI 增强 Bug 报告

维度
传统 Bug 报告
AI 增强 Bug 报告
错误堆栈
手动复制粘贴
AI 自动捕获 + 格式化
环境信息
手动填写
AI 自动收集(浏览器、OS、设备)
重现步骤
人工描述
AI 记录操作序列
根因分析
开发人员人工定位
AI 辅助分析 + 建议
相似 Bug
人工搜索历史
AI 推荐相似 Bug

AI 时代的 Bug 报告 10 大要素

编号
要素
AI 辅助
说明
1
标题
AI 建议
简洁描述 Bug 本质
2
严重程度
AI 评估
S0/S1/S2/S3
3
优先级
AI 建议
P0/P1/P2/P3
4
复现步骤
AI 记录
可执行的操作序列
5
预期结果
AI 建议
基于需求文档
6
实际结果
AI 记录
截图、日志、堆栈
7
环境信息
AI 自动收集
浏览器、OS、版本
8
根因分析
AI 辅助
错误分析 + 代码定位
9
修复建议
AI 生成
基于代码上下文
10
附件
AI 自动关联
截图、日志、视频

4. 如何写出让 AI 快速理解的 Bug 报告

核心原则:结构化 + 上下文

❌ 糟糕的 Bug 报告

Bug:登录不了

✅ 优秀的 Bug 报告

## Bug 报告:登录失败 - 邮箱格式验证过于严格

### 摘要
用户使用"user+tag@example.com"格式邮箱注册时,系统报错"邮箱格式不正确"。

### 严重程度
S2(一般)- 约 5% 的 Gmail 用户使用带 +tag 的邮箱

### 复现步骤
1. 访问 /register
2. 输入邮箱 "user+test@example.com"
3. 输入密码 "Pass123!"
4. 点击注册
5. 观察错误提示

### 预期结果
允许带 +tag 的标准邮箱格式注册成功

### 实际结果
显示错误:"邮箱格式不正确"

### 环境信息
- 浏览器:Chrome 126.0
- 操作系统:macOS 14.5
- App 版本:1.0.0

### 错误日志

ValidationError: Email format invalid at validateEmail (/app/auth/validation.js:45) at registerUser (/app/auth/register.js:23)

### 根因分析(AI 辅助)
正则表达式 `^[\w.-]+@[\w.-]+\.\w+$` 不支持 +tag。
+tag 是 RFC 5321 标准的有效邮箱格式。

### 修复建议(AI 生成)
将正则表达式改为:
```javascript
/^[\w.+-]+@[\w.-]+\.\w+$/

或使用专业邮箱验证库如 validator.js

---

### 5. AI 辅助缺陷定位

#### AI 定位 Bug 的 4 个层次

| 层次 | AI 能力 | 示例 |
|------|---------|------|
| **L1:错误理解** | 解释错误堆栈 | "这个错误是 NullPointerException at line 45" |
| **L2:上下文关联** | 连接错误与代码 | "这个错误发生在 auth/validation.js 的 validateEmail 函数" |
| **L3:根因分析** | 识别根本原因 | "因为正则表达式不支持 +tag 字符" |
| **L4:修复建议** | 生成修复代码 | "建议改为 `/^[\w.+-]+@[\w.-]+\.\w+$/`" |

#### AI 辅助定位工具链

| 工具 | 功能 | AI 集成 |
|------|------|---------|
| **GitHub Copilot** | 代码补全 + Bug 修复建议 | ✅ 内置 |
| **Cursor** | AI 代码编辑 | ✅ 内置 |
| **Claude Code** | Agent 级别问题定位 | ✅ 内置 |
| **Sentry** | 错误监控 + 聚合 | ✅ AI 分析 |
| **LogRocket** | 会话回放 + 日志 | ✅ AI 分析 |

---

## 💡 核心比喻

### 💡 比喻 1:Bug 报告像医生诊断

> 去医院看病:
>
> - **糟糕的描述**:"医生,我不舒服" → 医生无法诊断
> - **好的描述**:"医生,我头痛 3 天,伴随发烧 38.5 度,昨晚吃了不洁食物"
>
> **Bug 报告 = 医生诊断**。你需要提供:
> - 症状(实际结果)
> - 发病时间(复现步骤)
> - 既往病史(环境上下文)
>
> AI 时代的医生:能自动采集血压、体温、血常规(= AI 自动收集环境信息),但仍需要你描述"哪里不舒服"

### 💡 比喻 2:严重程度 vs 优先级像病情 vs 急诊

> **严重程度(Severity)** = 病情多严重
> - 癌症 = 严重
> - 感冒 = 不严重
>
> **优先级(Priority)** = 多快要去医院
> - 明天有重要面试 = 高优先(即使只是感冒)
> - 在家休息可以 = 低优先(即使有慢性鼻炎)
>
> **AI 辅助**:AI 可以评估病情(严重程度),但决定多快去医院(优先级)需要结合业务场景。

### 💡 比喻 3:AI 定位 Bug 像 GPS 导航

> **传统定位** = 看地图找路(需要人工分析)
> **AI 定位** = GPS 导航(自动规划路线)
>
> GPS 能告诉你:
> - 你在哪(错误位置)
> - 问题在哪(根因)
> - 怎么走(修复建议)
>
> 但 GPS 需要准确的地址输入(= Bug 报告需要准确的上下文)。

---

## 📝 示例

### 📝 示例:TaskFlow 的完整 Bug 报告

```markdown
# Bug 报告:TF-BUG-001

## 基本信息

| 要素 | 内容 |
|------|------|
| **缺陷 ID** | TF-BUG-001 |
| **报告人** | QA 工程师 |
| **报告日期** | 2026-07-15 |
| **严重程度** | S1(严重) |
| **优先级** | P0 |
| **状态** | Open |

## Bug 详情

### 标题
用户创建任务时选择"无截止日期"后,任务显示为"已过期"

### 复现步骤
1. 访问 taskflow.com
2. 使用 user@test.com / Pass123 登录
3. 点击"新建任务"
4. 任务标题填写"测试任务"
5. 截止日期选择"无截止日期"
6. 点击保存
7. 观察任务列表中任务的显示

### 预期结果
任务显示为"无截止日期"或正常状态,不应显示为"已过期"

### 实际结果
任务显示为红色,显示"已过期"

### 环境信息
- 浏览器:Chrome 126.0.6478.127
- 操作系统:Windows 11
- App 版本:1.0.0
- 数据库:Supabase (Production)

### 错误日志

[2026-07-15 10:23:45] ERROR: TaskService.createTask TypeError: Cannot read property 'getTime' of null at TaskUtils.formatDueDate (task-utils.js:34) at TaskCard.render (task-card.jsx:28) at TaskCard.componentDidMount (task-card.jsx:15)

### 根因分析(AI 辅助)

**错误位置**:`task-utils.js:34` 的 `formatDueDate` 函数

**问题代码**:
```javascript
function formatDueDate(date) {
  const now = new Date();
  const diff = date.getTime() - now.getTime(); // ❌ date 为 null 时崩溃
return diff > 0 ? '有效' : '已过期';
}

根本原因:当截止日期为 null 时,函数没有处理 null 情况,直接调用 date.getTime() 导致崩溃。

修复建议(AI 生成)

方案 1:防御性编程

function formatDueDate(date) {
if (!date) return '无截止日期';
const now = new Date();
const diff = date.getTime() - now.getTime();
return diff > 0 ? '有效' : '已过期';
}

方案 2:使用 Optional Chaining(推荐)

function formatDueDate(date) {
const now = new Date();
const diff = date?.getTime() - now.getTime();
if (diff === undefinedreturn '无截止日期';
return diff > 0 ? '有效' : '已过期';
}

影响范围

  • 影响用户数:约 15% 的用户使用"无截止日期"功能
  • 影响功能:任务列表、任务详情、仪表板统计
  • 相关 Bug:TF-BUG-002(任务筛选显示错误)

修复记录

日期
修复人
修复版本
备注
-
-
-
-

验证记录

日期
验证人
结果
备注
-
-
-
-
---

### 📝 企业案例:Stripe 的 AI 辅助缺陷管理

> Stripe 处理数百万笔支付交易,缺陷管理至关重要。他们的 AI 辅助实践:

**AI 辅助的缺陷发现**

1. **自动化检测**:CI/CD 流水线中的测试失败自动创建 Bug
2. **生产监控**:Sentry AI 实时监控,异常自动告警
3. **日志聚合**:相似错误自动聚类,减少重复 Bug

**AI 辅助的根因分析**

```javascript
// Stripe 的错误报告包含 AI 生成的上下文
{
"error": {
"message""Payment failed",
"ai_analysis": {
"root_cause""Card issuer declined transaction",
"confidence": 0.94,
"suggested_action""Ask user to contact card issuer",
"similar_incidents": ["INC-2024-001""INC-2024-002"],
"relevant_docs": ["https://docs.stripe.com/error-codes"]
    }
  }
}

关键指标

  • AI 自动分诊准确率:92%
  • 平均 Bug 修复时间减少:40%
  • 重复 Bug 率降低:65%

📝 AI 工具使用示例:Claude Code 辅助 Bug 定位

场景:TaskFlow 用户反馈"任务列表加载很慢"

传统方式

  1. 人工查看代码
  2. 猜测可能原因
  3. 逐一排查
  4. 耗时:30 分钟 - 2 小时

Claude Code 方式

# 将错误日志和上下文粘贴给 Claude Code
claudeCode "我收到了一个性能问题报告:
- 问题:任务列表加载需要 10 秒
- 环境:生产环境,1000+ 任务
- 错误日志:N+1 查询问题

请分析可能的原因,并给出修复建议。"

Claude Code 的响应

## 分析结果

### 可能原因(按概率排序)

1. **N+1 查询问题**(概率:85%)
   - 任务列表每个任务都单独查询用户信息
   - 1000 个任务 = 1001 次数据库查询

2. **缺少分页**(概率:60%)
   - 一次性加载所有任务到前端

3. **缺少索引**(概率:40%)
   - tasks.user_id 没有索引

### 修复建议

#### 修复 1:消除 N+1 查询(推荐)
```javascript
// Before: N+1 查询
const tasks = await db.tasks.findAll({ userId });
const tasksWithUser = await Promise.all(
  tasks.map(task => ({
    ...task,
    user: await db.users.findById(task.userId)
  }))
);

// After: 单次查询 + JOIN
const tasksWithUser = await db.tasks.findAll({
  userId,
  include: [{ model: 'User', as: 'user' }]
});

修复 2:添加分页

const tasks = await db.tasks.findAll({
  userId,
limit50,
offset0,
order: [['createdAt''DESC']]
});

下一步建议

  1. 首先实施修复 1,预计性能提升 10x
  2. 添加分页,预计首屏加载时间从 10s 降到 500ms
  3. 添加数据库索引:
CREATE INDEX idx_tasks_user_id ON tasks(user_id);
---

## 🛠️ 实践:TaskFlow AI 辅助缺陷管理

### 1️⃣ 配置 AI 辅助缺陷发现

在 TaskFlow 项目中配置 AI 辅助的缺陷发现:

```bash
cd taskflow

# 安装 Sentry(错误监控 + AI 分析)
npm install @sentry/nextjs

# 配置环境变量
cp .env.example .env.local
# 添加 SENTRY_DSN

创建 sentry.client.config.js

import * as Sentry from "@sentry/nextjs";

Sentry.init({
dsn: process.env.SENTRY_DSN,
tracesSampleRate1.0,
aiAnalysistrue// 启用 AI 分析
integrations: [
Sentry.browserTracingIntegration(),
Sentry.replayIntegration(),
  ],
});

2️⃣ 配置 GitHub Actions 自动 Bug 创建

创建 .github/workflows/bug-triage.yml

name: AI Bug Triage

on:
issues:
types: [opened]

jobs:
ai-triage:
runs-on: ubuntu-latest
steps:
name: AI Bug Analysis
uses: actions/github-script@v7
with:
script: |
            const issue = context.payload.issue;
            const body = issue.body;

// 调用 AI 分析 Bug
const response await fetch('https://api.anthropic.com/v1/messages', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.ANTHROPIC_API_KEY,
              },
body: JSON.stringify({
model: 'claude-3-5-sonnet',
max_tokens: 1000,
messages: [{
role: 'user',
content: `分析以下 Bug 报告:\n\n${body}\n\n请给出:
1严重程度评估(S0/S1/S2/S3)
2优先级建议(P0/P1/P2/P3)
3可能的原因
4建议的修复方向`
                }]
              })
            });

const result await response.json();
const analysis result.content[0].text;

// 添加 AI 分析评论
await github.rest.issues.createComment({
issue_number: issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `## AI 分析结果\n\n${analysis}\n\n---\n*由 AI 自动生成*`
});

// 更新 Issue Labels
await github.rest.issues.update({
issue_number: issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ['ai-triaged']
});

3️⃣ 配置 AI 自动回复 Bug

使用 GitHub Actions + Claude API 实现 AI 自动回复:

# 创建 AI 自动回复 Action
mkdir -p .github/workflows
touch .github/workflows/ai-bug-response.yml
name: AI Bug Response

on:
issue_comment:
types: [created]

jobs:
ai-response:
if: contains(github.event.comment.body, '@ai')
runs-on: ubuntu-latest
steps:
name: AI Generate Response
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
          # 当有人在 Issue 评论中 @ai,AI 自动生成回复
          # 实际实现需要调用 Claude API
          echo "AI response triggered"

📄 测试文档:缺陷管理模板

模板 1:AI 增强 Bug 报告

# Bug 报告

## 基本信息

| 要素 | 内容 | AI 辅助 |
|------|------|---------|
**缺陷 ID** | [自动生成] | ✅ |
**标题** | [简洁描述] | AI 建议 |
**严重程度** | S0/S1/S2/S3 | AI 评估 |
**优先级** | P0/P1/P2/P3 | AI 建议 |
**状态** | New/Open/Fixed/Closed | - |
**报告人** | [姓名] | - |
**报告日期** | [日期] | 自动 |
**修复人** | [姓名] | - |
**修复日期** | [日期] | - |

## 复现步骤

1. [步骤 1]
2. [步骤 2]
3. [步骤 3]

**复现概率**:100% / 50% / 10%

## 预期结果

[期望的系统行为]

## 实际结果

[实际发生的系统行为]

## 环境信息

| 项目 | 值 |
|------|---|
| 浏览器 | [浏览器+版本] |
| 操作系统 | [OS+版本] |
| App 版本 | [版本号] |
| 数据库 | [环境] |
| API 版本 | [版本号] |

## 错误日志

[粘贴错误堆栈或日志]

## 根因分析(AI 辅助)

### 可能原因
[AI 分析结果]

### 错误位置
[AI 定位的代码位置]

### 代码上下文
```javascript
[相关代码片段]

修复建议(AI 生成)

方案 1:[方案名称]

[修复代码]

方案 2:[方案名称]

[修复代码]

影响范围

  • 影响用户数:[数量/百分比]
  • 影响功能:[功能列表]
  • 相关缺陷:[相关 Bug ID]

验证记录

日期
验证人
结果
备注
-
-
-
-
### 模板 2:缺陷统计分析

```markdown
# [ Sprint 名称 ] 缺陷统计报告

## 总体统计

| 指标 | 数值 |
|------|------|
| 总缺陷数 | X |
| 已关闭 | X |
| 未关闭 | X |
| 关闭率 | X% |
| 平均修复时间 | X 天 |

## 缺陷分布

### 按严重程度
| 严重程度 | 数量 | 占比 |
|----------|------|------|
| S0(致命) | X | X% |
| S1(严重) | X | X% |
| S2(一般) | X | X% |
| S3(轻微) | X | X% |

### 按优先级
| 优先级 | 数量 | 占比 |
|--------|------|------|
| P0 | X | X% |
| P1 | X | X% |
| P2 | X | X% |
| P3 | X | X% |

### 按模块
| 模块 | 数量 | 占比 |
|------|------|------|
| 认证 | X | X% |
| 任务管理 | X | X% |
| 团队协作 | X | X% |
| 通知 | X | X% |

## 缺陷趋势

[折线图:每日新增 vs 每日关闭]

## AI 辅助指标

| 指标 | 数值 |
|------|------|
| AI 自动分诊准确率 | X% |
| AI 根因分析采纳率 | X% |
| AI 修复建议采纳率 | X% |
| 节省的定位时间 | X 小时 |

## 根因分析

### 高频问题
1. [问题 1]
2. [问题 2]
3. [问题 3]

### 改进建议
1. [建议 1]
2. [建议 2]
3. [建议 3]

🤖 AI 实践

🤖 AI 实践 1:用 AI 分析错误堆栈

Prompt 模板

请帮我分析以下错误堆栈,给出:
1. 错误类型和根本原因
2. 错误的精确位置(文件名、行号)
3. 可能的触发条件
4. 修复建议(代码级)

错误堆栈:

[粘贴错误堆栈]

额外上下文:
- 语言/框架:[如 TypeScript + Next.js]
- 最近的代码变更:[描述]
- 触发场景:[描述]

🤖 AI 实践 2:用 AI 生成 Bug 报告

Prompt 模板

请帮我将以下测试失败转化为专业的 Bug 报告。

测试失败信息:
[粘贴测试失败信息]

需求文档摘要:
[描述功能需求]

请生成:
1. Bug 标题(简洁明了)
2. 复现步骤(可执行)
3. 预期结果 vs 实际结果
4. 严重程度和优先级评估
5. 可能的原因分析

格式:Markdown Bug 报告模板

🤖 AI 实践 3:用 AI 做缺陷根因分析

Prompt 模板

我们团队最近有以下缺陷,请帮我做根因分析:

缺陷列表:
1. [缺陷 1 描述]
2. [缺陷 2 描述]
3. [缺陷 3 描述]

技术栈:
- 前端:Next.js + React
- 后端:Supabase (PostgreSQL)
- 测试:Vitest + Playwright
- CI/CD:GitHub Actions

请分析:
1. 这些缺陷有什么共同模式?
2. 哪些是系统性问题(需要架构改进)?
3. 哪些是代码质量问题(需要编码规范)?
4. 给出 90 天改进计划,优先解决高风险问题。

给出具体的行动项和衡量指标。

🤖 AI 实践 4:用 AI 预测缺陷风险

Prompt 模板

请帮我分析 TaskFlow 项目的代码质量和缺陷风险。

代码库:Next.js + Supabase + TypeScript

请分析:
1. 哪些模块的缺陷风险最高?(基于代码复杂度、变更频率、测试覆盖率)
2. 哪些文件最需要添加测试?
3. 最近的代码变更有什么潜在风险?
4. 给出缺陷预防建议。

基于 GitHub 仓库的代码统计给出分析。

✅ QA Checklist

学完这节课,你应该能:


❓ 思考题

请认真思考这些问题

  1. AI 能完全替代人工写 Bug 报告吗?什么时候需要人工介入?
  2. 如果 AI 给出的根因分析和你的判断不一致,你会怎么处理?
  3. 严重程度和优先级发生冲突时(比如"轻微但紧急"),如何决策?
  4. AI 辅助定位 Bug 会不会让开发工程师失去"调试能力"的锻炼机会?
  5. 如果 AI 自动创建 Bug 报告,会不会产生大量低质量 Bug?如何过滤?
  6. AI 时代的缺陷管理,测试工程师的角色发生了什么变化?

📖 推荐阅读

文章

  • "The Future of Bug Tracking in the AI Era" — Various Authors
    • AI 时代缺陷管理的趋势分析。
  • "How AI is Changing Software Testing" — Microsoft DevOps Blog
    • AI 在测试和缺陷管理中的应用。
  • "Sentry AI: Automatic Root Cause Analysis" — Sentry Blog
    • Sentry 的 AI 根因分析功能介绍。

工具

  • Sentry — 错误监控 + AI 分析
    • https://sentry.io
  • LogRocket — 会话回放 + AI 日志分析
    • https://logrocket.com
  • GitHub Copilot — 代码补全 + Bug 修复建议
    • https://github.com/features/copilot

视频

  • "AI-Powered Bug Triage" — YouTube
    • AI 如何自动分类和分配 Bug。
  • "Root Cause Analysis with AI" — YouTube
    • AI 辅助根因分析的实操演示。

💬 任何不清楚的地方?

这是你的老师(AI Agent)。任何疑问、不理解的概念、想深入的方向,都可以问。


⏭️ 下一节预告

Lesson 0008:自动化测试基础(pytest / Jest / Vitest)

缺陷管理学完了,接下来是测试的核心技能:自动化测试。AI Coding 时代,自动化测试是测试工程师的核心竞争力。

  • pytest / Jest / Vitest 的核心语法
  • 单元测试的 AAA 模式(Arrange-Act-Assert)
  • Mock 和 Stub 的使用
  • TaskFlow 项目的自动化测试搭建

前置知识:前 7 节课


📅 TaskFlow 测试课程 · Lesson 0007 · Level 2 进阶

设计师:AI 测试架构师 · 持续优化中