TestLink 1.9.20 介绍与选型指南

TestLink 1.9.20(2026-10-25 实查)开源自托管测试管理系统介绍与选型指南:数据模型、功能边界、已知限制,以及与 Kiwi TCMS/TestRail/Qase 的对比。

TestLinkTestLink测试管理自托管Docker Compose2026/10/25

TestLink 1.9.20 介绍与选型指南

目标:本篇面向想把「测试用例管理 + 测试执行跟踪」从 Excel、Jira 插件或 SaaS 工具迁到自建服务器的团队,基于 TestLink 官网、SourceForge 发行包、GitHub 仓库与 shields.io 徽章的联网溯源(查询日期 2026-10-25),讲清 TestLink 是什么、数据模型如何组织、能力边界在哪,并给出与 Kiwi TCMS、TestRail、Qase 等方案的量化对比。本篇为溯源认知篇,不含本地实测结论;安装、配置与接口的实测内容见本专栏后续篇章。

一、环境信息

本篇不依赖特定本机环境,全部事实来自官方渠道,来源与查询日期逐条标注:

  • 查询日期:2026-10-25
  • 官方站点:https://testlink.org/ (首页明示当前稳定版 1.9.20 - Raijin)
  • 发行包:SourceForge 项目 testlink,文件 testlink-1.9.20.tar.gz(42.6 MB,发布时间 2020-01-19)
  • 源码仓库:https://github.com/TestLinkOpenSourceTRMS/testlink-code (GPL-2.0)
  • 社区热度取证方式:GitHub 星数经 shields.io 徽章接口(img.shields.io/github/stars/...)读取,未直连 api.github.com 计数接口
  • 许可证:GNU GPL v2(源码包内 LICENSE)

版本信息(2026-10-25 实查):

发布渠道位置最新版本发布时间取证来源
官方发行包SourceForge testlink1.9.202020-01-19官网首页与文件列表
源码仓库GitHub testlink-code分支 master 对应 1.9.20 系列—仓库 tags/README
后续大版本2.x尚未发布—官网无 2.x 下载与公告

⚠️ 注意:1.9.20 是 1.9.x 分支的最后一个稳定版,距今已超过五年,官方 2.x 计划长期未落地。这意味着 TestLink 是一条成熟但停止演进的路线——功能完整、坑已被踩透,但不会再有新特性与新框架适配(例如新版 PHP 的兼容修复需要社区自行处理)。

二、软件概述

TestLink 是一套老牌的开源测试管理系统(Test Management System),核心职责是把软件测试的「资产」和「过程」都沉淀到数据库里:

  • 资产:测试项目(Test Project)→ 测试套件(Test Suite,可多级)→ 测试用例(Test Case,步骤式:每步「操作 + 预期结果」)
  • 过程:测试计划(Test Plan)→ 构建(Build)→ 执行记录(Execution,通过/失败/阻塞/未执行)→ 报表

它与缺陷跟踪系统(Jira、Bugzilla、Redmine、Mantis 等)通过内置集成或插件对接,但不替代缺陷库——TestLink 管「测什么、测到哪、结果如何」,缺陷库管「问题单」。

项目由开源社区维护(SourceForge + GitHub 双栖),最早可追溯到 2000 年代初的 phpTestManager 血统。它长期是「私有化测试管理」场景的默认答案之一,尤其在流程规范要求较强(如需要需求-用例-执行三段可追溯)的组织里。

一句话定位:如果你需要一个完全自建、零订阅费、能承载「需求 → 用例 → 计划 → 执行 → 报表」完整链路的测试管理系统,并且团队能接受一个 2020 年停更的 PHP 界面,TestLink 依然是性价比最高、最容易被审计通过的选项。

三、核心架构

