论坛首页 综合技术论坛

为什么要做探索性测试

浏览 1801 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-03-19  
探索性测试是众多测试种类中的很基本的一种。凡是做过测试的人,都会有意识或无意识的做过探索性测试。

但是探索性测试本身是什么意思呢?
其实探索性测试正如它的名字一样,需要探索才知道测试的结果。这是一种测试设计与执行同步的测试。
而且,下一步要做什么,很大程度上依赖于上一步测试的结果是什么。

其实在业内,大家对于探索性测试没有给予太多的尊重。很多人可能会说,不就是手动测试嘛,有什么特别的,什么人都能做。
前半部分说对了,基本上就是手动测试。

但是这可不是什么人都能做的。探索性测试不是ad hoc测试(随机测试)。需要系统的思考,需要设定比较具体的测试目标。
通常正确的做法是把有经验的人放去做探索性测试,而其他类型的测试(比如回归测试,随机测试等等)可以让稍欠经验的人来进行。

很多公司都进行了自动化测试,为什么我们还需要探索性测试呢。
为了找到产品的风险,找到产品不稳定的地方。

做IT这个行业的都知道,我们虽然是按着一个需求去做的,但是做出来的东西跟预期的差别总是存在。也就是我们所得到,跟我们所期望的不会完全匹配。我们可能没有完全达到期望的,但是又开发出了一些附加的东西,这些附加的东西可以是bug,也可以是无伤大雅的特性,也可能是存在不稳定性的功能块。这些都是需要找出来的。

自动化测试往往实现的是你已经知道会发生什么了,你去assert那个期望值。
探索性测试通常是,你不知道会发生什么,就去试试。
经验越多的人,试试的方向就更正确。

至于怎么做,其实根据产品本身的特征,可以有不同的做法。
比如说你可以设定一个目标,说我想看看产品在一些边界条件下会怎么工作。然后通过输入边界条件来看是不是得到可接受的结果。
比如说你可以把目标设为“我想不断的重复这个添加删除操作看看产品怎么反应”,然后不断反复这个添加删除的动作,看看系统会不会有异常。
比如说我想看看在批量查询的过程中随便点击查询窗口会怎么样,看看会不会发生系统停止响应。
。。。

正如探索性测试的初衷所说,我们要找到风险所在。在经过了一系列的尝试以后,我们就要给出相应的结论,什么地方出问题或者可能出问题,我们怎么样发现的(做了什么操作,用了什么数据,看到什么现象,等等)。

有时间会找个案例上来详细分析。


论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics