我没有用Vibe Coding写生产代码,而是先写好测试代码
目前国内企业的测试与开发人员在使用AI生成代码或维护已有系统的生产代码时,需要配套自动化测试进行端到端测试和API测试以确保代码的功能质量。然而,让AI编写端到端和API测试代码时面临三大核心痛点:
1)难以撰写精准的提示词,让AI生成全面覆盖关键功能测试场景的用例及代码
2)难以确认AI生成的测试代码在"声明层面"是否覆盖了关键功能测试场景
3)难以验证AI生成的测试代码在"运行时"是否有效覆盖关键功能测试场景
本演讲提出"声明时三场一表+运行时故障注入"方法(即利用冒烟、happy path和sad path三类场景结合决策表指导AI生成有效的功能测试代码,并通过“理测评解”和故障注入依次验证测试代码在声明时和运行时的有效性),为解决这些痛点提供了全新思路。这使测试与开发人员能通过自然语言与AI对话生成实用有效的功能测试代码,从而有效保障生产代码质量。
内容大纲
1. 使用Vibe Coding生成端到端测试代码的现实挑战
1.1 难以撰写精准提示词,使AI生成全面覆盖关键功能测试场景的用例及代码
1.2 难以确认AI生成的测试代码在"声明层面"是否充分覆盖关键功能测试场景
1.3 难以验证AI生成的测试代码在"运行时"是否有效覆盖关键功能测试场景
2. "声明时三场一表+运行时故障注入"方法应对挑战
2.1 结合冒烟、happy path和sad path三类场景与决策表,指导AI生成有效功能测试用例与代码
2.2 AI辅助“理测评解”审核AI生成的测试用例的完备性以及测试代码声明的准确性
2.3 通过故障注入验证测试代码的运行时有效性
3. 实战:利用Vibe Coding生成并验证Saleor Commerce开源电商系统的端到端与API测试
3.1 实战案例背景与测试需求分析
- Saleor Commerce系统介绍:GitHub 2.2万星标的API优先电商平台(https://github.com/saleor/saleor),
基于GraphQL API的现代化架构
- 复杂业务规则挑战:折扣系统包含catalogue promotions(目录促销)和order promotions(订单促销),
支持复杂的嵌套条件组合
- 测试覆盖难点:传统人工测试分析难以覆盖多维度业务规则组合,容易产生测试盲点
3.2 基于实战案例,应用冒烟、happy path和sad path场景结合决策表指导AI生成功能测试用例与代码
- 冒烟场景设计:WebUI核心系统功能验证
应用启动与基础页面 → 用户认证基础功能 → 产品展示核心功能 → 购物车基础操作 → 结账流程入口
- Happy Path场景设计:WebUI完整购买流程
用户注册登录 → 产品浏览与选择 → 购物车操作→ 结账 → 支付 → 订单确认与完成
- Sad Path场景设计:GraphQL API异常处理验证
库存不足 → 无效商品型号(变体) → 地址验证失败 → 支付处理失败 → 配送方式问题 → 用户权限问题
- 决策表技术应用演示:GraphQL API折扣规则组合测试
无折扣 →整单折扣 →特定产品折扣 →目录促销+整单券组合 →目录促销+特定产品券组合→ 运费折扣券 →
无效折扣码
3.3 针对实战案例,用AI辅助审核AI生成的测试用例的完备性以及测试代码声明的准确性
3.4 针对实战案例,用AI辅助通过故障注入验证测试代码的运行时有效性
- 核心理念:Test the Tests(测试测试本身)
- 通过在Saleor业务代码中主动引入错误,验证AI生成的测试代码是否能准确捕获这些错误,从而证明测试的
运行时有效性。
4. 总结
从AI生成端到端和API测试代码的三大痛点出发:提示词撰写难、声明时覆盖难确认、运行时有效性难验证。通过以Saleor Commerce开源电商系统为例的"声明时三场一表+运行时故障注入"方法实战演示,展示“冒烟 + Happy Path + Sad Path + 决策表”的组合能够覆盖软件功能测试80-90%的关键场景,为这些长期困扰测试与开发人员的问题提供了系统性解决方案。特别是在GraphQL API和复杂业务规则系统中,决策表技术显著提升了AI生成测试的精准性和完整性。
听众收益
1. 掌握系统化AI功能测试方法:获得"声明时三场一表+运行时故障注入"的完整方法论,学会用决策表技术系统化分解复杂业务规则,可立即在GraphQL API项目和传统REST API项目中应用。
2. 提升AI协作效率:学会构建基于决策表的精准提示词,将AI测试生成的功能覆盖率从传统手工的40-50%提升到80-90%,减少与AI多轮对话的时间成本,显著提高一次性生成有效测试代码的成功率。
3. 建立质量保障体系:掌握从声明时覆盖性检查到运行时有效性验证的双重保障机制,学会识别和避免"测试覆盖率虚高"的风险,建立可信赖的自动化测试体系,特别适用于微服务架构、API优先电商和现代化API系统。