软件测试一直是劳动密集型工作。从编写测试用例,到维护自动化脚本,再到手动做 UI 点检。 Claude 的出现,特别是其 Vision 和 Code 能力的结合,让 QA 行业迎来了变革。
即使团队没有时间写测试,Claude 也可以作为"低成本的测试补充"。
Input Code (Legacy Java):
public double calculateShipping(Order order) {
if (order.getTotal() > 100) return 0;
if (order.getWeight() > 10) return 20;
return 10;
}
Prompt:
"请为这个方法编写 JUnit 5 测试用例。请确保覆盖所有逻辑分支(100% Branch Coverage),特别是边界条件。"
Claude Output (JUnit 5):
@Test
void testFreeShipping() {
Order order = new Order(101.0, 5.0); // > 100
assertEquals(0, calculator.calculateShipping(order));
}
@Test
void testHeavyShipping() {
Order order = new Order(50.0, 11.0); // <= 100, > 10
assertEquals(20, calculator.calculateShipping(order));
}
@Test
void testStandardShipping() {
Order order = new Order(50.0, 9.0); // <= 100, <= 10
assertEquals(10, calculator.calculateShipping(order));
}
@Test
void testBoundary() {
Order order = new Order(100.0, 10.0); // 边界值
assertEquals(10, calculator.calculateShipping(order));
}
Claude 精准地识别了 100 和 10 这两个边界值,并生成了对应的 Assert。
9.4.2 UI 视觉回归测试
这是 Claude Vision 的杀手锏。相比于传统的像素级对比(Pixel Diff),Claude 能够进行语义化断言 (Semantic Assertion)。
Prompt with Image:
"这是我们在 iPhone 12 Mini 上的网页截图。请检查:
Claude Response:
FAIL:
'立即购买'按钮的下半部分(约 50%)被 TabBar 遮挡,用户难以点击。建议增加 padding-bottom。
代码集成 (Playwright + AI SDK):
当 CI 挂了,通常会甩给你几千行的日志。 Log Analysis Agent 可以大大缩短 MTTR (平均修复时间)。
Agent Workflow:
Input: 粘贴 Jenkins 构建失败的 2000 行日志。
Filter: Agent 自动忽略 Info/Warn,锁定 Caused by: java.lang.NoSuchMethodError。
Correlate: Agent 结合 Git API,查看最近 24 小时的提交记录。
Conclusion:
"构建失败的原因是 guava 库依赖冲突。 提交 feat: update dependencies (hash: a1b2c3) 将 Guava 从 28.0 升级到了 30.0,删除了 DirectExecutor 方法。 建议修复: 回滚该提交,或修改代码使用新的 Executor API。"
这是 Computer Use 的最佳应用场景。 给 Claude 一个新上线的 App(安装包或测试网址),给它一个任务:
"你是一个挑剔的用户。请试用我们的购物车流程。尝试修改商品数量为负数、超大数、或特殊字符,看看系统是否会崩溃。如果崩溃,请截图报告。"
Claude 会自主操作浏览器,点击输入框,输入 -100,点击结算。如果弹出了一个未捕获的异常堆栈页面,它会立即截图并报警:"发现严重 Bug,数量允许输入负数导致后端 500 错误。"
至此,已经看完了从客服、文档、数据到测试的四大核心场景。 这些案例证明了:AI 不是玩具,它是生产力。 但随着 AI 应用规模的扩大,面临着新的问题:贵。Token 很贵,延迟很高。如何让 AI 又快又省?
➡️ 第十章:成本优化与性能调优