SuperAPI AI 工具集

create-test-baseline

测试与质量

查看项目

更新于 10-16 00:31

技能介绍

用途:在应用迁移前,为应用的外部可观察行为产出精确、可机械转化为测试代码的规格,作为后续迁移验证的基准。产出为 test-cases/test-cases.md 及被引用的 test-cases/testdata/ 测试数据,此阶段不生成测试代码;后续验证技能据此针对新实现生成迁移后测试。

主要能力:扫描生产源码,盘点外部边界与编排入口(HTTP/REST/gRPC/GraphQL、CLI、定时任务、消息队列监听、事件发布/消费、webhook、EJB 业务方法、公共库/SDK 方法等),按拥有模块分组;盘点已有集成测试并提取测试约定;为每个在范围模块编写独立 test-cases.md,覆盖正常路径、边界值、特殊输入、故障映射四类;将载荷数据外化到 testdata/ 下,按 inputs/、expectations/ 等组织;构建基础设施决策表,逐依赖决定真实、testcontainer 或 mock。

使用方式:输入包括 migration-scope、taskid、modernization-work-folder。基线产物放在项目测试源码根目录下的 test-cases/ 子目录(多模块仓库放在各模块自己的测试源码根下),run 摘要报告写到 modernization-work-folder/<taskid>/baseline-summary.md。test-cases.md 内路径相对 test-cases/ 解析。编写前需与用户确认集成测试环境模式(real、mock、testcontainer 或按依赖混合);若有交互式提问工具,先在对话中给出决策表草稿并确认每行的决定与认证方式,再写入文件。

适用场景:多模块或单体项目的迁移前基线建立,尤其是涉及云存储、数据库、消息代理等资源迁移的模块。

限制:test-cases/test-cases.md 与 testdata/ 一经完成后冻结,后续阶段不得修改、重命名、移动或删除;不产出 BaselineIT 测试代码,迁移采用替换策略;模块是测试用例边界,一个模块的规格不得包含其他模块入口的用例;不直接访问迁移相关资源的模块跳过,纯 HTTP 前端且不触及被迁移资源的模块无需测试用例;跨模块依赖与非迁移相关外部服务一律 mock;需遵循已有测试的命名、框架、断言、夹具与辅助工具约定,避免重复覆盖已有测试;每个测试用例必须填满必填字段,模糊描述视为缺陷;数据不得内联字节字面量或手工拼接 JSON;若环境无交互提问工具则跳过确认直接保存,不阻塞流程。具体模板、示例与未提供细节暂未提供。