SuperAPI AI 工具集

test-automation

测试与质量

查看项目

更新于 10-16 02:17

技能介绍

test-automation 是 aidoc-flow-framework 框架下的自动化测试生成与质量验证工具。它的核心目标是把 SDD(规格驱动开发)制品转化为可执行的测试套件,并保证代码实现与规格、契约保持一致。

用途 工具面向质量保证与测试环节,将 BDD 场景、需求文档(REQ)、契约(CTR)、规格文档(SPEC)等制品转换为测试代码,并通过覆盖率分析验证实现是否符合规格。

主要能力

  1. BDD 场景生成:解析 Given-When-Then 格式的 BDD 文档,生成 pytest-bdd 测试文件,把场景映射到测试函数,支持带示例的场景大纲,并从 Given 子句生成测试夹具。
  2. 单元测试生成:从需求文档(REQ)生成单元测试,从 SPEC 文档创建测试模板,生成依赖 mock,支持参数化测试和边界情况识别。
  3. 集成测试生成:从 CTR 契约生成 API 集成测试,从数据规格生成数据库集成测试,生成服务交互测试,以及从 IMPL 文档生成端到端工作流测试。
  4. 契约测试:从 CTR YAML 生成消费者驱动的契约测试,包含 schema 校验、API 契约合规验证、破坏性变更检测和基于契约的 mock server 生成。
  5. 覆盖率分析:统计行覆盖、分支覆盖、路径覆盖,进行需求覆盖映射(REQ → Test)、BDD 场景覆盖追踪、契约覆盖验证,并识别覆盖缺口。
  6. 性能测试生成:从性能需求生成负载测试场景、压力测试配置、基准测试和 SLA 验证测试。
  7. 测试数据生成:根据规格生成真实测试数据、边界值数据、边界值分析以及用于负向测试的无效输入。

使用方式 工具以命令行方式调用,常用命令包括:

  • test-automation generate-bdd --input BDD/authentication_scenarios.md --output tests/bdd/test_authentication.py --framework pytest-bdd,从 BDD 场景生成 pytest-bdd 测试。
  • test-automation generate-unit --input reqs/requirements.md --filter REQ-AUTH-* --output tests/unit/test_auth_requirements.py,从需求生成单元测试。
  • test-automation generate-contract --input ctrs/CTR-USER-V1.yaml --output tests/contract/test_user_contract.py --provider user-service,生成契约测试。
  • test-automation run --coverage --coverage-report html --traceability,执行测试并生成覆盖率与可追溯性报告;也可用 --category bdd/unit/contract 或 --requirement REQ-AUTH-01 筛选运行。
  • test-automation coverage-report --format html --output reports/coverage --include-traceability,生成覆盖率报告。 工具需要 Read、Write、Edit、Bash、Glob、Grep 等操作权限,依赖 pytest、pytest-bdd、pytest-cov、pact-python、hypothesis、faker 等库。

适用场景 适用于采用规格驱动或契约驱动开发的团队,希望在 BDD/REQ 文档创建时自动生成测试、在规格变更时更新测试、并持续追踪需求与契约覆盖率。也可与 doc-flow、code-review、contract-tester、doc-validator 等环节配合使用。

限制与注意事项 该工具无法为未定义的需求生成测试,测试质量取决于规格的清晰度,生成的测试需要人工评审和调整。性能测试的负载配置需要手动调优,复杂业务逻辑可能需要自定义测试代码,契约测试需要服务提供方配合。所有生成的测试文档和可追溯性矩阵需包含 Document Control 部分(项目元数据与文档修订历史)。覆盖率报告保存至 reports/coverage/,测试执行日志保存至 logs/test-runs/,可追溯性矩阵在每次测试运行后更新。