常言道,名正则言顺。对于一个概念,如果它没有恰当的名字,就会增加理解的难度,甚至容易引起歧义。
在这些年,不管是写公众号还是与同行交流,我都发现软件测试中的一个重要概念存在着“名不正,言不顺”的问题。这个重要概念就是回归测试。
到底什么是回归测试?为什么叫回归测试?据我观察,许多的答案都不能让人信服。今天,是时候为“回归测试”正个名了。
要理解“回归测试”,先要理解“回归”。回归,是常用的汉语词汇。它有两种含义。第一种是归还,返回的意思。例如:香港回归祖国,北回归线,回归初心等。这种含义大家都非常熟悉。
另外一种含义,熟悉的人就少一些。它来自数学领域,表示研究随机变量相互关系的统计分析方法。例如:回归分析,线性回归等。
这时候你会发现,不管哪一种含义都无法用来解释回归测试。于是,有人干脆就含糊其辞地把回归测试解释成“重复的测试”,“检测二次出现的/回归的bug的测试”等。
这些解释看似有些道理,但是离回归测试的真正含义还有距离。要理解回归测试这一舶来品的真正含义,需要回到它的原始出处。
回归测试翻译自英文“Regression Test”。什么是Regression呢?这也是一个多义词。它既有数学上回归的意思(例如Regression Analysis,回归分析),也有衰退,退化的意思(例如Economic Regression,