SuperAPI AI 工具集

qa-team

测试与质量

查看项目

更新于 10-16 02:01

技能介绍

QA Team 技能用于创建智能体驱动的外部视角(outside-in)测试,从外部用户角度验证应用行为,而不依赖对内部实现的了解。它基于 gadugi-agentic-test 框架,使用声明式 YAML 场景,由 AI 智能体执行、观察并验证。核心原则是:测试描述“应该发生什么”,而不是“如何实现”,执行细节由智能体处理。

用途

该技能适合以下场景:冒烟测试,快速验证关键用户流程;行为驱动测试,从用户视角验证功能;跨平台测试,同一套测试逻辑用于 CLI、TUI、Web、Electron;重构安全,实现变化时测试仍然有效;AI 驱动的测试,让智能体处理复杂交互;文档即测试,YAML 场景同时作为可执行规格。也适合在启动新项目时定义预期行为、编写可自动验证的验收标准、让非开发人员也能阅读和理解测试、捕获关键用户工作流的回归、测试复杂的多步骤交互。

不适合的场景包括:需要内部函数的单元测试(应使用 test-gap-analyzer)、性能或负载测试、需要精确时序或并发控制、非交互式批处理测试、实现细节比行为更重要的场景。

主要能力

框架解析带声明式步骤的 YAML 测试场景,分派给专用智能体(CLI、TUI、Web、Electron),执行动作(启动、输入、点击、等待、验证),收集证据(截图、日志、输出捕获),根据预期结果验证,并生成带证据链的报告。

支持的应用类型与动作:

CLI 应用:launch、send_input、send_signal、wait_for_output、verify_output、verify_exit_code、capture_output。

TUI 应用:launch、send_keypress、wait_for_screen、verify_screen、capture_screenshot、navigate_menu、fill_form。

Web 应用:navigate、click、type、wait_for_element、verify_element、verify_url、screenshot、scroll。

Electron 应用:launch、window_action、menu_click、dialog_action、ipc_send、verify_window,以及所有 Web 动作。

场景结构包含元数据(名称、描述、类型、标签、优先级、超时、重试、环境变量与文件)、前置条件(不满足则跳过而非失败)、顺序执行的步骤(动作、参数、描述、超时、失败继续)、验证动作(检查输出、退出码、元素、URL、窗口状态等)以及清理段(成功或失败后执行)。

高级模式包括条件逻辑(基于前一步是否通过执行)、变量与模板(${variable})、循环与重复(times、for_each)、错误处理(验证预期错误信息)。

并排一致性与 A/B 验证

QA Team 是原 outside-in-testing 技能更名后的主技能,用于标准外部视角场景,以及需要将旧实现与替代实现、方案 A 与方案 B 作为外部用户可观察对象进行对比的一致性循环。适用场景包括:Python 迁移到 Rust、旧 CLI 迁移到新 CLI、v1 到 v2 行为验证;切换默认实现前验证重写;使用相同用户场景比较分支 A 与分支 B;在配对虚拟 TTY 中运行可观察的并排会话;在影子模式下记录发布分歧而不使运行失败。

推荐的一致性循环:先定义共享的用户可见场景;在隔离沙箱中运行两个实现;比较 stdout、stderr、退出码、JSON 输出和文件系统副作用;需要配对 tmux 面板调试时使用 --observable 模式重跑;需要在远程环境(如 azlin)验证时使用 --ssh-target <host>;发布期间使用 --shadow-mode --shadow-log <file> 记录分歧而不阻断执行。如果仓库已有一致性测试工具,应扩展它而不是另建一套。

使用方式

安装前置条件(用于原生模块编译):macOS 执行 xcode-select --install;Ubuntu/Debian 执行 sudo apt-get install -y build-essential python3;Windows 安装 Visual Studio Build Tools 并勾选“Desktop development with C++”。

安装框架:全局安装 npm install -g @gadugi/agentic-test,或项目本地安装 npm install @gadugi/agentic-test,然后运行 gadugi-test --version 验证。

运行测试:gadugi-test run test-hello.yaml。输出会显示每个步骤的通过情况、总体结果以及证据保存路径。

一致性命令示例:

python tests/parity/validate_cli_parity.py
--scenario tests/parity/scenarios/feature.yaml
--python-repo /path/to/legacy-repo
--rust-binary /path/to/new-binary
--observable

远程一致性:

python tests/parity/validate_cli_parity.py
--ssh-target azlin
--scenario tests/parity/scenarios/feature.yaml
--python-repo /remote/path/to/legacy-repo
--rust-binary /remote/path/to/new-binary

发布影子日志:

python tests/parity/validate_cli_parity.py
--scenario tests/parity/scenarios/feature.yaml
--python-repo /path/to/legacy-repo
--rust-binary /path/to/new-binary
--shadow-mode
--shadow-log /tmp/feature-shadow.jsonl

适用场景

适合需要从用户视角验证行为、跨平台复用测试逻辑、在重构中保持测试稳定、让非开发人员理解测试、捕获关键工作流回归、进行旧新实现或 A/B 方案对比、在发布中记录行为分歧的场景。

限制

不适用于内部函数单元测试、性能或负载测试、需要精确时序或并发控制的测试、非交互式批处理测试,以及实现细节比行为更重要的场景。前置条件不满足时测试会被跳过而非失败。技能按四个渐进级别组织:Level 1 基础(单动作测试、简单验证)、Level 2 中级(多步骤流程、条件逻辑、错误处理)、Level 3 高级(自定义智能体、视觉回归、性能验证)、Level 4 一致性与影子模式(并排 A/B 对比、远程可观察运行、发布分歧日志)。