Skip to content

IveGotMagicBean/AutoTest-Orchestrator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

「AutoTest-Orchestrator」说明文档

本报告介绍 AutoTest-Orchestrator StandardFlow,一套基于 CoStrict 平台构建的、面向任意开源项目的端到端自动化测试工作流。

通过严格的阶段化流程和统一输出规范,用户仅需提供最基本的仓库路径和环境信息,即可实现项目扫描、环境检查、服务部署、接口与前端验证、复现脚本生成以及最终测试报告输出的全流程自动化验证。

本报告将展示在 HRMS、RuoYi-Vuesist2 三个项目上的应用示例及执行效果。

【作者信息】
姓名:IveGotMagicBean
联系方式:542058929@qq.com
更新日期:2026.01.05

【文档目录】
一、设计背景
二、总体思路
三、各阶段设计说明
四、测试示例
五、总结
附录

3.1 Mode 设计说明

3.2 斜杠工具设计说明

4.1 示例输入指令

4.2 hrms 开源库自动调试流程

4.3 更多调试示例

  1. 说明文档在线链接
  2. CoStrict 使用建议

🔗 点击链接在线阅读或评论《说明文档》

🔗 点击链接在线阅读或评论《模式及工具完整 Prompt》

一、设计背景

随着 AI Coding 与自动编程技术的普及,越来越多的代码由大语言模型直接生成或大幅修改。然而在实际工程中,这类代码往往存在以下风险:

  • 缺乏系统化测试,功能是否可运行不可知
  • 不同项目技术栈差异大,测试方案难以复用
  • 测试流程高度依赖人工经验,难以标准化
  • 前后端项目结构复杂,端到端验证成本高

CoStrict 是一个面向开源和企业级项目的自动化测试与代码质量管理平台,旨在通过流程化、标准化的方式提升 AI 或人类开发的代码可信度。它提供开源仓库分析、测试工作流编排、结果可复现、报告统一输出等功能,使复杂的端到端测试可以自动化、规范化地进行。

基于 CoStrict 平台,AutoTest-Orchestrator StandardFlow 能够在面对陌生项目时,模拟真实测试工程师的工作思路,自主完成从项目扫描到测试报告生成的全流程自动化验证。

让 AI 能够像一名自动化测试工程师一样,面对一个完全陌生的代码仓库,自主完成从识别 → 运行 → 测试 → 汇总报告的完整流程。

二、总体思路

2.1 核心理念:流程驱动,而非工具驱动

AutoTest-Orchestrator 采用流程驱动而非工具驱动的设计方式,不依赖某一种固定的测试框架,而是按照真实工程中的测试思路组织整体流程:

先识别项目类型与技术栈,再评估当前环境是否具备运行条件,随后选择合适的测试方式,最终输出可复现的测试结果

为保证流程稳定性与可控性,整个自动化测试过程被拆分为多个职责清晰的阶段,每个阶段都有明确的输入与输出,即使某一环节执行失败,也可以给出可解释的结果并安全降级。

各阶段通过斜杠命令串联执行,从而在保证自动化程度的同时,避免流程混乱和上下文失控。

【项目串联的斜杠命令】
Step 1 项目扫描与技术栈识别(/autotestscan)
Step 2 执行环境与平台可用性检测(/autotestenvcheck)
Step 3 项目部署与启动验证(/autotestdeploycheck)
Step 4 后端接口自动化测试(/autotestapitest)
Step 5 前端页面可访问性测试(/autotestfrontendtest)
Step 6 生成并验证项目检查脚本 run_test.sh (/autotestgenerateruntest)
Step 7 统一汇总测试报告(/autotestgeneratereport)

2.3 规范可控的输出格式

所有阶段的产出统一写入项目根目录下:test_{YYYYMMDD_HHMMSS}/

同时输出命名统一的分阶段测试报告及测试复现文档 run_test.sh ,确保:

  • 测试结果不污染源码
  • 多次执行互不覆盖
  • 方便打包、复现与验收

Fig.1 示例输出目录

三、各阶段设计说明

3.1 Mode 设计说明

AutoTest-Orchestrator 使用 Custom Mode 作为自动化测试流程的统一控制中枢,用于固化测试执行顺序、角色定位和输出规范。

该 Mode 的核心目标是:

在面对未知代码仓库时,模拟真实测试工程师的工作思路,自动完成从项目识别到测试报告生成的完整流程。

Mode 主要承担以下职责:

  • 统一自动化测试的阶段划分与执行顺序
  • 约束 AI 始终以“测试工作流编排器”的角色进行分析
  • 规范所有阶段的输出路径与报告结构
  • 在出现风险或失败时,提供可解释的降级结果

在此基础上,各测试阶段通过独立的斜杠命令实现,Mode 负责全局控制,命令负责阶段执行,从而保证流程清晰、结果稳定、可重复运行。

