概念定义
回归测试是在代码变更时重新执行那些编码了已知良好行为的测试,以及时发现非预期的破坏。它不是一类独立的测试,而是一种用途:任何测试只要守护了曾经可用的行为,都可以成为回归测试。由于套件会增长,成熟的团队会选择与排序——每次变更运行快速的关键测试,全套件更少地运行——而不是盲目重跑一切。
为什么重要
对线上系统的大多数变更本意是局部的,却往往不是:一个共享辅助函数变化,远处某功能随之损坏。回归测试在用户之前发现这一点,且自动、可重复。它让团队能放心重构与升级依赖,并把“我破坏了什么吗”这一问题从希望变成信号。
工程实践
把测试绑定到可观察的行为而非内部结构,使其在重构后仍然有效。做好优先级:每次变更运行快速、高价值的测试,把较慢的端到端套件安排在不会阻塞反馈的位置。当回归测试失败时,把它当作证据并在改动或跳过前先调查——悄悄删除一个失败的测试,正是已知缺陷回归的方式。