


























作为测试工程师,日常工作中难免会遇到这些痛点:Web应用测试要手动写脚本、调试Bug凭直觉瞎试、测试失败后逐个排查耗时费力、TDD流程难以坚持……
其实,用好AI相关的测试Skill,就能轻松解决这些难题——无需重复造轮子,让AI成为你的QA搭档,把精力聚焦在核心测试逻辑上。
今天就给大家整理了4个测试岗位高频实用的Skill,涵盖Web应用测试、TDD开发、测试修复、系统化调试,每个都附详细用法和项目下载地址,拿来就能用!
💡这几个Agent skill下载地址放在文章末尾,文章较长,建议先点赞收藏,慢慢看
传统的 Web 测试需要自己写 Playwright 或 Selenium 脚本,配置浏览器环境,处理各种异步等待问题。
Webapp Testing Skill是Anthropic官方推出的Web应用测试工具,有了这个 Skill,你只需要告诉 AI “测试登录功能”或者“验证表单提交流程”,它就能自动完成测试。
比如你想测试一个本地开发的电商网站。这个 Skill 会自动启动 Playwright,访问你的本地服务,模拟用户操作,然后生成测试报告。它还能自动截图,记录每一步的操作结果。
核心能力是通过Playwright操控真实浏览器,实现Web应用的自动化测试,无需手动编写复杂的Playwright或Selenium脚本,就能完成页面验证、用户交互模拟、截图检查等操作。

它最大的优势的是“懂测试意图”,能自动处理动态渲染、异步等待等Web测试中的常见难题,区分静态HTML和动态Web应用,选择最优测试路径,甚至能自动管理开发服务器生命周期,形成“写代码→看效果→修代码”的完整闭环,尤其适合前端测试和全栈测试场景。
Webapp Testing Skill工作原理其实是 Anthropic 把 Playwright 的最佳实践和常见测试场景都封装进了 Skill。它不是简单地执行命令,而是能理解测试意图,自动选择合适的选择器策略,处理动态加载的内容。
该Skill采用“侦察-行动”模式,核心流程分为两步,同时支持多种实用场景:
说白了,这个 Skill 把专业测试工程师的 UI 测试经验变成了 AI 可以理解和执行的知识。对于前端开发者来说,不用再花时间学习复杂的测试框架,就能快速验证功能是否正常。
# 单服务器场景:启动前端服务并运行测试
python scripts/with_server.py \
--server "npm run dev" \
--port 5173 \
-- python your_test.py
# 多服务器场景:同时管理后端API和前端服务
python scripts/with_server.py \
--server "cd backend && python server.py" --port 3000 \
--server "cd frontend && npm run dev" --port 5173 \
-- python e2e_test.py
用户只需说:"测试我的XX网站 xxx.com",AI自动执行:
这个Skill强调 先侦察后行动 的测试流程
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page()
# 1. 侦察阶段:导航并等待网络空闲
page.goto('http://localhost:5173')
page.wait_for_load_state('networkidle') # 关键!等待JS执行完成
# 2. 识别阶段:获取页面元素
buttons = page.locator('button').all()
print(f"发现 {len(buttons)} 个按钮")
# 3. 行动阶段:执行测试操作
page.click('text=提交')
page.screenshot(path='result.png')
browser.close()
避坑指南:在动态应用上,务必在检查DOM前等待
networkidle,否则可能捕获不到动态渲染的元素。
TDD(测试驱动开发)是一种“先写测试、后写代码”的开发方法论,核心是通过“红-绿-重构”的循环,倒逼代码解耦、提升代码质量,但实际执行中很多人难以坚持规范流程,容易遗漏核心原则。
而这款TDD Skill是来自obra的Superpowers技能库,解决"AI写代码很快,但写测试很慢(或者直接跳过)"的问题。
相当于一个“严格的TDD教练”,它用铁律强制AI遵循测试驱动开发流程。能强制引导开发者遵循TDD最佳实践,涵盖红-绿-重构循环、YAGNI(你不需要它)和DRY(不要重复自己)原则,帮助开发者养成测试先行、小步迭代的习惯,尤其适合想学习TDD或难以坚持规范流程的团队和个人。

