用途:该技能服务于现代化迁移流水线的两个阶段。设计阶段供规划角色阅读,在实现开始前产出“测试策略”章节;验证阶段供测试人员阅读,执行启动验证并编写、运行测试。
主要能力:
- 测试策略规划。定义测试层级:单元(依赖 mock,约1ms)、切片(部分应用上下文,内存数据库,约100ms)、集成(完整上下文加 Docker 基础设施、真实 DB 与安全,约3s)、E2E API(运行中应用、真实依赖,约5s)、E2E 浏览器(Playwright 对运行中应用,约10s)。建议多数迁移项目以集成层为主。
- 工具选择。按应用类型给出主工具:服务端渲染 Java、SPA、混合应用用 Playwright;纯 REST API 用框架集成测试加 Docker 基础设施;消息类用 Testcontainers 或 docker-compose。非 Java 框架给出对应集成工具,如 .NET 的 WebApplicationFactory、Node 的 supertest、Python 的 django.test.Client 与 TestClient、Go 的 httptest、Ruby 的 ActionDispatch::IntegrationTest,浏览器层统一用 Playwright。
- 环境判定。要求实际运行命令验证,而非假设:Unix/macOS 用 which docker && docker info > /dev/null 2>&1,以及 which node && node --version;Windows 用 PowerShell 对应命令。强调 docker --version 不足以判断守护进程可用,须用 docker info。Docker 与 Node.js 是相互独立的能力轴,需分别评估结果。
- 旧测试资产盘点与迁移。识别规范测试命令(如 mvn test、npm test),先运行记录基线通过数;检查用户提供的测试与源码中发现的测试;迁移决策为 rewrite、reuse-with-edits 或 discard,并给出映射表。复用遵循最小改动原则,同一文件改动超 50% 则考虑重写。
- 策略交付物。实现计划须包含测试策略章节:appType、关键用户旅程、primaryValidationStack、fallbackMatrix、环境要求、knownGaps、测试数据策略(UUID 隔离与清理)、验收标准、验证评审期望以及单元/集成测试基础设施。
使用方式与限制:技能本身不含可执行代码,提供的是流程与判定规则。要求先实际验证 Docker 与 Node.js 是否可用再选择分支,跳过验证即视为缺陷。Playwright 在 SPA 场景为必需,服务端渲染 HTML 为强烈推荐,无 Node.js 时可用 MockMvc 等回退并记录缺口。需要 Maven 或 Gradle 等构建工具,缺失时无法继续。CI 中应始终使用 Playwright 无头模式。外部网络受限时需使用预缓存二进制或模拟服务。每个实现任务必须运行模块级测试并报告通过/失败/跳过数,测试失败即任务未完成。具体的收费、价格、平台支持范围与效果数据暂未提供。