SuperAPI AI 工具集

qa-dashboard

测试与质量

查看项目

更新于 10-15 14:07

技能介绍

用途

qa-dashboard 用于构建和可视化 QA 仪表盘与报告,把测试执行结果转化为可支撑决策的视图。它覆盖测试执行可视化、面向干系人的质量报告,以及回归告警。技能首先通过一组发现性问题确定起点:当前用什么工具做测试报告、谁会看仪表盘、仪表盘要驱动什么决策、测试结果存放在哪里、CI 平台是什么。若存在 .agents/qa-project-context.md,则优先使用其中已回答的内容。

核心原则

  1. 仪表盘回答的是问题,而不是展示数字。每个面板都要对应一个真实被提出的问题。
  2. 不同受众需要不同视图。开发者需要失败详情与堆栈,QA 负责人需要趋势与 flakiness,领导层需要发布信心与缺陷率。
  3. CI 用实时视图,领导层用趋势视图。CI 仪表盘每次流水线运行都更新,领导层仪表盘按周或按 sprint 聚合。
  4. 可下钻到行动。每个红色指标都要能链接到具体失败测试、flaky 测试或覆盖率缺口。
  5. 自动生成报告。需要人工操作(跑脚本、复制数据、排版幻灯片)的报告难以持续。

主要能力与工具

Allure Report

Allure 从测试结果生成丰富的 HTML 报告,内置历史、分类与重试。支持 Playwright、Jest、Vitest、pytest 等框架。存在两条路径:

  • Allure 2 路径:使用 allure-commandline(2.42.1,2026 年 6 月)。brew install allure 安装的是此版本。命令为 allure generate / allure open / allure serve;分类通过放入 allure-results/ 的 categories.json 配置。
  • Allure 3 路径:使用 allure npm 包 + allurerc.mjs(3.9.0,2026 年 5 月)。TypeScript 重写,支持插件、单文件配置、实时 allure watch、项目级质量门、多环境报告,以及用于服务端历史的 Allure Service。命令为 npx allure run / npx allure generate / npx allure watch;分类移入 allurerc.mjs。

新项目建议选择 Allure 3。Playwright 最小接线方式是把适配器注册为 reporter: ["allure-playwright", { outputFolder, environmentInfo }],使每次运行把结果写入 allure-results/ 并捕获环境信息。需为测试添加元数据(allure.severity / feature / story / tag)以驱动分组,定义失败分类以区分产品缺陷与基础设施问题,并在 CI 运行间保留 history/ 以形成趋势。没有 history 的 Allure 报告只是单次快照。

Grafana Dashboards

Grafana 提供带告警的实时仪表盘,适合已用 Grafana 监控基础设施、希望把测试指标与生产指标并列的团队。数据管道为:测试后 CI 步骤解析结果(JUnit XML、覆盖率 JSON、耗时)并把数据点推送到时序数据库(InfluxDB 或 Prometheus pushgateway),Grafana 查询这些数据。推送脚本写入两个 measurement:test_execution(每个测试一个点,按 suite/test_name/status/branch/run_id 打标签)和 test_run_summary(每次运行一个点,含 pass_rate、total、failed、avg_duration_ms)。每个点都要打上 branch 和 run_id 标签。脚本在 if: always() 下运行,需用 try/flush/close 包裹写入循环。

推荐面板包括:Pass Rate Trend(时间序列)、Release Readiness(stat)、Flakiness Top 10(表格)、CI Duration Trend。告警规则以 YAML 形式配置在 provisioning/alerting/ 下(Grafana 11+)。必需的一条是:main 分支通过率单日下降超过 2 个百分点。还可对通过率低于 95%(10 分钟窗口)、CI 时长超过 15 分钟、一周内覆盖率下降超过 2% 告警。

ReportPortal