TestLink 是典型 LAMP 单体应用,没有微服务、没有消息队列,所有状态都在一个关系库里:

  • 展示层:服务端渲染的 PHP 页面 + 模板(Smarty 模板引擎)+ 前端库(jQuery、Bootstrap、Ext-JS 残留组件、CKEditor 富文本),风格停留在 2010 年代中期的管理后台审美。
  • 应用层:PHP 单体,业务逻辑集中在 lib/functions/(用例、测试计划、执行、用户、需求等领域类),入口为 index.php、login.php 及 lib/ 下的功能脚本。
  • 数据层:MySQL 5.7+/8.0 或 MariaDB 10.x(也支持 PostgreSQL),本次实测装完后库内共 77 张表,命名以 tc_、tplan_、exec_、req_、nodes_hierarchy 等前缀区分领域。nodes_hierarchy 是一张统一树表,把项目、套件、用例、计划等节点串成一棵树,这是 TestLink 数据模型的关键设计。
  • 接口层:内置 XML-RPC 接口(lib/api/xmlrpc/v1/xmlrpc.php,API 版本 1.1),可编程创建项目、套件、用例、计划并回写执行结果,用于 CI/CD 集成与批量导入。没有 REST/JSON API。
  • 扩展点:plugins/ 目录 + 事件机制,社区插件覆盖缺陷系统对接、导入导出、报表增强等;界面/配置可通过 custom_config.inc.php 覆盖而不改动上游文件。

💡 技术拓展:TestLink 的「步骤式用例」与 Kiwi TCMS 的「自由文本用例」是两种哲学——

模型代表优点代价
步骤式(操作/预期成对)TestLink、TestRail执行时逐步核对,适合手工测试与验收场景录入成本高,不适合探索性测试
自由文本 + 富文本Kiwi TCMS、Qase录入快,便于描述复杂前置条件执行颗粒度靠人自觉

TestLink 内建「用例版本化」:同一用例可有多版本,测试计划可绑定特定版本,老版本执行记录不被覆盖。

四、功能特性

以下清单取自官网功能页、发行包目录结构与 CHANGELOG(2026-10-25 查询):

  • 多项目与权限:多测试项目并存,每项目独立的前缀编号(如 QZ-1);角色权限(admin/leader/tester/guest 等)按项目授予,支持 LDAP 与外部认证插件。
  • 测试用例管理:多级测试套件、步骤式用例、前置条件、关键字(Keyword)、重要性等级、自定义字段、用例版本与历史、附件上传(文件仓库)。
  • 测试计划与执行:计划绑定用例集与平台(Platform),按构建(Build)执行;执行时可逐步骤记录结果、写备注、上传证据附件;支持「执行任务分配」到具体测试人员。
  • 需求可追溯:需求规格(Requirement Specification)→ 需求 → 用例关联,形成「需求覆盖率」报表,这是 TestLink 相对轻量工具的核心差异化能力。
  • 报表与指标:按计划/构建/执行人/优先级统计的通过率、阻塞率、执行进度,导出 Excel/HTML;另有「事件(Event)」审计日志。
  • 接口与自动化:XML-RPC 全生命周期接口(增删改查项目、套件、用例、计划、构建、执行结果),Python/Java/Ruby/PHP 官方示例客户端随源码发布。
  • 集成:Bugzilla、Jira、Mantis、Redmine、FogBUGZ 等缺陷系统对接;邮件通知(SMTP)可配;支持 OAuth/Google 登录的示例配置。
  • 国际化:自带多语言包(含简体中文 zh_CN),界面可切换语言。

已知限制(官方现状与实测确认):

  • 停止演进:1.9.20(2020-01-19)之后无新版本,2.x 未发布;新 PHP 版本兼容需自行打补丁。
  • 界面老旧:管理后台式布局,无现代化交互(拖拽排序、实时协作、移动端适配都很弱)。
  • 只有 XML-RPC:没有 REST API,也没有 OpenAPI 文档;新语言/新框架的集成需要手写 XML-RPC 客户端。
  • 安装是手工向导:官方无安装编排文件,必须走浏览器安装向导 + 手工执行 UDF(自定义函数)SQL 脚本,且数据库账号需要较高权限(详见部署篇实测)。
  • 无内置 CI 集成:需要自己写脚本调用 XML-RPC,或依赖社区插件。
  • 社区活跃度低:GitHub 星数约 1.6k(shields.io,2026-10-25),近期提交稀疏。