3.2 斜杠工具设计说明

3.2.1 /autotestscan - 项目扫描与技术栈识别

目标:回答三个最基本的问题

  • 这是个什么项目?
  • 用了什么技术栈?
  • 理论上能不能跑?

核心思路

  • 通过目录结构、配置文件、依赖描述推断项目类型
  • 不执行任何代码,仅做静态分析
  • 给出“是否值得继续自动化”的初步判断

3.2.2 /autotestenvcheck - 环境检测与平台选择

目标:判断当前运行环境是否支持该项目

重点关注:

  • 操作系统类型(Linux / Windows / macOS / WSL)
  • 语言运行时是否存在
  • 基础工具是否可用(bash / curl 等)

此阶段不尝试启动项目,只检测测试环境是否满足项目要求。

3.2.3 /autotestdeploycheck - 部署可用性验证

目标:验证项目是否真的能跑起来

设计原则:

  • 优先选择最小侵入的启动方式
  • 对可能的危险命令(如构建、启动服务)进行提示
  • 关注启动失败的常见原因,而非强行成功

此阶段输出:

  • 启动是否成功
  • 监听端口冲突检查
  • 是否对外提供服务

3.2.4 /autotestapitest - 后端接口自动化测试

目标:验证后端服务是否可用

测试策略:

  • 自动发现接口或使用最小可验证接口集合
  • 覆盖成功 / 异常 / 鉴权相关场景
  • 避免依赖复杂业务数据

3.2.5 /autotestfrontendtest - 前端访问验证

目标:验证是否存在可访问的前端页面

关注点包括:

  • 是否存在前端资源
  • 页面是否返回 HTML
  • 是否出现明显错误页
  • 是否被登录 / token 拦截

3.2.6 /autotestgenerateruntest - 生成并验证 run_test.sh

目标:生成并验证可独立复现的自动化测试脚本 run_test.sh

设计思路:

  • 将已验证成功的 API 测试步骤转化为标准 bash 脚本
  • 明确服务地址、端口、请求顺序与必要参数
  • 避免依赖 AI 交互状态或隐式上下文

生成完成后,工作流会对 run_test.sh 进行基本校验,确保脚本逻辑完整、可直接执行。

3.2.7 /autotestgeneratereport - 汇总生成测试报告

目标:将零散的阶段结果转化为一份自然语言测试报告,便于用户检查项目调试情况。

最终报告包含:

  • 各阶段执行状态汇总
  • 常见失败模式归因
  • 是否具备部署价值的结论判断
  • 针对项目的改进建议

四、测试示例

4.1 示例输入指令

在本测试示例中,用户仅需提供最基本的执行指令,即可启动完整的端到端自动化测试流程,无需逐步执行各阶段命令。

整个流程几乎零人工干预,用户只需提供目标仓库和基础环境信息,即可获得完整、可复现的自动化测试结果。

请使用 AutoTest-Orchestrator 模式,在 WSL 环境下,对代码仓库 /home/linshiyi/Studying/2025.12_SXFCompetition/20260102_test02/hrms
执行完整自动化测试工作流
备注:
- Go 路径:/home/linshiyi/Studying/software/go1.25.5/go/bin/go
- MySQL 路径:/usr/bin/mysql
- 请使用“mysql -u root -p”登录 MySQL,账号为 root,密码为 123
- WSL 下可能已有 mysqld 进程
- 若需要,优先通过调用登录接口(使用测试账号)获取有效 Cookie / Token
- 输出的 run_test.sh 要求能够让第一次接触该项目的用户实现一键部署,并输出前端访问链接和后端验证命令

请使用 AutoTest-Orchestrator 模式,在 WSL 环境下,对代码仓库/home/linshiyi/Studying/2025.12_SXFCompetition/20260102_test01/RuoYi-Vue 执行完整自动化测试工作流。
备注:
- 数据库已存在数据库名为 ry,可能和脚本中有冲突,请予以注意。请注意脚本中前后端分别的端口号
- mysql 的登陆用户为 root,密码为 123
- 输出的 run_test.sh 要求能够让第一次接触该项目的用户实现一键部署,并输出前端访问链接和后端验证命令

请使用 AutoTest-Orchestrator 模式,在 WSL 环境下,对代码仓库 /home/linshiyi/Studying/2025.12_SXFCompetition/20260102_test01/sist2
执行完整自动化测试工作流。
备注:
- 请按照项目要求的用 docker 环境启动,注意可能存在的端口冲突问题。
- mysql 的登陆用户为 root,密码为 123(如果不需要用到 mysql,则忽略该信息)
- 输出的 run_test.sh 要求能够让第一次接触该项目的用户实现一键部署,并输出前端访问链接和后端验证命令