自托管测试报告平台,具备 ML 驱动的失败分析、跨框架聚合和实时仪表盘。部署方式为拉取指定标签版本的 docker-compose.yml 并运行 docker compose up -d,访问 http://localhost:8080(默认 superadmin/erebus)。ML 自动分析位于 service-auto-analyzer 容器。26.0.3 起还可接收 agentic 测试结果(launch 带 AGENTIC 与 AUTOMATION 执行类型徽章)。Playwright 集成使用 @reportportal/agent-js-playwright,通过 npm i -D 安装。功能包括:自动分析(ML 失败分类为产品缺陷、测试缺陷、系统问题或待调查)、缺陷类型映射、flaky 测试检测、合并 launch、质量门、launch 对比。质量门可在运行后通过 API 查询,用作 CI 门禁。

Allure TestOps(托管替代方案)

若自托管过重,Allure TestOps(26.2.x 线,2026 年)是 SaaS 路径:Allure 3 质量门、命名环境、全局附件,以及 Allure 3 风格 flaky 检测(测试在最近 10 次运行中出现 ≥3 次状态转换即标记)。其 MCP 服务器处于公开测试阶段(26.1.1),允许 AI 智能体直接查询 launch 与质量门。

SaaS 原生测试仪表盘

若测试运行器有原生托管仪表盘,优先使用它处理该运行器的原生数据,减少接线、保留更久、内置 PR 评论。仅在需要跨运行器聚合时才与 Allure/Grafana 交叉使用。对比包括:Cypress Cloud(Cypress)、Currents.dev(Cypress、Playwright)、Playwright HTML + --reporter=blob(免费自托管,用 merge-reports 合并分片)、Datadog Test Optimization(任意,CI 侧)、Allure TestOps(任意)。合并分片 Playwright 运行的方式是每个分片输出 blob 报告,再合并为一个 HTML 报告。

干系人报告

  • 每周 QA 摘要:通过定时 CI 任务自动化,包含通过率与趋势、新增与修复失败、前 5 个 flaky 测试、覆盖率变化、平均 CI 时长。健康分类为 STABLE(>= 98%)、NEEDS ATTENTION(>= 95%)、CRITICAL(< 95%),自动发布到 Slack。
  • 发布质量报告:每次发布前生成,门禁包括 E2E 通过率 >= 99%、单元通过率 100%、分支覆盖率 >= 80%、零严重缺陷、主要缺陷 <= 2,以及 Core Web Vitals 预算。输出 READY / NOT READY 判定与逐门禁通过/失败明细。
  • Core Web Vitals 性能门禁阈值(截至 2026 年):LCP < 2500ms、INP < 200ms、CLS < 0.1。门禁应基于 INP 而非 FID。

推荐仪表盘面板

包括 Pass/Fail Trend、Flakiness Top 10、Coverage Heatmap、Defect Escape Trend、CI Duration、Test Velocity、Failure Categories、Release Readiness,分别对应不同问题、数据来源与受众。

反模式

30 个面板的仪表盘无人阅读;指标缺少上下文(目标与趋势);手动生成报告;开发者和领导层共用同一仪表盘;把测试数量当作进展;没有回归告警;Allure 没有 history;混用 Allure 2 与 3 代码路径。

验证与完成标准

验证包括:Allure 报告能构建且趋势组件显示多于一次运行;Grafana 推送的汇总点落入 InfluxDB;Grafana 告警规则已加载。完成标准为:仪表盘发布到团队可访问的已知位置(返回 HTTP 200);测试执行趋势可见至少 2 周历史数据;flakiness 面板配置为显示滚动 14 天窗口内重试次数最多的 flaky 测试;干系人报告模板自动生成(周报或发布报告之一或两者);配置并路由告警,在 main 分支通过率单日下降超过 2 个百分点时触发。

相关技能

qa-metrics(定义质量 KPI、度量框架与指标解读)、ci-cd-integration(自动化报告生成与制品管理的流水线配置)、ai-bug-tr(资料在此处截断,未提供完整内容)。