AI倾向于认为"代码写好了,就应该工作",但这个Skill强制要求:
| 阶段 | 动作 | 铁律检查 |
|---|---|---|
| 红 | 编写测试用例 | 测试必须先失败(证明测试有效) |
| 绿 | 编写最小代码 | 只写让测试通过的最少代码 |
| 重构 | 优化代码结构 | 保持测试绿色,提升代码质量 |
这款TDD Skill核心是引导开发者完成“红-绿-重构”的闭环流程,步骤清晰且可落地,无需手动把控节奏:
例如,一则简单的Python项目TDD示例
# Step 1: 编写失败测试(红)
def test_calculator_add():
calc = Calculator()
assert calc.add(2, 3) == 5 # 此时Calculator类不存在,测试失败
# Step 2: 运行测试,确认失败
# pytest calculator_test.py -> FAILED
# Step 3: 编写最小实现(绿)
class Calculator:
def add(self, a, b):
return a + b # 最简单的实现
# Step 4: 运行测试,确认通过
# pytest calculator_test.py -> PASSED
# Step 5: 重构(保持绿色)
class Calculator:
def add(self, a: int, b: int) -> int:
"""返回两个数字的和"""
return a + b # 添加类型注解和文档,不改变行为
传统TDD在实践中常遇到:
这个Skill通过结构化强制,确保:
Calculator对应CalculatorTest)test_shouldReturnSum_whenTwoPositiveNumbersGiven)测试失败是测试工作中的常态,尤其是大型项目的CI/CD流程中,常常出现十几个甚至几十个测试失败的情况,手动逐个排查错误日志、定位根因、修复测试,不仅耗时,还容易出现重复工作。
Test Fixing Skill由mhattingpete开发,专门用于诊断和修复自动化测试报错的Skill,特别适合解决CI/CD流水线因前端改动或测试数据失效而大面积飘红的痛点。

核心能力是系统化识别和修复失败的测试,通过智能错误分组策略,找出具有相同根因的测试用例,提供统一的修复方案,避免重复排查,大幅提升测试修复效率,尤其适合维护大型测试套件的团队。
无需手动逐个分析失败测试,Skill会自动完成“分析-分组-修复”的全流程:
使用说明:下载后可直接集成到CI/CD流程中,也可单独用于本地测试失败的修复,支持多种测试框架的失败日志解析。
传统方式:
看到15个测试失败 -> 逐个查看日志 -> 发现都是登录按钮selector变了
-> 手动修改15个文件 -> 重新跑CI -> 可能还有遗漏
耗时预计:2-3小时
使用Test Fixing Skill:
AI分析错误日志 -> 自动分组:15个都是#login-btn改为#sign-in-button
-> 提供统一修复方案 -> 一键应用到所有受影响文件
耗时仅需:5分钟
工作流程
# 1. 收集失败信息
failed_tests = [
"test_login: Element not found #login-btn",
"test_logout: Element not found #login-btn",
"test_profile: Element not found #login-btn",
# ... 更多类似错误
]
# 2. AI分析模式
analysis = test_fixing_skill.analyze(failed_tests)
# 输出:发现共同模式 - 15个测试都因selector变更失败
# 3. 提供修复方案
fix_plan = analysis.suggest_fix()
# 输出:将 #login-btn 替换为 #sign-in-button
# 4. 批量应用修复
test_fixing_skill.apply_fix(fix_plan, dry_run=True) # 先预览
test_fixing_skill.apply_fix(fix_plan, dry_run=False) # 确认后应用
核心价值
遇到Bug时,很多测试和开发人员会凭直觉猜测、随机尝试调试,不仅效率低,还容易漏掉真正的根因,甚至引入新的Bug。
Systematic Debugging Skill同样来自obra的Superpowers技能库,定位是一款系统化调试Skill,解决AI调试时"看到错误→随机改点→看看好了没→不行再改"的盲目尝试问题。
核心是将专业调试工程师的思维模式结构化,提供一套四阶段的根因分析流程,引导使用者系统化地分析问题、定位根因、验证修复,而不是直接给出答案,能大幅缩短调试时间,提升首次修复成功率,适用于所有类型的Bug调试(尤其是偶发、深层Bug)。

