Test Automation Strategy 是一个面向测试自动化的策略型技能,用于在构建自动化框架或改进现有测试时提供系统化指导。
用途 该技能用于设计与实施有效的测试自动化,重点覆盖测试金字塔、常用设计模式以及 CI/CD 集成。资料指出,它适用于构建新的自动化框架、提升现有测试效率、减少不稳定测试负担以及优化 CI/CD 流水线速度。
主要能力
- 反模式检测:识别“冰淇淋筒”结构(大量 E2E、少量单元测试)、缓慢测试套件、不稳定测试、耦合测试和脆弱选择器等问题,并给出修复方向,例如反转金字塔、并行化与裁剪、隔离数据、使用 data-testid 等。
- 模式应用:推荐使用 Page Object Model、Builder 模式和 Factory 模式,并提醒 Page Object 在选择器变化时容易变脆,优先使用 data-testid 属性而非 CSS 选择器。
- CI/CD 集成:提供 GitHub Actions 示例,按单元测试、集成测试、E2E 测试分层执行,设置超时时间,并通过 needs 控制依赖顺序,实现每次推送或拉取请求运行测试、快速失败。
- 不稳定测试管理:可将不稳定测试隔离(如 describe.skip 并标注 INC 编号),并支持代理辅助的稳定化分析,涵盖 timing-issues、data-isolation、race-conditions 等方向,策略包括 add-waits、isolate-fixtures、mock-externals。
- 代理辅助自动化:可生成符合金字塔比例(unit 70、integration 20、e2e 10)的测试套件,按 page-object、builder、factory 等模式与 jest 框架输出;可进行套件优化(johnson-lindenstrauss 算法、targetReduction 0.3、maintainCoverage 0.95);可分析最近 30 天测试历史中的 timing、data、environment 模式并推荐稳定化策略。
- 协调与记忆:定义 aqe/automation/ 命名空间,包含 test-pyramid、page-objects、flaky-registry、execution-metrics 等;支持以 hierarchical 拓扑协调 qe-test-generator、qe-test-executor、qe-coverage-analyzer、qe-flaky-test-hunter、qe-regression-risk-analyzer 等代理。
使用方式 在实际使用时,该技能会默认先行动:检测反模式、应用推荐模式、集成到 CI/CD,并管理不稳定测试。资料给出了可直接参考的 YAML 流水线配置、不稳定测试隔离代码,以及通过 Task 调用代理的示例,参数包括 sourceCode、pyramid、patterns、framework、algorithm、targetReduction、maintainCoverage、testHistory、detectPatterns、recommend 等。
适用场景 适用于构建新的自动化框架、改进现有测试效率、降低不稳定测试维护负担、优化 CI/CD 流水线速度,以及需要按测试金字塔生成分层测试的团队。
限制与注意事项 资料强调,代理可能生成倒置金字塔(80% E2E、20% 单元测试),需显式强制 70/20/10 比例;被隔离但长期不修复的不稳定测试属于技术债务,建议设置 2 周 SLA 修复或删除;测试代码应被视为一等公民,需要与生产代码相同的评审标准;并行执行要求测试隔离,共享状态会导致非确定性失败。该技能的收费、价格、平台支持范围等事实暂未提供。