冒烟测试(smoke test)、可用性测试(sanity test)和回归测试(regression test)

冒烟测试(smoke test)、可用性测试(sanity test)和回归测试(regression test)

   测试领域,[冒烟测试](http://www.baidu.com/s?wd=%E5%86%92%E7%83%9F%E6%B5%8B%E8%AF%95&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLP1f4nH0YPHu9n1IWrAcz0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPHcknj64nWndrjfzPWfLrj0d)(smoke test)、[可用性测试](http://www.baidu.com/s?wd=%E5%8F%AF%E7%94%A8%E6%80%A7%E6%B5%8B%E8%AF%95&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLP1f4nH0YPHu9n1IWrAcz0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPHcknj64nWndrjfzPWfLrj0d)(sanity test)和回归测试(regression test)彼此之间很相似,范围也有重叠,所以比较容易混淆:都是在需求变更或问题修改后对系统全面测试之前的一种预测试,都是为了发现是否在界面和代码层面引入了问题。

我们可以用一个和河流相关的类比来更好的理解它们之间的差别,在类比之前,我们先了解下这几个测试的简单定义:
  Smoke Testing:测试新特性有关的所有方面 (广度) ,但不深入,用以判断我们是否需要执行进一步的测试。
  Sanity Testing:测试新特性的有限正常功能,深入测试。
  Regression testing:回归新特性所有相关功能,避免引入代码变更存在问题以及引入新问题,深入全面。

如果我们拿一条河流来比喻,比如1000英尺宽,在水里含有杂质(可以比作软件中的bug),那么这三种类型的测试可以被看作如下:
  对于Smoke Testing:为了找到河面所有的杂质,但不包括水面以下的。
  对于Sanity Testing:为了找到某个特定范围内所有的杂质(比如200英尺半径内),这不包含所有表面的杂质,但包含了那个范围内水面下直到水底的杂质。
  对于Regression Testing:为了这片水域所有的杂质,表面的以及水面以下的

你可能感兴趣的:(冒烟测试(smoke test)、可用性测试(sanity test)和回归测试(regression test))