forked from RooCodeInc/Roo-Code
-
Notifications
You must be signed in to change notification settings - Fork 159
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Problem (one or two sentences)
大家好,码上AI·CoStrict校园挑战赛已经开始。本次大赛设置了6个技术挑战赛,欢迎大家踊跃参与!
任务一:设计自动化测试工作流
任务目标
使用 CoStrict 的 Custom Modes 、斜杠命令等,设计一套自动化测试工作流,用于对全新的代码仓库自动完成测试流程。
背景描述
随着 AI Coding 与自动编程技术的迅速发展,越来越多的编程任务被交给大语言模型来完成。这一趋势虽然提高了开发效率,但也暴露出了一些潜在的问题。特别是,由于 AI 生成的代码通常缺乏有效的校验手段,导致它们在准确性、可读性和可维护性方面常常存在隐患。因此,自动化测试的重要性日益凸显,成为确保代码质量和功能安全的关键环节。 将自动化测试融入 AI Coding,这种方法允许开发者在代码编写的同时,利用 AI 自动生成相应的测试用例,从而确保代码质量与功能的一致性。这一策略有助于在早期阶段及时发现潜在的问题,避免在后期开发中因缺乏测试而引起的更大麻烦。
指导建议
- 建议合理使用 CoStrict 的 Custom Modes 功能,创建专项的 AI 角色来解决测试设计、测试脚本编写的问题。可以考虑组合斜杠命令进行使用,将复杂流程进行有效拆分,避免 AI 会话过长导致超上下文的问题。
- 为控制 AI 执行顺序,可考虑使用 CoStrict 的 todo 待办列表、new_task 父子任务、attempt_completion 总结工具,组装复杂工作流。
- 不同语言工程的测试流程大同小异,可先思考常见的自动化测试流程有哪些步骤,再分步让 AI 实现。前端自动化可使用 playwright 工具,后端接口自动化可参考不同语言常见测试框架。前端是一个比较难测试的技术高点,需要大家想办法突破。
- 在测试生成与执行过程中,难免会遇到执行失败的情况。建议实现问题自动修复流程,提高通过率。
- 自动化测试工作流最终预期的结果为:利用 AI 生成适用于当前代码仓库的测试代码、测试用例与测试脚本。
Context (who is affected and when)
测评方案
基础项目(可选其一,也可都做):
项目一:https://gitee.com/y_project/RuoYi-Vue
项目二:https://github.com/pbrong/hrms
项目三:https://github.com/sist2app/sist2/tree/master
建议先手动配置好启动依赖,例如数据库、redis 等。
工作流执行要求:
在代码仓库下,使用 CoStrict 选定设计的 Mode(或使用斜杠命令触发),可自动化开始执行测试代码生成。整个过程无需(或少量)人工参与。
生成测试验收要求:
- 生成一个 run_test.bat(或 run_test.sh)测试脚本,用于一键触发前后端测试。
- 后端(若有)需进行接口测试,生成至少10个不同接口的测试案例。包含成功请求、异常请求、鉴权通过、无权限验证。
- 前端(若有)需进行功能测试,生成至少10个不同功能组件的测试案例。包含正常功能验证、边界场景验证。
- 最终生成一份自动化测试报告,内需包含通过用例概况、失败用例与失败描述、通过率等信息。
评分维度:
- 一次性成功率。一次性执行该工作流,生成可完整通过的测试代码,视为达标。
- 工作流自动化程度。人工参与越少评分越高。
- 工作流执行效率。调用次数越少评分越高。
- 工作流适配程度。工作流同时支持的项目越多评分越高。
- 用例覆盖度。生成的测试案例覆盖越多评分越高。
Desired behavior (conceptual, not technical)
交付内容
1. 完整的 Mode 提示词/斜杠命令内容
- 用于生成自动化测试的 Mode 与斜杠命令(若有)完整提示词内容
- 附带 readme.md 说明文档进行使用说明
2. 生成测试代码后的仓库源码与测试执行报告文件
- 在选定的项目代码仓库下,执行自动化测试执行,将生成的测试代码与测试报告文件完整压缩打包(统一以 zip 包格式提供)
- 需完整附带可运行的测试代码与最新执行成功的测试报告文件
- 需保证 zip 包压缩后,能够正常重新运行测试。可不考虑中间件依赖(数据库、redis 等)
3. 演示材料
- 从原始代码仓库开始,触发自动化测试生成,并完整执行完测试内容、输出测试报告的过程演示视频(统一以 mp4 格式提供)
Constraints / preferences (optional)
No response
Request checklist
- I've searched existing Issues and Discussions for duplicates
- This describes a specific problem with clear context and impact
Acceptance criteria (optional)
No response
Proposed approach (optional)
No response
Trade-offs / risks (optional)
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request