- Updated links in CONTRIBUTING.md and README.md to point to the correct Chinese documentation paths. - Removed outdated files including the English and Chinese versions of the branching strategy, contributing guide, and test plan documents. - Cleaned up references to non-existent documentation in the project structure to streamline the contributor experience.
4.7 KiB
测试计划
为了给用户提供更稳定的应用体验,并提供更快的迭代速度,Cherry Studio推出“测试计划”。
用户指南
测试计划分为RC版通道和Beta版通道吗,区别在于:
- RC版(预览版):RC即Release Candidate,功能已经稳定,BUG较少,接近正式版
- Beta版(测试版):功能可能随时变化,BUG较多,可以较早体验未来功能
用户可以在软件的设置-关于中,开启“测试计划”并选择版本通道。请注意“测试计划”的版本无法保证数据的一致性,请使用前一定要备份数据。
用户选择RC版通道或Beta版通道后,若发布了正式版,仍旧会升级到正式版。
用户在测试过程中发现的BUG,欢迎提交issue或通过其他渠道反馈。用户的反馈对我们非常重要。
开发者指南
参与测试计划
开发者按照贡献者指南要求正常提交PR(并注意提交target为main)。仓库维护者会综合考虑(例如该功能对应用的影响程度,功能的重要性,是否需要更广泛的测试等),决定该PR是否应加入测试计划。
若该PR加入测试计划,仓库维护者会做如下操作:
- 通知
PR提交人 - 设置PR为
draft状态(避免在测试完成前意外并入main) milestone设置为具体测试计划版本- 修改
PR标题
PR提交人在参与测试计划过程中,应做到:
- 保持
PR分支与最新main同步(即PR分支总是应基于最新main代码) - 保持
PR分支为无冲突状态 - 积极响应 comments & reviews,修复bug
- 开启维护者可以修改
PR分支的权限,以便维护者能随时修改BUG
加入测试计划并不保证PR的最终合并,也有可能由于功能不成熟或测试反馈不佳而搁置
测试计划负责人
某个维护者会被指定为某个版本期间(例如1.5.0-rc)的测试计划负责人。测试计划负责人的工作为:
- 判断某个
PR是否符合测试计划要求,并决定是否应合入当期测试计划 - 修改加入测试计划的
PR状态,并与PR提交人沟通相关事宜 - 在测试计划发版前,将加入测试计划的
PR分支逐一合并(采用squash merge)至testplan对应版本分支,并解决冲突 - 保证
testplan分支与最新main同步 - 负责测试计划发版
深入理解
关于PR
PR是特定分支(及commits)、comments、reviews等各种信息的集合,也是测试计划的最小管理单元。
相比将所有功能都提交到某个分支,测试计划通过PR来管理功能,这可以带来极大的灵活度和效率:
- 测试计划的各个版本间,可以随意增减功能,而无需繁琐的
revert操作 - 明确了功能边界和负责人,bug修复在各自
PR中完成,隔离了交叉影响,也能更好观察进度 PR提交人负责与最新main之间的冲突;测试计划负责人负责各PR分支之间的冲突,但因加入测试计划的各功能相对比较独立(话句话说,如果功能牵涉较广,则应独立上测试计划),冲突一般比较少或简单。
testplan分支
testplan分支是用于测试计划发版所用的临时分支。
注意:
- 请勿基于该分支开发。该分支随时会变化甚至删除,且并不保证commit的完整和顺序。
- 请勿向该分支提交
commit及PR,将不会得到保留 testplan分支总是基于最新main分支(而不是基于已发布版本),在其之上添加功能
RC版分支
分支名称:testplan/rc/x.y.z
用于RC版的发版,x.y.z为目标版本号,注意无论是rc.1还是rc.5,只要主版本号为x.y.z,都在该分支完成。
一般而言,该分支发版的版本号命名为x.y.z-rc.n
Beta版分支
分支名称:testplan/beta/x.y.z
用于Beta版的发版,x.y.z为目标版本号,注意无论是beta.1还是beta.5,只要主版本号为x.y.z,都在该分支完成。
一般而言,该分支发版的版本号命名为x.y.z-beta.n
版本规则
测试计划的应用版本号为:x.y.z-CHA.n,其中:
x.y.z为一般意义上的版本号,在这里称为目标版本号CHA为通道号(Channel),现在分为rc和betan为发版编号,从1计数
完整的版本号举例:1.5.0-rc.3、1.5.1-beta.1、1.6.0-beta.6
测试计划的目标版本号指向希望添加这些功能的正式版版本号。例如:
1.5.0-rc.3是指,这是1.5.0正式版的预览版(当前最新正式版是1.4.9,而1.5.0正式版还未发布)1.5.1-beta.1是指,这是1.5.1正式版的测试版(当前最新正式版是1.5.0,而1.5.1正式版还未发布)