TestLink 1.9.20 介绍与选型指南
TestLink 1.9.20(2026-10-25 实查)开源自托管测试管理系统介绍与选型指南:数据模型、功能边界、已知限制,以及与 Kiwi TCMS/TestRail/Qase 的对比。
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 testlink | 1.9.20 | 2020-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 实查:
| 维度 | TestLink | Kiwi TCMS | TestRail | Qase |
|---|---|---|---|---|
| 定位 | 传统测试管理(需求到执行全链) | 现代开源测试管理 | 商业测试管理标杆 | 商业 SaaS 测试管理 |
| 技术栈 | PHP + MySQL/PostgreSQL | Python/Django + PostgreSQL/MySQL | PHP + MySQL | SaaS |
| 开源协议 | GPL-2.0 | GPL-2.0 | 闭源商业 | 闭源(有免费档) |
| 部署 | LAMP 手工安装 | 官方发布编排,安装较简单 | 商业部署/云 | 纯云 |
| 接口 | XML-RPC(API 1.1) | REST API + 强 CI 集成 | REST API | REST API |
| 需求追溯 | 内建(需求规格→需求→用例) | 需插件/外部系统 | 内建 | 内建 |
| 用例模型 | 步骤式 + 版本化 | 自由文本 + 版本化 | 步骤式 | 步骤式 |
| UI | 老旧管理后台 | 现代 Web | 现代 Web | 现代 Web |
| 中文界面 | 有(zh_CN 语言包) | 有社区语言包 | 有 | 有 |
| GitHub 星数(2026-10-25) | 约 1.6k | 1.3k | —(闭源) | —(闭源) |
| 版本状态 | 1.9.20(2020-01),停更 | 活跃 | 活跃(商业) | 活跃(商业) |
| 成本 | 0 | 0 | 按席位订阅 | 按席位订阅 |
💡 表格解读: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 插件性价比更高。
八、参考链接
- TestLink 官网:https://testlink.org/ (查询日期 2026-10-25)
- SourceForge 发行包:https://sourceforge.net/projects/testlink/files/ (testlink-1.9.20.tar.gz,2020-01-19)
- GitHub 源码仓库:https://github.com/TestLinkOpenSourceTRMS/testlink-code
- 官方文档(安装与使用手册):https://testlink.org/docs/ (仓库
docs/目录同源) - Kiwi TCMS:https://github.com/kiwitcms/Kiwi
- 星数取证(shields.io):https://img.shields.io/github/stars/TestLinkOpenSourceTRMS/testlink-code.json
- 本站相关专栏(自托管测试与研发工具方向):见本专栏部署篇与配置篇