Kiwi TCMS 在测试管理领域一直备受关注,不少团队采用它来同时支持手动测试与自动化测试流程。其核心能力包括:与缺陷追踪系统无缝集成、快速精准的搜索界面、细粒度的权限管控、兼容主流测试框架的插件生态、多维度的清晰报表,以及一套全面的 RESTful API——可以说,测试管理平台所需的核心功能它基本都具备。
Kiwi TCMS 15.3 版本现已正式发布。虽然本次迭代规模不大,但一些细节改进仍然值得关注,重点涵盖依赖组件升级、数据库迁移脚本新增,以及大量 API 功能扩展与优化。
自 15.2 版本以来的主要变更,我们逐一进行解读。
功能优化
- Django 框架从 5.2.9 升级到了 5.2.10,保持稳定的迭代节奏,提升安全性与性能。
- django-simple-captcha 从 0.6.2 升级到 0.6.3,验证码组件获得修复与增强。
- django-simple-history 从 3.10.1 升级到 3.11.0,历史记录追踪功能更加可靠。
- (原文提到的“从 3.10 更新到 3.10.1”,未明确具体包名,这里保留原描述。)
- psycopg[binary] 从 3.3.1 升级到 3.3.2,PostgreSQL 数据库连接库得到优化。
- python-gitlab 从 7.0.0 直接跳升到 8.0.0,版本跨度较大,需注意兼容性影响。
- tzdata 从 2025.2 升级到 2025.3,时区数据同步更新。
- node_modules/pdfmake 从 0.2.20 升级到 0.3.3,PDF 生成组件获得重要更新。
- 管理后台现在支持对“分类”、“产品”、“优先级”、“组件”及“版本”等模型字段进行本地化翻译,修复了问题 #4193,多语言场景更友好。
- 分类项(Category)列表默认按名称升序排列,修复了问题 #4166,筛选体验更一致。
- 文件上传环节的元数据校验逻辑得到强化,有效降低了上传出错的风险。
- 邮件主题中的换行符被清除,避免因格式异常导致服务中断——这一细节在自动化通知场景中尤为实用。
数据库变更
- 新增迁移脚本:
management.0012_alter_classification_options_alter_component_options_and_more - 新增迁移脚本:
testcases.0023_alter_category_ordering
如果你正在升级数据库,请务必执行这些迁移脚本,确保数据结构与新版匹配。
API 接口增强
本次 API 层面的变化相当丰富,几乎覆盖了从 Bug 管理到测试执行的全链路,值得深入关注。
- Bug 管理新增了
Bug.create()、Bug.filter_canonical()、Bug.get_comments()、Bug.add_comment()、Bug.add_attachment()、Bug.list_attachments()、Bug.add_execution()方法——Bug 与测试执行的关联更加紧密,便于追踪缺陷与测试用例的对应关系。 - Group 管理新增了
Group.filter()、Group.permissions()、Group.users()方法,权限和用户查询更加灵活,方便团队管理。 - TestExecution 新增了
TestExecution.add_attachment()、TestExecution.list_attachments()、TestExecution.create()、TestExecution.add_property()方法,测试执行环节的附件与属性管理进一步完善。 - TestRun 新增了
TestRun.list_attachments()、TestRun.add_property()、TestRun.get_cc()方法,测试运行的数据管理能力得到增强。 TestCase.create()和TestPlan.create()现在支持通过参数覆盖create_date字段——这对需要精确控制创建时间的场景(如数据迁移或历史记录导入)非常有用。- 超级管理员可以在调用
TestCase.add_comment()和TestExecution.add_comment()时自定义评论作者与提交时间,该权限进一步强化了管理员的控制力,适合审计或回溯场景。 - 大量 filter 方法返回结果改为按
id字段升序排列,涉及 BugTracker、Category、Classification、Component、Group、PlanType、Priority、Tag、Template、TestCase、TestCaseStatus、TestExecution、TestExecutionStatus、TestRun、User——几乎是对全局性的排序规范调整,对依赖 API 进行结果一致性的处理影响较大,建议开发者注意适配。 TestCase.comments()方法的响应结构做了调整:site字段重命名为site_id,user字段重命名为user_id——命名更规范,但若存在旧解析逻辑,需进行相应迁移。
代码重构与测试改进
- actions/upload-artifact 动作从 v5 升级到 v6,CI/CD 流程更加稳定高效。
- black 代码格式化工具从 25.11.0 升级到 25.12.0,代码风格一致性进一步提升。
- Locust 性能测试框架从 2.42.6 升级到 2.43.1,压力测试能力得到增强。
- node_modules/brace-expansion 从 1.1.11 升级到 1.1.12,依赖安全性更新。
- node_modules/webpack 从 5.103.0 升级到 5.104.1,前端构建性能优化。
- 官网文档中相关链接地址同步更新,确保用户访问到最新资源。
TestRun.create()API 实现中的冗余逻辑被移除,代码更简洁、可维护性更高。- 为
TestRun.create()的单元测试补充了更多断言用例,测试覆盖更全面,保障稳定性。
总体来看,Kiwi TCMS 15.3 版本虽然是一次小版本迭代,但 API 的扩展与规范化力度显著,尤其是 filter 排序的统一调整,对于依赖 API 进行数据处理的团队来说需要重点关注。数据库迁移脚本也已新增,升级时务必执行。如果你已经在使用 Kiwi TCMS,这个版本值得跟进升级。
