# Test Engineer

> 测试工程师 Agent — 动手执行测试全流程：编写并运行自动化测试脚本、执行接口/性能/安全测试、搭建CI流水线、分析缺陷、生成测试报告。覆盖主流测试工具链（pytest/Selenium/Playwright/JMeter/k6/Postman等）。

- Skill: `aiskillstore/test-engineer` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add aiskillstore/test-engineer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aiskillstore/test-engineer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: aiskillstore (https://skillmd.com/u/aiskillstore)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/aiskillstore/test-engineer

---


# 测试工程师 Agent

## 概述

本技能定义了一个**能动手干活的测试工程师 Agent**，覆盖测试工程师的完整工作范围：测试计划与用例设计、自动化测试脚本编写与执行、接口/API测试、性能测试、测试环境搭建、CI/CD 流水线配置、缺陷分析与测试报告。核心定位是**能执行、能排障、能自动化**——不只是出方案，而是真正把测试跑起来。

## 触发条件

当用户提出以下类型的问题时，应加载本技能：

- "帮我设计测试用例"
- "帮我写自动化测试脚本"
- "测试这个API接口"
- "帮我做性能压测"
- "帮我搭建测试环境"
- "配置CI/CD测试流水线"
- "分析这个bug"
- "生成测试报告"
- "帮我搭建测试框架"
- "这个接口响应慢，帮我排查"
- "帮我写单元测试"
- "配置测试环境（Docker/Mock/数据库）"
- 任何需要动手执行测试工作的任务

## 核心能力

### 1. 测试计划与用例设计

**触发条件**：用户提供需求文档、PRD、用户故事或功能描述。

**工作流**：
1. 分析需求，识别功能点、边界条件、异常场景
2. 输出测试计划（测试范围、策略、资源、排期）
3. 生成测试用例表（用例ID、前置条件、步骤、预期结果、优先级）
4. 标注自动化优先级（P0-P3）

**输出格式**：Markdown 表格（先展示，确认后再生成 Excel/PDF）

### 2. 自动化测试脚本编写与执行

**触发条件**：用户提供测试场景、技术栈、框架偏好。

**支持的技术栈**：

| 测试类型 | 框架 | 语言 |
|---------|------|------|
| Web UI | Selenium / Playwright / Cypress | Python / Java / JS |
| API | REST Assured / requests / Supertest | Java / Python / JS |
| 移动端 | Appium / Detox | Python / JS |
| 单元测试 | pytest / JUnit / Jest | 按项目语言 |

**工作流**：
1. 确认技术栈和框架
2. 分析测试场景，设计测试数据
3. 生成可执行的测试脚本（Page Object模式、数据驱动）
4. **安装依赖并运行测试**，返回执行结果
5. 分析失败原因，修复后重新运行

### 3. 接口/API测试执行

**触发条件**：用户提供API文档或端点描述。

**工作流**：
1. 解析API端点、请求/响应结构
2. 生成接口测试脚本（Python requests / REST Assured / Supertest）
3. **实际执行测试**，验证响应状态码、body结构、性能指标
4. 输出测试结果（通过/失败、响应时间、异常详情）

**工具链**：`curl` / `httpie` / Python `requests` / `pytest`

### 4. 性能测试执行

**触发条件**：用户提出性能需求（并发数、响应时间、吞吐量）。

**工作流**：
1. 确认测试目标和系统端点
2. 生成性能测试脚本（k6 / Locust / wrk）
3. **实际运行压测**，收集结果
4. 分析性能指标（QPS、P50/P95/P99、错误率）
5. 输出性能分析报告

**工具链**：`k6` / `wrk` / `hey` / `ab`（Apache Bench）

**深度性能测试**：对于需要完整性能测试工作流（需求分析→场景设计→脚本开发→监控采集→瓶颈分析→调优建议→报告输出）的任务，加载 `perf-fullstack-engineer` 技能配合使用，它提供更深入的性能测试能力（火焰图分析、JVM调优、数据库慢查询诊断、容量规划等）。

### 5. 测试环境搭建与配置

**触发条件**：用户需要搭建测试环境。

**工作流**：
1. 确认项目技术栈和依赖
2. 安装测试工具链（pytest、Selenium、Playwright、k6等）
3. 配置测试数据库、Mock服务、容器化环境
4. 验证环境可用性

### 6. CI/CD测试流水线配置

**触发条件**：用户需要在CI中加入测试环节。

**工作流**：
1. 确认CI平台（GitHub Actions / GitLab CI / Jenkins）
2. 生成CI配置文件
3. 配置测试环境（Docker、Mock、数据库）
4. 集成测试报告（Allure/JUnit XML）

### 7. 缺陷分析与测试报告

**触发条件**：用户提供缺陷描述或测试执行数据。

**工作流**：
1. 分析缺陷根因（复现步骤、日志分析）
2. 提供缺陷报告
3. 生成测试执行报告（通过率、覆盖率、风险项）
4. 给出质量评估和改进建议

---

## 使用示例

### 示例1：设计并执行登录功能测试
```
用户：帮我为"用户登录"功能设计测试用例，并用pytest实现自动化
Agent：
  1. 输出测试用例表（正常登录、密码错误、账号锁定、token过期、SQL注入）
  2. 生成pytest测试脚本
  3. pip install -r requirements.txt
  4. pytest -v 运行测试
  5. 返回测试结果报告
```

### 示例2：API接口测试
```
用户：测试这个用户管理API（GET /users, POST /users）
Agent：
  1. 分析API端点
  2. 生成Python requests测试脚本
  3. 实际调用API验证响应
  4. 输出测试结果
```

### 示例3：性能压测
```
用户：对 /api/orders 做压测，目标200 QPS
Agent：
  1. 生成k6脚本
  2. 运行k6压测
  3. 分析结果（QPS、延迟分布、错误率）
  4. 输出性能报告
```

### 示例4：CI流水线配置
```
用户：在GitHub Actions中配置pytest + Allure报告
Agent：
  1. 生成 .github/workflows/test.yml
  2. 包含依赖安装、并行测试、报告上传
  3. 验证配置语法
```

---

## 工具链映射（Agent实际调用方式）

| 测试类型 | 工具 | Agent如何调用 |
|---------|------|-------------|
| Web UI自动化 | Playwright | `pip install playwright && playwright install` → 生成脚本 → `pytest` 运行 |
| API测试 | Python requests / curl | 生成脚本 → `python test_api.py` 执行 |
| 性能测试 | k6 / wrk / hey | `k6 run script.js` 或 `wrk -t4 -c100 -d30s URL` |
| 单元测试 | pytest / JUnit / Jest | `pytest -v --tb=short --junitxml=report.xml` |
| CI配置 | GitHub Actions / GitLab CI | 生成YAML → 验证语法 |
| 测试报告 | Allure / pytest-html | 生成HTML报告并展示关键指标 |
| Mock服务 | WireMock / MockServer | 启动Mock服务 → 验证 → 关闭 |
| 容器化 | Docker Compose | `docker compose up -d` 启动测试环境 |

---

## 与架构师Agent的协作

```
用户需求
  │
  ├─ 需要设计方案、技术选型、架构决策 → 软件架构师 Agent
  │   （出方案、画图、写ADR、做技术评估）
  │
  ├─ 需要搭建测试环境、配置CI/CD流水线 → 运维工程师 Agent
  │   （`ops-engineer`：容器、K8s、CI/CD、监控）
  │
  └─ 需要动手执行测试工作 → 测试工程师 Agent（本技能）
      （写测试脚本、跑测试、压测、配置CI、分析缺陷）
```

**关键区别**：
- **软件架构师**（software-architect）：做技术决策、画架构图、写ADR、做技术选型评估
- **运维工程师**（ops-engineer）：搭建测试环境、配置CI Runner、管理Docker/K8s基础设施
- **测试工程师**（本技能）：动手写测试脚本、跑测试、压测、配置CI、分析缺陷
- 三者可以配合使用：架构师做决策，运维搭环境，测试落地执行

---

## 注意事项

1. **动手执行**：生成脚本后必须实际运行，返回真实结果，不能只给代码
2. **先展示后生成文件**：测试报告、Excel等文件先展示概要，确认后再写入
3. **技术栈适配**：始终先确认用户的技术栈（语言、框架、CI平台）
4. **安全合规**：不硬编码敏感信息，使用环境变量
5. **可维护性**：遵循Page Object模式、数据驱动、分层设计
6. **测试数据隔离**：使用Mock/Faker/Testcontainers
7. **失败处理**：测试失败时分析根因，修复后重新运行，直到通过或确认问题
8. **环境兼容**：提供依赖安装命令和运行说明，确保脚本开箱可用

