AGILE TEAM
Skip to content

测试工程技能包(wl-skills-test)

📝 作者
常兴
常兴共享技术中心
工号:025192

npm 已发布 v0.22.0

bash
npx @agile-team/wl-skills-test        # 安装(11 规范 + 13 Skill + 19 MCP)
npx @agile-team/wl-skills-test doctor # 环境体检
npx @agile-team/wl-skills-test setup  # 接入探测引导(v0.21:没有契约也能开始)
npx @agile-team/wl-skills-test audit  # 审计测试代码(T1-T25)
npx @agile-team/wl-skills-test gate   # 一键聚合质量门(审计+e2e-check+冒烟+DI+性能)

npm 包地址 · GitHub · 作者:常兴

新成员从这里开始:快速上手测试规范度量与质量门


定位

@agile-team/wl-skills-test 是五包生态的第五个包,补齐测试验证环节,形成设计→开发→测试的完整闭环:

design(产品设计) → kit(前端代码) → ui(视觉对齐) → bd(后端代码) → test(测试验证)
     ↓                ↓                               ↓              ↑
  需求文档      page-spec/api.md              wl-contract.json   消费上游契约
                                                   +                 → 生成用例
                                             ServiceTest.java         → 自动化脚本
                                                                      → 执行 + 质量评估

独立可用:不依赖其他包也能从需求文档独立工作。联动只是增强(从契约自动生成用例),不是前置条件。


核心能力(v0.22.0)

维度数量说明
测试规范11对齐在线 QC 流程规范(01-流程 ~ 11-数据安全)
AI Skill13功能链 9 + 性能链 3 + 接入编排 1(test-onboarding)
MCP 工具19wls_test_* 前缀,全部实现并有测试覆盖(v0.17 contract_diff · v0.22 gen_contract)
审计规则25T1-T25 确定性扫描器(Playwright/JMeter/用例/E2E 工程),表驱动可扩展
自动修复6F1-F6(v-deep/beforeEach/waitForTimeout/硬编码/afterEach/测试名),修复后强制复验
执行器3API 接口测试 + Playwright 自动化 + JMeter 性能
CLI 命令21init/update/setup/doctor/validate/gen-contract/validate-contract/run-gen/audit/fix/run-api/run-playwright/run-jmeter/perf-compare/e2e-check/dict-sync/gate/report/ci/diff/clean
单元测试256全部通过

版本演进亮点(0.12 → 0.22)

版本主题
0.12架构地基:共享层(阈值/类型单一事实源)、CLI 分层、MCP parity 校验
0.13引擎层:jtl 流式解析(200k 行不 OOM)、执行器 spawn 异步化防注入、审计规则表驱动
0.14生成器精准化:FG 用例 ID 内容哈希化(防编号漂移)、基线去重、维度覆盖追溯
0.15安全收口:write-guard 字节级回滚、plan-hash 归一化、MCP fix root 约束、文档口径一致性测试
0.16可用性:wl-test.config.json 配置档案 + --profile、auth 自动登录、ci 流水线模板、失败 hint 诊断、MCP 紧凑输出(数十 KB → 1-2KB)
0.17有效性:更新生效验证、非法枚举负例自动执行、并发重复探针、diff 契约变更影响面 + 第 18 个 MCP 工具
0.18性能工程化:p90/TPS/错误 TopN、基线自动管理(劣化不自动更新,防慢性漂移)、混合场景压测
0.19报告门户:质量分 0-100 + A/B/C/D、单文件 HTML 交互报告、SVG 趋势、飞书推送
0.20闭环收口:不存在主键/删除幂等探针、detail 漂移检测、fix 复验、validate-contract 校验前置
0.21AI 接入故事gen-contract --swagger(OpenAPI→契约)、setup 接入引导、第 13 个 Skill test-onboarding(六步 SOP)
0.22内在深化:数值边界 / 组合查询收敛探针转 autoExec、严格成功码 --strict-code、swagger 导入增强(v2 basePath / --token / 响应与查询模型导入)、run-jmeter --baseline-compare 基线串联、第 19 个 MCP 工具 wls_test_gen_contract

13 个 Skill 流水线

功能测试链(9 个)