五、快速开始(最小可用示例)

官方给出的路径是 LAMP 手工安装,最小流程(2026-10-25 查询自官网文档;逐步实测回显见本专栏部署篇):

# 1. 准备 Apache 2.x + PHP(官方推荐 7.2)+ MySQL 5.7+/8.0
#    MySQL 需开启 log_bin_trust_function_creators=1
# 2. 下载并解包发行包到 Web 根目录
wget https://sourceforge.net/projects/testlink/files/TestLink%201.9/TestLink%201.9.20/testlink-1.9.20.tar.gz
tar xzf testlink-1.9.20.tar.gz -C /var/www/
# 3. 浏览器打开 http://<服务器IP>/testlink/install/
#    按向导填写数据库连接与首个管理员账号,执行安装
# 4. 手工执行向导提示的 UDF 脚本(把占位库名替换为实际库名)
# 5. 打开 /login.php,用向导里创建的管理员账号登录

安装完成后,所有业务数据都在一个数据库里(本次实测 77 张表),附件落在 upload_area/ 目录,备份 = mysqldump + 打包 upload_area/。

六、适用场景与限制

适合:

  • 需要私有化 + 零订阅费,且预算无法通过 SaaS 采购的中小团队与外包交付团队。
  • 流程规范要求「需求—用例—执行」三段可追溯(验收测试、政企项目、ISO/CMMI 审计场景)。
  • 手工测试为主、需要按构建反复回归并留下逐步骤证据的团队。
  • 已有老旧 PHP 运维能力(或愿意维护一套 LAMP)的组织——运维成本对这类团队几乎为零。

不适合:

  • 追求现代 UI、实时协作、移动端使用的团队——界面是 2010 年代风格。
  • 需要 REST API / Webhook / 原生 CI 插件的团队——只有 XML-RPC。
  • 需要长期获得安全更新与版本演进的生产系统——项目已停更五年。
  • 纯敏捷小队、用例量很少的团队——Excel 或 Jira 插件更轻。

七、同类选型对比

对比对象为开源/商业测试管理领域的主流方案,关键数据为 2026-10-25 实查:

维度TestLinkKiwi TCMSTestRailQase
定位传统测试管理(需求到执行全链)现代开源测试管理商业测试管理标杆商业 SaaS 测试管理
技术栈PHP + MySQL/PostgreSQLPython/Django + PostgreSQL/MySQLPHP + MySQLSaaS
开源协议GPL-2.0GPL-2.0闭源商业闭源(有免费档)
部署LAMP 手工安装官方发布编排,安装较简单商业部署/云纯云
接口XML-RPC(API 1.1)REST API + 强 CI 集成REST APIREST API
需求追溯内建(需求规格→需求→用例)需插件/外部系统内建内建
用例模型步骤式 + 版本化自由文本 + 版本化步骤式步骤式
UI老旧管理后台现代 Web现代 Web现代 Web
中文界面有(zh_CN 语言包)有社区语言包有有
GitHub 星数(2026-10-25)约 1.6k1.3k—(闭源)—(闭源)
版本状态1.9.20(2020-01),停更活跃活跃(商业)活跃(商业)
成本00按席位订阅按席位订阅

💡 表格解读:TestLink 与 Kiwi TCMS 星数接近,但路线完全不同——TestLink 强在需求追溯 + 步骤式用例 + 停更带来的稳定性,Kiwi 强在现代栈 + REST API + 活跃维护。如果团队有审计/交付合规要求,TestLink 的需求覆盖率报表是现成的;如果团队强调 CI 集成与现代体验,Kiwi 更合适;预算充足且要服务保障,则看 TestRail/Qase。

「如果…则…」选型建议:

  • 如果你需要「需求—用例—执行」可追溯且完全自建 → TestLink。
  • 如果你想要现代化界面、REST API、活跃社区 → Kiwi TCMS。
  • 如果你要商业 SLA、开箱即用的 CI 集成 → TestRail 或 Qase。
  • 如果团队只有 3~5 人、用例不到 200 条 → Excel/Jira 插件性价比更高。

八、参考链接