在测试领域,冒烟测试(smoke test)、可用性测试(sanity test)和回归测试(regression test)彼此之间很类似,范围也有重叠,测试
因此比较容易混淆:都是在需求变动或问题修改后对系统全面测试以前的一种预测试,都是为了发现是否在界面和代码层面引入了问题。it
咱们能够用一个和河流相关的类比来更好的理解它们之间的差异,在类比以前,咱们先了解下这几个测试的简单定义:io
若是咱们拿一条河流来比喻,好比1000英尺宽,在水里含有杂质(能够比做软件中的bug),test
那么这三种类型的测试能够被看做以下:软件
对于Smoke Testing: 为了找到河面全部的杂质,但不包括水面如下的bug
对于Sanity Testing: 为了找到某个特定范围内全部的杂质(好比200英尺半径内),这不包含全部表面的杂质,但包含了那个范围内水面下直到水底的杂质界面
对于Regression Testing: 为了这片水域全部的杂质,表面的以及水面如下的系统