text
需求文档

  ├─→ ① test-plan-generator ──── 测试方案(7 章标准化)
  ├─→ ② test-scenario-analyzer ── 业务场景(10 类全覆盖)
  └─→ ③ test-case-generator ───── 功能+流程用例(P0~P3)

        ├─→ ④ test-case-reviewer ── 5 维评审(重读需求)
        ├─→ ⑤ smoke-test-selector ─ 冒烟套件(≤8/15/25)
        │     └─→ ⑥ smoke-test-executor ── 执行+报告
        ├─→ ⑦ test-script-generator ─ Playwright 脚本
        │     └─→ ⑧ universal-test-rules ── 自动化规则基座
        └─→ ⑨ test-quality-analyzer ── DI 质量评估+上线判定
步骤Skill用途关键能力
test-plan-generator测试方案自动读取需求/详设,输出 7 步标准测试方案
test-scenario-analyzer场景分析10 类场景(主流程/分支/异常/权限/状态机/回滚/跨周期/批量/多源)
test-case-generator用例生成等价类/边界值/场景法/决策表,P0-P3 分级
test-case-reviewer用例评审5 维度:业务覆盖/规范符合/可执行性/数据完整性/边界异常
smoke-test-selector冒烟筛选纳入/排除规则、定量套件、可追溯性
smoke-test-executor冒烟执行通过/失败判定、重试逻辑、阻断检测
test-script-generatorPlaywright 脚本元素识别、动作模式、等待策略、断言标准
universal-test-rules通用规则测试流程/断言/异常处理/页面闭环/数据生命周期
test-quality-analyzer质量评估DI 缺陷分析、模块级通过率、多轮趋势、go/no-go

性能测试链(3 个)

步骤Skill用途关键能力
perf-plan-generator性能方案场景设计、梯度并发策略、SLA 阈值、环境与监控
perf-script-generatorJMeter 脚本.jmx + 参数化 CSV + CLI 命令,含登录鉴权/Token/断言
perf-report-analyzer性能报告解析 jtl/监控 CSV,瓶颈诊断、优化建议、3 版本趋势对比

接入编排(第 13 个 Skill,v0.21.0)

步骤Skill用途
test-onboarding用户一句"接入测试"即触发六步 SOP:setup 探测 → gen-contract 提取(AI 不手写契约)→ validate-contract 把关(不过不往下走)→ 配置确认(凭据 $ENV 引用不碰明文)→ run-api 试跑 → 汇报 + 固化 CI。AI 只编排与理解文档,执行全部走确定性工具

审计引擎(T1-T25)

对标 kit K1-K19 / bd B1-B31 / ui R001-R043 的确定性规则扫描器(不靠 AI 自觉,脚本直接检测):

规则范围对象检测内容
T1-T5, T12PlaywrightbeforeEach 缺失 / 硬编码 URL / 缺少断言 / 测试名 / 数据清理 / 硬等待
T6-T9, T13-T18JMeter聚合报告 / ConfigTestElement 致命坑 / SteppingThreadGroup / CSV / LoopController / Header / SLA / PerfMon / ramp
T10-T11, T19-T20用例P0 覆盖 / 预期结果 / 数量不足 / 异常场景缺失
T21-T25(v0.8.0+)E2E 工程test.only 假闭环 / 受控写入缺安全标记 / 隔离声明漂移 / Bearer 截断 / UI 契约缺 page.route(源自 wl-ui-produce 实战约束)
bash
# 审计测试代码
npx @agile-team/wl-skills-test audit --target ./tests/

# 自动修复反模式(F1-F6)
npx @agile-team/wl-skills-test fix --target ./tests/

执行能力(真实执行引擎)

执行器命令说明
API 接口测试run-apiDAG 编排(列表冒烟→新增→写后读回→更新生效验证(差异化字段,防"更新被忽略"假覆盖)→详情读回逐字段比对→负例→重复提交→并发重复探针(5 并发暴露唯一约束缺失)→不存在主键/删除幂等探针→权限→分页→清理→零污染复查)+ 四层断言 + 数值边界(min-1/max+1)/组合查询收敛/非法枚举转 autoExec + detail 响应也参与契约漂移检测 + 权限双账号 + 报文快照留证 + 失败步骤自带 hint 诊断指引 + --strict-code 严格成功码 + --timeout
Playwrightrun-playwright调用 playwright test + 解析 passed/failed/skipped,提取失败明细
JMeterrun-jmeter调用 jmeter -n -t + jtl 流式解析(百 MB 级不 OOM),P50/P90/P95/P99/TPS/错误 TopN
bash
# 深度 API 接口测试(v0.9.0+:负例 + 契约漂移 + 权限验证)
npx @agile-team/wl-skills-test run-api --contract ./wl-contract.json --base-url http://localhost:8080 \
  --token-no-perm --dict-file ./dict.json

