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。
- python-gitlab 从 7.0.0 直接跳到了 8.0.0,这个版本跳跃比较大,需要注意兼容性。
- tzdata 从 2025.2 升级到 2025.3。
- node_modules/pdfmake 从 0.2.20 升级到 0.3.3。
- 管理后台现在支持对“分类”、“产品”、“优先级”、“组件”及“版本”等模型字段进行本地化翻译,修复了问题 #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。
- 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()的单元测试补充了更多断言用例,测试覆盖更全面。
整体来看,这次 15.3 版本虽然是小版本迭代,但 API 的扩展和规范化力度不小,尤其是 filter 排序的统一调整,对依赖 API 进行数据处理的团队来说,需要留意。数据库迁移脚本也新增了,升级时务必执行。如果你已经在用 Kiwi TCMS,这个版本值得跟进。