4.2 hrms 开源库自动调试流程

以 HRMS 开源库为例,AutoTest-Orchestrator 在 WSL 环境下能够自动完成整个端到端调试与测试流程

流程特点如下:

A. 项目扫描与技术栈识别

  • 自动分析仓库结构,判断主要语言、框架及可执行入口

Fig.2 项目扫描与技术栈识别

B. 环境与依赖检查

  • 检测 Go 和 MySQL 路径是否可用
  • 识别已有服务进程,避免端口或数据库冲突

Fig.3 环境与依赖检查

C. 服务部署与可用性验证

  • 自动启动后端服务
  • 检查关键接口和端口是否可访问

Fig.4 服务部署与可用性验证

D. 后端功能验证

  • 自动执行最小接口集合测试(包括登录、查询等)

Fig.5 后端功能验证

E. 前端功能验证

  • 检查前端页面访问和资源加载状态

Fig.6 前端功能验证

F. 测试结果复现脚本 (run_test.sh)

  • 生成 run_test.sh 脚本,实现可重复执行

Fig.7 测试结果复现脚本

G. 测试报告生成

  • 输出完整 Markdown 测试报告,包括成功用例、失败用例和改进建议,便于用户快速检查。

Fig.8 测试报告生成

H. 规范可控的输出格式

  • 所有阶段的产出统一写入项目根目录下:test_{YYYYMMDD_HHMMSS}/
  • 输出命名统一规范的分步执行报告和总体报告,便于阅读
  • 多次执行互不覆盖

Fig.9 hrms 调试报告输出目录

4.3 更多调试示例

除了 HRMS 项目外,AutoTest-Orchestrator 对 RuoYi-Vuesist2 两个仓库也进行了完整的自动化测试。

  • RuoYi-Vue:自动处理数据库可能存在的冲突,成功启动前后端服务,顺利完成接口与前端验证。
  • sist2:通过 Docker 环境启动,自动检测并解决端口占用问题,测试流程顺利完成。

三个项目的执行结果均高度稳定,测试报告结构统一,复现脚本可直接运行,几乎无需人工干预。 这一结果充分验证了 AutoTest-Orchestrator 在不同类型项目和运行环境下的高通用性、强复现性和端到端自动化能力

完整流程及自动化执行效果的演示,请参见附录视频,展示了从项目扫描到测试报告生成的全流程可复现过程。

Fig.10 RuoYi-Vue(左)与 sist2(右)调试报告输出目录

五、总结

AutoTest-Orchestrator StandardFlow 是一个面向任意开源项目的端到端自动化测试工作流编排系统,其核心优势在于流程驱动、阶段可控、输出规范化

通过严格的阶段划分与斜杠命令串联,它能够在几乎零人工干预的情况下,完成从项目扫描、环境检测、部署验证、接口与前端测试,到测试报告与复现脚本生成的全流程操作。

从 HRMS、RuoYi-Vue 到 sist2 的多项目测试示例表明,该工作流具有以下特点:

  • 高通用性:适应不同语言、框架和项目类型,跨平台支持 WSL、Linux、Docker 等环境;
  • 强复现性:生成的 run_test.sh 脚本可重复执行,输出路径与报告命名统一,结果稳定可靠;
  • 端到端自动化:无需用户手动操作每个阶段,输入最少即可完成完整测试;
  • 结果可解释:各阶段失败可降级输出原因,方便问题定位和改进建议生成。

综上,AutoTest-Orchestrator 不仅是一个自动化测试工具,更是一套模拟真实测试工程师思路的智能测试工作流,能够在面对陌生或复杂开源仓库时,快速、稳定地产出可复现、结构化的测试结论,为开发者和评测人员提供可靠、高效的端到端质量验证方案。

附录

在线链接

说明文档:https://ai.feishu.cn/docx/Phhnd2Jm2onGmmxlnRFcby54nxe?from=from_copylink
完整prompt:https://ai.feishu.cn/docx/R0wjdaAqsoMd8BxFQSSc2QMKnsf?from=from_copylink

欢迎评论交流~

CoStrict 使用建议

A. 输出时出现乱码字符情况

B. vscode 连接 WSL 状态下无法使用 CoStrict

VSCode 中使用 Remote WSL 连接 Ubuntu 时无法使用 CoStrict(已排除 WSL 联网问题)

message: {"apiProtocol":"openai","originModelId":"Auto"}
provider: zgsm
Model: Auto
BaseUrl: https://zgsm.sangfor.com
vscodeVersion: 1.107.1
pluginVersion: 2.1.3
editorType: Remote (wsl)
httpProxy: undefined
httpsProxy: undefined

C. 斜杠命令帮助文档链接问题

已提交 issue PR

update:已得到回复

About

CoStrict自动化测试工作流

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors