MIT License

技术解读

以下内容由 GitRead 中文社区 编辑团队基于项目 README 与官方资料整理, 结合中文开发者的常见使用场景补充技术选型建议。具体以项目官方文档为准。

WHartTest:AI驱动的测试自动化平台深度技术分析

项目背景与痛点

在软件开发过程中,测试往往是项目生命周期中最耗时、最复杂的环节之一。特别是在功能复杂且需求变化频繁的项目中,传统的手动编写测试用例的方式不仅效率低,且难以覆盖所有的边界条件。这就导致了测试覆盖率不足、bug 残留等问题,最终影响项目交付的质量和时间。针对这一痛点,WHartTest 应运而生,它是一款 AI 驱动的测试自动化平台,致力于从需求到测试用例的全生命周期自动化管理,从而提升测试团队的工作效率和测试覆盖率,减少人为错误和遗漏。

核心技术揭秘

WHartTest 采用了一种基于机器学习的自动化测试生成与管理机制,实现了从需求到测试用例的自动化生成、管理和执行。这类系统的设计和技术实现,涉及多个关键技术栈和复杂的架构设计。以下是 WHartTest 的技术架构剖析与实现原理分析:

graph TD subgraph "需求管理模块" A[需求分析] B[需求跟踪] C[需求规格化] end subgraph "测试生成与管理模块" D[自动脚本生成] E[测试用例管理] F{"执行测试"} end subgraph "AI驱动模块" H{"需求分析器"} I{"测试生成器"} end A --> B --> C C --> H H --> I --> D D --> E E --> F F -->|"成功"| G[结果记录] F -->|"失败"| J[错误分析]

架构图中,需求管理模块负责从需求文档中抽取关键信息,进行需求规格化和需求跟踪,同时利用 AI 驱动模块中的需求分析器进一步细化需求,为测试生成模块提供关键依据。

测试生成与管理模块通过分析需求规格与业务逻辑,自动编写出最优的测试用例脚本。一旦测试用例被编译好,就会自动传递给测试执行模块进行执行。执行结果将被记录,同时对于失败的测试用例,错误分析模块会进行详细分析并生成报告,提供给开发团队进行修复。

功能亮点与差异

WHartTest 相较于同类竞品,主要差异点在于其全面的自动化策略、高效的执行机制以及智能的测试用例优化能力。

  1. 全面自动化:WHartTest 能从需求提交到测试执行全程自动化,减少了人工介入的工作量。

  2. 高效执行机制:自动生成的测试脚本利用高效的执行机制,确保测试执行快速而准确。

  3. 智能优化:通过机器学习方法,WHartTest 不断优化测试用例,提高覆盖率以及减少冗余测试,从而提升测试的有效性。

应用场景与落地建议

WHartTest 适合应用于需求频繁变化、系统复杂度较高的软件开发项目中,通过高度自动化的测试流程提升开发效率,减少人力成本。在项目落地时应注意以下几点:

  • 集成与对接:需将 WHartTest 无缝对接现有的 CI/CD 工具链,以确保自动化测试流程与开发流程的深度融合。
  • 数据安全与隐私:保护开发过程中的数据安全以及用户隐私,避免在云环境中存储敏感信息。
  • 持续优化测试用例:经常性地评估和更新测试用例,确保平台仍然能跟上业务的发展和需求的变化。

综合评价

WHartTest 作为一种创新的 AI 驱动测试自动化工具,它在提升测试效率的同时,也带来了显著的技术挑战。它全面的自动化测试流程,可以为开发团队节约大量的时间,提高测试覆盖率。不过它也存在一定的局限性,如对于需求变化的敏感度、对业务上下文的理解深度等,这需要对工具持续优化和改进。即便如此,WHartTest 在现代敏捷开发中仍是一个非常有价值的工具,值得开发者们尝试并深入探究。

关于

GitHub 原始描述(英文)

WHartTest 是一款AI驱动的测试自动化平台,实现从需求到可执行测试用例的自动化生成与管理,帮助测试团队提升效率与覆盖率。 (WHartTest is an AI-driven test automation platform that automates the generation and management of executable test cases from requirements, helping testing teams improve efficiency and coverage.)

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
1444
价值分
697
活跃状态
活跃

语言占比

CSS
Dockerfile
HTML
JavaScript
Python
Shell
TypeScript
Vue

Release

README

WHartTest - AI驱动的智能自动化测试平台

中文 | English

项目简介

WHartTest 是基于 Django 5.2 + DRF 与现代大模型技术打造 of AI 驱动的智能自动化测试平台。平台采用前后端分离的 Monorepo 架构,由 5 个子项目组成(Django 后端、Vue 前端、UI 自动化执行器、MCP 工具服务、Agent 技能库、在线文档编辑器),聚合自然语言理解、知识库检索与嵌入搜索能力,结合 LangChain/LangGraph 与 MCP(Model Context Protocol) 工具调用,实现从需求到可执行测试用例 of 自动化生成、管理与执行,为测试团队提供完整的智能测试管理解决方案。

官网地址

https://wharttest.mgdaas.com/

核心功能

1. AI 智能用例生成

  • 支持基于需求文档、业务描述、知识库上下文自动生成测试用例。
  • 结合 LangChain/LangGraph 编排多轮推理流程,支持上下文补全、用例优化与结果追踪。
  • 支持 Prompt 模板、用例模板与生成策略配置,便于沉淀团队测试规范。

2. 需求管理与智能评审

  • 支持需求文档上传、解析、查看与在线编辑,覆盖需求导入到评审报告的完整流程。
  • 支持需求拆分、专项分析、上下文检查与版本化报告查看。
  • 可基于需求内容联动知识库与大模型能力,辅助发现需求遗漏、歧义和测试关注点。

