另一方面,任何人都可以很快的告诉你下面的代码是错的:
def add(a, b):
return a + b + 1
计算机只按照指令执行操作,孰对孰错,人类能赋予它意义。
只有人才知道软件是为何而生。
现在我们知道每种测试的不同,以及如何组织它:人类来发现意义,自动化测试确保一致性。
我们来看一下测试的另一个方面。
“A/B 测试”是一种尝试不同分类来看哪种结果更好的测试。
比如你为了测试网站新的设计:给 90% 的访问者原有的设计,同时给 10% 的访问者新的设计,看看哪种注册人数多一点。
这是测试吗?
这就叫 “A/B 测试”,跟它的名字一样。
我们来重新看一下字典定义:“举证,通过一定原则或标准或实验,来证明真理,真实性。”
字典上说这也是测试,因为通过实验。
我们通过实验来看看哪个版本更受欢迎。
单于测试和代码审查,对比来说,就是通过一定原则或标准来测试。
我们对软件有一些特定规格,一些我们希望软件的行为,同时我们确保它符合规格。
现在我们有了第二种理解与组织测试的方法:通过实验测试 vs 针对规格测试
将它们放在一起我们得到下面这张关于测试的图表:
原文转自:https://juejin.im/post/58d90a3b44d90400694505c4