跳到主要内容

1 篇博文 含有标签「engineering-practices」

查看所有标签

删除评估用例是决策,而非清理

· 阅读需 11 分钟
Tian Pan
Software Engineer

每个评测套件(eval suite)最终都会被精简。有人注意到套件运行需要 9 分钟,每次运行成本 40 美元,而且里面充满了没人记得为什么要写的用例。他们提交了一个名为 “清理陈旧评测用例” 的 PR,删除了 40 条 “看起来不再相关” 的条目,CI 运行时间降到了 4 分钟。PR 获得了点赞。没人反对,因为删除测试看起来就像是在做维护。

这不是维护。每一个评测用例都是团队对自己做出的承诺:这种失败模式不会再静默地发生。 删除用例就意味着撤销了这项保证。通过率没有变化,仪表板依然是绿色的,唯一消失的是团队对这项保证曾经存在过的记忆。六个月后,一次模型迁移重新引入了被删除用例所防范的回归,复盘(postmortem)重新发现了团队已经支付过代价的教训,然后有人写道 “我们应该为此添加一个测试” —— 而这个测试正是之前在清理 PR 中被删除的那个。