遵循“先找根因,再做修复”的核心原则,分四个阶段完成调试(必须按顺序完成),
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Phase 1: 根因 │ -> │ Phase 2: 模式 │ -> │ Phase 3: 假设 │ -> │ Phase 4: 实现 │
│ 调查阶段 │ │ 分析阶段 │ │ 测试阶段 │ │ 修复阶段 │
└─────────────────┘ └─────────────────┘ └─────────────────┘ └─────────────────┘
同时提供多种辅助技巧:
# 1. 仔细阅读错误信息(不是只看第一行)
# 错误:Vitest output includes file paths and line numbers
# 错误:TypeScript errors show the full type mismatch
# 2. 稳定复现问题
pnpm test src/features/workout/__tests__/specific.test.ts
pnpm test --reporter=verbose
# 3. 检查近期变更
git diff HEAD~5 --stat
git log --oneline -10
# 4. 多组件系统添加诊断
# 在每一层添加console.error追踪数据流:
# Component -> Composable -> Repository -> Database
testing-conventions技能中的测试模式await?缺少resetDatabase()?# 形成单一假设:"我认为X是根因,因为Y"
# 一次只改一处!
# 验证前不继续下一处修改
# 红色警告信号(必须停止):
# - "现在快速修复,稍后调查"
# - "只是尝试更改X看看是否工作"
如果连续3次修复尝试都失败,说明:
基于对根因的理解,实施针对性修复,而非症状修复。
| 你的工作场景 | 推荐Skill | 核心价值 |
|---|---|---|
| 需要快速验证Web应用功能 | Webapp Testing | 1分钟完成30分钟手工测试 |
| 想建立质量保证体系 | TDD | 强制红绿重构,预防Bug |
| CI/CD频繁失败,维护痛苦 | Test Fixing | 维护成本降低80% |
| Bug反复出现,治标不治本 | Systematic Debugging | 根治问题,减少技术债 |
场景:新功能开发全流程
flowchart LR A[需求分析] --> B[TDD Skill<br/>编写失败测试] B --> C[开发实现] C --> D[Webapp Testing<br/>自动化验证] D --> E{发现Bug?} E -->|是| F[Systematic Debugging<br/>根因分析] F --> G{测试失败?} G -->|是| H[Test Fixing<br/>批量修复] H --> I[持续集成] G -->|否| I E -->|否| I style A fill:#e1f5fe style B fill:#ffebee style C fill:#e8f5e9 style D fill:#fff3e0 style F fill:#fce4ec style H fill:#f3e5f5 style I fill:#e0f2f1
另一种更简洁的流程:
flowchart LR A[需求分析] -->|触发| B[TDD Skill<br/>编写失败测试] B --> C[开发实现] C -->|验证| D[Webapp Testing<br/>自动化验证] D -->|发现Bug| E[Systematic Debugging<br/>根因分析] E -->|定位问题| F[Test Fixing<br/>批量修复] F -->|回归测试| G[持续集成] style A fill:#bbdefb style B fill:#ffcdd2 style C fill:#c8e6c9 style D fill:#ffe0b2 style E fill:#f8bbd9 style F fill:#e1bee7 style G fill:#b2dfdb
时序图版本(展示各Skill的协作关系):
sequenceDiagram participant Dev as 开发工程师 participant TDD as TDD Skill participant Code as 代码实现 participant Web as Webapp Testing participant Debug as Systematic Debugging participant Fix as Test Fixing participant CI as 持续集成 Dev->>TDD: 输入需求 TDD->>TDD: 编写失败测试(红) TDD->>Code: 驱动最小实现 Code->>Web: 提交验证 Web->>Web: 自动化测试执行 alt 发现Bug Web->>Debug: 触发根因分析 Debug->>Debug: 四阶段调试 Debug->>Fix: 定位批量失败 Fix->>Fix: 智能修复建议 Fix->>Web: 回归验证 end Web->>CI: 测试通过,进入流水线 CI->>Dev: 部署完成通知
| Skill | 作者 | 项目地址 |
|---|---|---|
| Webapp Testing | Anthropic | https://github.com/anthropics/skills/tree/main/skills/webapp-testing |
| Test-Driven-Development | Superpowers | https://github.com/obra/superpowers/tree/main/skills/test-driven-development |
| Test Fixing | mhattingpete | https://github.com/mhattingpete/claude-skills-marketplace/tree/main/engineering-workflow-plugin/skills/test-fixing |
| Systematic Debugging | Superpowers | https://github.com/obra/superpowers/blob/main/skills/systematic-debugging |
补充资源: 配套实战案例可参考:https://gitcode.com/GitHub_Trending/su/superpowers,包含偶发Bug、深层Bug的调试示例。
这四个Skills代表了AI辅助测试的四个层次:
测试的核心是“高效发现问题、精准解决问题”,而这些Skill的价值,就是帮我们省去重复的手动操作,把时间和精力放在核心的测试逻辑上。
不是AI取代测试工程师,而是会用AI的测试工程师取代不会用的。
💡更多、更详细、全面的AI测试、AI编程、AI技能进阶系统化实战教程,欢迎加入:「狂师. AI进化社」一起探讨学习!
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。