# 执行 Playwright 自动化
npx @agile-team/wl-skills-test run-playwright --test-dir ./tests/

# 执行 JMeter 性能测试
npx @agile-team/wl-skills-test run-jmeter --jmx ./perf-test.jmx --threads 200

test-reports 统一报告体系(v0.11.0)

所有报告统一产出到 test-reports/:7 类产物自动发现、history.jsonl 历史趋势、--trend 趋势表、webhook 推送。详解见 度量与质量门

细粒度用例生成(v0.11.0,v0.14/v0.17/v0.20/v0.22 持续精准化)

run-gen --granularity field 在基线矩阵之上追加字段级(必填置空/超长/数值边界/非法枚举/XSS·SQL 注入探测)与操作级(重复提交/不存在主键/重复删除/无权限/分页边界)用例。autoExec 持续翻转(v0.22:数值边界 min-1/max+1、组合查询收敛、非法枚举、op-update/op-duplicate-concurrent 均可真执行);FG 用例 ID 内容哈希化(契约增删字段不再引发编号漂移);与基线矩阵自动去重;每条标注 autoExec 与 run-api DAG 步骤的对应关系,可执行闭环诚实标注。


质量门与上线判定

bash
npx @agile-team/wl-skills-test gate                  # 一键聚合:审计+e2e-check+冒烟+DI+性能,任一失败 exit 1
npx @agile-team/wl-skills-test gate --webhook <url>  # 推送结论到企微/钉钉

4 指标上线判定:DI 密度 < 0.3 · 致命关闭率 100% · 严重关闭率 100% · 模块收敛 ≤20%。口径定义与指标解读见 度量与质量门


契约驱动

契约来源格式自动生成
kitwl-api-contract.jsonCRUD 用例矩阵 + 权限 + 必填校验
bdwl-contract.json5 标准操作 + customOperations + 必填
kitpage-spec.json页面 CRUD 推断 + Playwright 选择器
bash
npx @agile-team/wl-skills-test run-gen --contract ./wl-contract.json
npx @agile-team/wl-skills-test run-gen --contract ./page-spec.json --type playwright
npx @agile-team/wl-skills-test run-gen --contract ./wl-contract.json --type jmeter --threads 200

AI 接入(v0.21.0):没有契约也能开始

接入从"人写契约"变成"AI 按引导读后端已有资产"。一句"接入测试"触发 test-onboarding 六步 SOP,每步绑定确定性工具。

bash
# 1. 接入探测:项目形态(Java Maven/Gradle、前端框架)+ 接口来源(Swagger 在线探测 → openapi.json → api.md)
npx @agile-team/wl-skills-test setup --base-url http://localhost:8080
#    生成 wl-test.config.json 骨架(sit/uat 档案 + auth 凭据 $ENV 引用,不覆盖已有)
#    输出可直接发给 AI 的标准接入指令

# 2. OpenAPI/Swagger → 契约(人不再手写第二份契约)
npx @agile-team/wl-skills-test gen-contract --swagger http://localhost:8080/v3/api-docs --module 订单

gen-contract 的确定性转换:queryPage/save/getById/updateById/deleteById → 五标准操作;requestBody 解引用 → createRequest(required/maxLength/min·max/枚举全保留——这些正是负例与断言深度的来源);OpenAPI v2/v3 兼容;转换结果强制过 validate-contract,并输出"需人工核对"清单(业务成功码默认 2000)。

六步 SOP:setup 探测 → gen-contract 提取 → validate-contract 把关(不过不往下走)→ 配置确认(凭据 $ENV 引用不碰明文)→ run-api 试跑 → 汇报 + 固化 CI。AI 只编排与理解文档,执行全部走工具。


五包能力对标

能力维度designkituibdtest
版本v0.11.1v2.20.4v1.12.0v0.24.0v0.22.0
审计规则K1-K19R001-R043B1-B31T1-T25
自动修复F1-F612 条B3/B5F1-F6
执行能力✅ API+PW+JMeter
MCP 工具029131718

详细 Skill 文档

  • 功能测试 — 测试计划 / 场景分析 / 用例生成 / 评审 / 质量评估
  • 自动化测试 — Playwright 脚本 / 通用规则 / 冒烟筛选与执行
  • 性能测试 — 压测方案 / JMeter 脚本 / 报告分析

You may not distribute, modify, or sell this software without permission.