3. 测试用例管理

  • 支持按项目、模块维护功能测试用例,包含用例名称、等级、类型、前置条件、步骤、预期结果、备注等信息。
  • 提供列表视图与思维导图视图,支持模块/用例的快速创建、编辑、复制、粘贴、拖拽整理与导入导出。
  • 支持 AI 全自动编写测试用例,可基于需求文档、业务上下文、知识库和已有用例自动生成完整用例结构与测试步骤。
  • 支持 AI 全自动编辑、优化和修复用例内容,包括补全前置条件、改写步骤、完善预期结果、修复不规范用例与提升覆盖度。
  • 支持 AI 全自动运行用例与记录执行过程,结合执行日志、截图和报告自动分析失败原因并生成修复建议。
  • 支持测试套件管理、用例选择、批量组织与执行历史查看。

4. 接口自动化测试

  • 支持接口模块、接口定义、环境变量、全局 Header、数据库配置、函数与标签等接口测试资产管理。
  • 支持接口用例编排、测试任务创建、任务执行、结果明细与测试报告查看。
  • 支持 AI 全自动编写接口测试用例,可根据接口定义、请求参数、响应结构和业务上下文自动生成测试步骤、断言、变量提取与前后置脚本。
  • 支持 AI 全自动编辑和修复接口测试配置,包括请求参数、Header、环境变量、数据库校验、函数脚本、断言规则与依赖变量。
  • 支持接口调试运行、用例运行和任务批量运行,并可由 AI 自动分析失败结果、执行日志和响应内容,定位问题并生成修复方案。
  • 支持接口同步、环境切换与多项目隔离,便于统一管理 API 自动化测试流程。

5. UI 自动化测试

  • 内置 UI 自动化执行器能力,支持执行机管理、环境配置、页面对象、页面步骤、公共数据、元素定位与用例步骤管理。
  • 支持 AI 全自动编写 UI 自动化用例和脚本,可根据页面、元素、业务流程和测试目标自动生成页面操作步骤、元素定位、断言与测试数据。
  • 支持 AI 全自动编辑和修复 UI 自动化步骤,对元素定位失效、等待时机不稳定、页面状态异常、断言失败等问题进行自动分析与修复建议生成。
  • 支持 AI 全自动运行 UI 用例、调试执行和批量执行,执行过程中可采集日志、截图、视频与 Trace,便于回放和定位问题。
  • 可与测试用例、任务中心联动,实现 UI 自动化任务的统一调度与追踪。

6. Agent 对话与 MCP 工具调用

  • 提供基于 LangGraph 的智能对话入口,支持在项目上下文中进行测试分析、用例生成和工具调用。
  • 支持远程 MCP 配置管理,让 Agent 调用外部工具服务扩展测试、分析和自动化能力。
  • 支持工具审批、系统提示词、Token 用量展示与多模型配置,提升 AI 调用的可控性与安全性。

7. 知识库与检索增强

  • 支持知识库创建、文档上传、文档分块、向量化处理、检索查询与统计查看。
  • 支持嵌入模型、Reranker、全局知识库配置与连接测试。
  • 可将产品文档、接口文档、业务规则等沉淀为项目知识,为 AI 生成和评审提供 RAG 上下文。

8. Skills 技能库

  • 支持 Skills 安装、管理与技能商店来源配置,用于扩展 Agent 的专项能力。
  • 可沉淀 Playwright 等自动化技能,让 AI 具备更贴近实际测试场景的执行能力。
  • Skills 具备较高系统权限,建议仅在内网或可信环境中部署使用。

9. 任务中心与执行追踪

  • 提供统一任务中心,用于创建、执行 and 查看自动化任务。
  • 支持任务日志查看、UI 用例选择、执行状态追踪与失败问题排查。
  • 结合功能用例、接口测试与 UI 自动化,形成统一的测试执行入口。

10. 项目、团队与系统管理

  • 支持项目管理、用户管理、组织管理、权限管理与 API Key 管理。
  • 支持 LLM 配置管理、多模型接入、版本更新提示、深色/浅色主题与中英文切换。
  • 支持操作日志记录与清理配置,便于审计平台关键操作。

联系方式

如有问题或建议,请通过以下方式联系:

  • 提交 Issue
  • 项目讨论区
  • 微信群聊。
  • 加群获取最新更新信息。

添加群聊

image

【重要安全警示】关于 v1.4.0 以及后续版本 Skills 权限及部署安全的声明

鉴于 Skills 模块具备较高的系统执行权限,为了保障您的数据与环境安全,我们做出以下严正提示:

部署建议:强烈建议仅在内网环境或受信任的私有网络中部署使用。 访问控制:切勿将服务直接暴露于公网(Public Internet),或授予任何未经身份验证及不可信人员访问权限。 免责声明:本项目(WHartTest)仅供学习与研究使用。用户需自行承担因违规部署(如开放公网、未做鉴权等)所导致的一切安全风险与后果。对于因不当配置引发的数据泄露、服务器被入侵等安全事故,WHartTest 团队不承担任何法律及连带责任。 WHartTest - AI驱动测试用例生成,让测试更智能,让开发更高效!

常用环境变量

复制 .env.example 为 .env 后,可按需调整文件管理相关配置:

# 文件管理:单文件上传大小限制,单位:字节,默认 100MB
FILE_MANAGEMENT_MAX_FILE_SIZE=104857600

# LLM 附件:单文件解析文本字符数限制;0 表示不限制,超限会报错且不会截断
FILE_MANAGEMENT_LLM_MAX_CHARS_PER_FILE=0

评论

暂无评论