diff --git "a/Test_Result/openEuler_24.03_LTS_SP3/openEuler-24.03-LTS-SP3\347\211\210\346\234\254MCP\350\275\254\346\215\242\344\270\216\346\265\213\350\257\225\345\267\245\345\205\267\351\223\276\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" "b/Test_Result/openEuler_24.03_LTS_SP3/openEuler-24.03-LTS-SP3\347\211\210\346\234\254MCP\350\275\254\346\215\242\344\270\216\346\265\213\350\257\225\345\267\245\345\205\267\351\223\276\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" new file mode 100644 index 0000000000000000000000000000000000000000..a4a90040102cadf47745a4a62350e4e1ac46a9d1 --- /dev/null +++ "b/Test_Result/openEuler_24.03_LTS_SP3/openEuler-24.03-LTS-SP3\347\211\210\346\234\254MCP\350\275\254\346\215\242\344\270\216\346\265\213\350\257\225\345\267\245\345\205\267\351\223\276\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" @@ -0,0 +1,171 @@ +![avatar](../../images/openEuler.png) + +版权所有 © 2025 openEuler社区 + 您对"本文档"的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称"CC BY-SA 4.0")的约束。为了方便用户理解,您可以通过访问https://creativecommons.org/licenses/by-sa/4.0/ 了解CC BY-SA 4.0的概要 (但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:https://creativecommons.org/licenses/by-sa/4.0/legalcode。 + +修订记录 + +| 日期 | 修订 版本 | 修改描述 | 作者 | +| ---------- | ----------- | ------------------------------------------------- | --------- | +| 2025.12.15 | 1.0 | openEuler-24.03-LTS-SP3版本MCP转换与测试工具链特性测试报告 | 沈悦 shenyue_ustc | + +关键词: MCP转换与测试工具,mcp-testkit, mcp,MCP Servers + +摘要: + +本文档主要描述openEuler-24.03-LTS-SP3版本MCP转换与测试工具连特性的整体测试过程,详细叙述测试覆盖情况,并通过问题分析对版本整体质量进行评估和总结。按照测试策略,对MCP转换与测试工具链项目下的需求功能、以及易用性进行全面测试。报告总计执行用例23个,发现问题4个,问题均已修复。 + +# 1 特性概述 + +openEuler-24.03-LTS-SP3版本的MCP转换与测试工具链,能够根据社区中的测试套测试用例,将某功能转换为MCP Servers,并且对生成的MCP Servers进行自动化测试。 + +- MCP转换:基于社区中的测试套,将功能转换为MCP servers +- MCP测试:基于MCP Servers,对其进行生成测试用例,用例执行,并生成测试报告等一系列的自动化操作 +- MCP打包:将通过测试的MCP Servers规范格式,打包成rpm包,并上传至openEuler仓库 + +# 2 特性测试信息 + +本节描述被测对象的版本信息和测试的时间及测试轮次,包括依赖的硬件。 + +| 版本名称 | 测试起始时间 | 测试结束时间 | +| ---------------------------- | ------------ | ------------ | +| openEuler-24.03-LTS-SP3-round7 | 2025-11-28 | 2025-12-4 | + + +描述特性测试的硬件环境信息 +不涉及 + + +# 3 测试结论概述 + +## 3.1 测试整体结论 + +MCP转换与测试工具特性,共计执行23个用例,主要覆盖功能和可靠性测试。共发现问题4个,均已解决,回归通过,整体质量良好。 + +测试缺陷密度:共发现4个问题,代码量5k,缺陷密度个0.8/KLoc,质量风险较好。 + +| 测试活动 | 测试子项 | 活动评价 | +| ------- | -------- | ------- | +| 功能测试 | 继承特性测试 | 不涉及 | +| 功能测试 | 新增特性测试 | 测试通过,预期功能全部实现 | +| 兼容性测试 | 跨OS版本测试| 测试通过,在 24.03sp2 和 25.09 版本上运行正常 | +| DFX专项测试 | 性能测试 | 不涉及 | +| DFX专项测试 | 可靠性/韧性测试 | 质量良好 | +| DFX专项测试 | 安全测试 | 不涉及 | +| 资料测试 | | 质量良好 | +| 其他测试 | | 不涉及 | + +## 3.2 约束说明 + +- MCP转换与测试工具需要配置大模型API,本次测试基于大模型deepseek-ai/DeepSeek-V3.2进行测试 + +## 3.3 遗留问题分析 + +### 3.3.1 遗留问题 + +不涉及 + +### 3.3.2 问题统计 + +| | 问题总数 | 严重 | 主要 | 次要 | 不重要 | +| ------ | -------- | ---- | ---- | ---- | ------ | +| 数目 | 4 | 1 | 2 | 1 | 0 | +| 百分比 | 100% | 25% | 50% | 25% | 0 | + + + +# 4 详细测试结论 + +## 4.1 功能测试 +### 4.1.1 继承特性测试结论 + +不涉及 + +### 4.1.2 新增特性测试结论 + +| 用例特性 | 用例名称 | 测试类型 | 预置条件 | 操作步骤 | 预期结果 | 测试结论 | +| -------------------- | ------------------------------------------ | -------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -------------------------- | +| 安装部署与初始化 | 环境启动 | 功能 | 预装uv,已配置大模型API | 使用uv快速创建虚拟环境 | 环境创建成功| | +| 安装部署与初始化 | MCP Server连接 | 功能 | 已有MCP配置文件 | 将MCP配置文件地址设置成入参 | MCP Server连接正常无报错| | +| 安装部署与初始化 | Docker镜像生成 | 功能 | 预装docker | 使用Dockerfile快速创建MCP测试工具所需Docker镜像 | Docker镜像创建成功| | +| 安装部署与初始化 | 用例生成与执行模块Docker环境启动 | 功能 | 已有MCP配置文件,已有Docker镜像 | 将MCP配置文件地址设置成入参,use_docker设置为True | Docker正常启动无报错| | +| 安装部署与初始化 | 用例生成与执行模块环境清理 | 功能 | 已有MCP配置文件,已有Docker镜像 | 将MCP配置文件地址设置成入参,use_docker设置为True | MCP Server与Docker正常清理无残留| | +| MCP转换工具运行 | 根据社区测试套,生成MCP Server | 功能 | 已配置大模型API | 根据输入一个测试用例生成MCP Server | 生成成功,文件夹结构正确,包含mcp_config.json, mcp-rpm.yaml和源码文件夹src | | +| MCP转换工具运行 | 对生成MCP Server文件夹内容进行校验 | 功能 | 已配置大模型API,并基于社区测试套生成MCP Server | 对基于社区测试套生成的MCP Server的mcp_config.json和mcp-rpm.yaml文件进行格式校验与规范化处理 | 校验完毕,对不合适的文件内容进行调整 | | +| MCP测试工具运行 | 用例生成模块运行 | 功能 | 已配置大模型API、输入MCP Server配置文件 | 启动MCP测试工具用例生成模块 | 生成测试用例,并存储至.logs | | +| MCP测试工具运行 | 用例执行模块运行 | 功能 | 已配置大模型API、输入MCP Server配置文件与待测用例文件 | 启动MCP测试工具用例执行模块 | 生成用例执行结果,并存储至.logs | | +| MCP测试工具运行 | 简易测试报告生成模块运行 | 功能 | 输入MCP Server配置文件、待测用例文件与用例执行结果 | 启动MCP测试工具报告生成模块,选择参数detailed为False | 生成简易通过率报告,并存储至.logs | | +| MCP测试工具运行 | 简易测试报告生成模块运行 | 功能 | 已配置大模型API、输入MCP Server配置文件、待测用例文件与用例执行结果 | 启动MCP测试工具报告生成模块,选择参数detailed为True | 生成详细报告,并存储至.logs | | +| MCP打包 | MCP Server打包 | 功能 | 已使用转换工具生成并转换MCP Server文件夹 | 启动MCP打包工具 | 生成正确的SPEC文件,将源码等正确打包 | | + +## 4.2 兼容性测试结论 + +MCP转换与测试工具 在 24.03sp2、24.03sp3 和 25.09 版本的openEuler DevStation平台上测试,未发现兼容性问题。 + +## 4.3 DFX专项测试结论 + +### 4.3.1 性能测试结论 + +| 用例特性 | 用例名称 | 测试类型 | 预置条件 | 操作步骤 | 预期结果 | 测试结论 | +| --------------- | ------------------- | -------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -------------------------- | +| MCP转换工具运行 | MCP转换工具性能测试 | 性能 | 已配置大模型API | 启动MCP转换工具,记录测试套转换成MCP Server时间 | 时间少于180s | | +| MCP测试工具运行 | MCP测试工具用例生成模块性能测试 | 性能 | 已配置大模型API、输入MCP Server配置文件 | 启动MCP测试工具用例生成模块,记录用例生成所需时间 | 时间少于300s | | +| MCP测试工具运行 | MCP测试工具用例执行模块,工具接口测试性能测试 | 性能 | 已配置大模型API、输入MCP Server配置文件与待测用例文件 | 启动MCP测试工具用例执行模块,记录工具接口测试所需时间 | 时间少于180s | | +| MCP测试工具运行 | MCP测试工具用例执行模块,端到端测试性能测试 | 性能 | 已配置大模型API、输入MCP Server配置文件与待测用例文件 | 启动MCP测试工具用例执行模块,记录端到端测试所需时间 | 时间少于180s | | +| MCP测试工具运行 | MCP测试工具简易报告生成性能测试 | 性能 | 已配置大模型API、输入MCP Server配置文件、待测用例文件与用例执行结果 | 启动MCP测试工具报告生成模块,记录生成简易报告所需时间 | 时间少于30s | | +| MCP测试工具运行 | MCP测试工具详细报告生成性能测试 | 性能 | 已配置大模型API、输入MCP Server配置文件、待测用例文件与用例执行结果 | 启动MCP测试工具报告生成模块,记录生成详细报告所需时间 | 时间少于180s | | +| MCP打包工具运行 | MCP打包性能测试 | 性能 | 已使用转换工具生成并转换MCP Server文件夹 | 启动MCP打包工具,记录MCP打包所需时间 | 时间少于60s | | + + +: 表示特性不稳定,风险高 +: 表示特性基本可用,遗留少量问题 +: 表示特性质量良好 + +### 4.3.2 可靠性/韧性测试结论 + +| 用例特性 | 用例名称 | 测试类型 | 预置条件 | 操作步骤 | 预期结果 | 测试结论 | +| -------------------- | -------------------------------- | -------- | -------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------------------------- | +| MCP测试工具 | MCP测试工具用例执行模块断点续存 | 可靠性 | 已配置大模型API、输入MCP Server配置文件与待测用例文件 | 启动MCP测试工具用例执行模块,在用例执行过程中按Ctrl+C中断程序 | 已运行用例的执行结果保存 | | +| MCP测试工具 | MCP测试工具用例执行模块超时处理 | 可靠性 | 已配置大模型API、输入MCP Server配置文件与待测用例文件 | 在mcp.yaml文件中增加大量依赖的系统包,启动MCP测试工具用例执行模块,使得用例执行环境部署模块时间超过5min | 超时进入异常处理中断程序 | | +| MCP测试工具 | 用例执行模块运行 | 可靠性 | 已配置大模型API、输入MCP Server配置文件与待测用例文件 | 针对同一个测试用例文件,重复5次运行用例执行模块 | 5次运行结果一致 | | +| MCP测试工具 | 简易报告生成模块运行 | 可靠性 | 已配置大模型API、输入MCP Server配置文件、待测用例文件与用例执行结果 | 针对同一个测试用例文件,重复5次生成简易报告 | 5次运行结果一致 | | + + +: 表示特性不稳定,风险高 +: 表示特性基本可用,遗留少量问题 +: 表示特性质量良好 + +### 4.3.3 安全测试结论 + +| 用例特性 | 用例名称 | 测试类型 | 预置条件 | 操作步骤 | 预期结果 | 测试结论 | +| -------------- | -------------------- | -------- | ------------------------------ | ------------------------------------------------------------ | ------------------------------------ | -------------------------- | +| MCP测试工具 | 输入命令参数危险字段测试 | 安全 | 执行正常 | 命令入参中输入单引号、双引号、分号、半括号,以及常用的危险关键词:'; DROP TABLE users; --,admin'--,\alert('XSS')\,javascript:alert('XSS'),; whoami,; cat /etc/passwd,file:///etc/passwd,等等 | 任务执行正常 | | + +: 表示特性不稳定,风险高 +: 表示特性基本可用,遗留少量问题 +: 表示特性质量良好 + +## 4.4 资料测试结论 + +| 测试类型 | 测试内容 | 测试结论 | +| :----- | -------- | ------- | +| 用户手册 | https://gitee.com/openeuler/mcp-testkit/blob/master/README.md | 测试通过 | + + + +# 5 测试执行 + +## 5.1 测试执行统计数据 + +| 版本名称 | 测试用例数 | 用例执行结果 | 发现问题单数 | +| :------- | ----------------------- | -------------- | ------------ | +| 1.0 | 23 | 23 pass 0 fail | 4 | + +## 5.2 问题记录 + +| 序号 | issue单号 | 问题简述 | 问题级别 | 影响分析 | 规避措施 | 状态 | +| ---- | -------- | -------- | -------- | -------- | -------- | ------------ | +| 1 | https://gitee.com/openeuler/mcp-testkit/issues/IDAQQY?from=project-issue | 用例执行初始化环境设置时没有支持pyproject.toml和mcp.yaml文件的处理 | 严重 | 中等 | 增加逻辑处理 | 已修复 | +| 2 | https://gitee.com/openeuler/mcp-testkit/issues/IDAQRY?from=project-issue | 修改从mcp config文件中获取server源代码路径的方式 | 主要 | 中等 |优化算法 | 已修复 | +| 3 | https://gitee.com/openeuler/mcp-testkit/issues/IDAQMP?from=project-issue | 用例执行模块没有支持断点续存与超时处理 | 主要 | 中等 | 优化算法 | 已修复 | +| 4 | https://gitee.com/openeuler/mcp-testkit/issues/IDAQJZ?from=project-issue | 生成用例模块可以将保存日志文件夹作为参数 | 次要 | 较小 | 修改命令行参数解析部分代码 | 已修复 | \ No newline at end of file