首页
/ Apache DevLake 新增 QA 领域支持及 CSV 导入功能解析

Apache DevLake 新增 QA 领域支持及 CSV 导入功能解析

2025-07-02 13:16:52作者:袁立春Spencer

背景与需求

在现代 DevOps 实践中,测试数据的可视化与分析是软件开发生命周期中不可或缺的一环。Apache DevLake 作为一款开源的研发效能平台,此前已支持问题跟踪、代码管理、CI/CD 等多个领域的抽象建模,但缺乏对测试领域的专门支持。这导致团队难以统一分析来自不同测试工具(如 Jira、TestRail、Zephyr 等)的质量数据。

架构设计

QA 领域模型

本次扩展引入了完整的 QA 领域层,核心包含以下实体:

  1. 测试项目(QaProject)
    作为测试活动的顶层容器,通过测试用例数据隐式创建,包含项目 ID 和名称等基础属性。

  2. 测试用例(QaTestCase)
    记录测试用例的元数据,包括:

    • 类型标识(功能测试/API 测试)
    • 关联的 API 信息(可选)
    • 所属项目信息
  3. 测试执行记录(QaTestCaseExecution)
    存储每次测试执行的详细信息:

    • 执行时间范围(开始/结束时间)
    • 执行状态(待处理/进行中/成功/失败)
    • 关联的测试用例和项目
  4. API 元数据(QaApi)(可选)
    专门为 API 测试设计的扩展实体,用于记录接口定义和变更历史。

数据关系设计

  • 测试项目与测试用例为一对多关系
  • 测试用例与执行记录为一对多关系
  • API 与测试用例为可选的一对一关系

实现方案

CSV 导入接口

通过扩展 Customize 插件实现三类 CSV 文件的标准化导入:

  1. 测试用例导入

    • 端点:/plugins/customize/csvfiles/qa_test_cases.csv
    • 字段示例:
      id,name,type,api_id,qa_project_id,creator_name
      101,登录测试,functional,,project_01,张三
      102,支付接口,api,api_001,project_01,李四
      
  2. 测试执行导入

    • 端点:/plugins/customize/csvfiles/qa_test_case_executions.csv
    • 字段示例:
      id,qa_test_case_id,status,start_time,finish_time
      1001,101,SUCCESS,2025-04-01 10:00,2025-04-01 10:05
      
  3. API 元数据导入(可选)

    • 端点:/plugins/customize/csvfiles/qa_apis.csv
    • 支持增量更新和去重处理

关键技术点

  1. 账户自动映射
    当 CSV 中包含 creator_name 字段时,系统会自动在 accounts 表中创建或关联对应的用户记录,保持与平台其他模块的一致性。

  2. 智能关联处理

    • 测试用例导入时会自动创建关联的项目记录
    • API 信息需要显式通过专用接口导入
  3. 时间序列支持
    执行记录的时间字段支持精确到秒级的时间戳,便于后续构建测试周期分析看板。

应用价值

  1. 统一质量视图
    将分散在不同测试工具中的数据统一建模,支持跨工具的测试覆盖率、通过率等核心指标分析。

  2. 历史追溯能力
    通过执行记录的完整保存,支持测试稳定性趋势分析、失败用例根因分析等场景。

  3. 灵活接入方案
    CSV 导入方式特别适合:

    • 使用自研测试工具的企业
    • 需要对接非标准测试系统的场景
    • 历史测试数据的迁移场景

演进规划

当前版本聚焦基础能力建设,未来可考虑:

  • 增加测试批次(batch)概念支持批量执行分析
  • 扩展测试环境维度信息
  • 支持自动化测试脚本的关联存储

该功能的实现标志着 Apache DevLake 在研发效能全链路分析能力上的重要完善,为团队质量保障工作提供了强有力的数据支撑。

登录后查看全文
热门项目推荐

热门内容推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
860
511
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
259
300
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
595
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K