51Testing软件测试网pX{z$enF 探索性测试是众多测试种类中的很基本的一种。凡是做过测试的人,都会有意识或无意识的做过探索性测试。
7j]^n@3Mm0c$N&_/a#_1I2af0 但是探索性测试本身是什么意思呢?
bMw#Fh8A'}z0n n]`$Ec*x/?8qv0 其实探索性测试正如它的名字一样,需要探索才知道测试的结果。这是一种测试设计与执行同步的测试。51Testing软件测试网D
e6r:\ KE
51Testing软件测试网~k JZ8L2@_Vj-o 而且,下一步要做什么,很大程度上依赖于上一步测试的结果是什么。
r[7Y7i&LL7^C07H]1CC
FM0 其实在业内,大家对于探索性测试没有给予太多的尊重。很多人可能会说,不就是手动测试嘛,有什么特别的,什么人都能做。
7xv[(RG5R~h051Testing软件测试网t+O1e,T{nR$O 前半部分说对了,基本上就是手动测试。51Testing软件测试网*Tp.d`-`.Y[W(HMR
51Testing软件测试网#aZ8[z4D_E)^a 但是这可不是什么人都能做的。探索性测试不是ad hoc测试(随机测试)。需要系统的思考,需要设定比较具体的测试目标。
1_zJ`KQF051Testing软件测试网0O"B Y6l5R9t-f 通常正确的做法是把有经验的人放去做探索性测试,而其他类型的测试(比如回归测试,随机测试等等)可以让稍欠经验的人来进行。
mO~j4Q/q_00V&[*\ h5Eh+k'\\0 很多公司都进行了自动化测试,为什么我们还需要探索性测试呢。51Testing软件测试网5c)t1W I-YC2E
51Testing软件测试网.]._G4s5a_ 为了找到产品的风险,找到产品不稳定的地方。
DQqc5IV P0!LA,gd3`3K
?y!R^L0
做IT这个行业的都知道,我们虽然是按着一个需求去做的,但是做出来的东西跟预期的差别总是存在。也就是我们所得到,跟我们所期望的不会完全匹配。我们
可能没有完全达到期望的,但是又开发出了一些附加的东西,这些附加的东西可以是bug,也可以是无伤大雅的特性,也可能是存在不稳定性的功能块。这些都是
需要找出来的。51Testing软件测试网-X.s9QL2z@o
51Testing软件测试网nr7K:hFxFO 自动化测试往往实现的是你已经知道会发生什么了,你去assert那个期望值。51Testing软件测试网"X2E~7Z6j*L|GZ
@1st%gQ.o'ZRdL0 探索性测试通常是,你不知道会发生什么,就去试试。
\#I
R4v&H00hG1O A9dA U0 经验越多的人,试试的方向就更正确。51Testing软件测试网z5dg$EP6e+UG(l
m5mm;}LxD+v0 至于怎么做,其实根据产品本身的特征,可以有不同的做法。51Testing软件测试网^,_,}
XXd
S
cY/Ot0t(cL+F*^a/]#\0 比如说你可以设定一个目标,说我想看看产品在一些边界条件下会怎么工作。然后通过输入边界条件来看是不是得到可接受的结果。51Testing软件测试网P%S*By*E6Szu+E t(T
B!P}@-qQB0 比如说你可以把目标设为“我想不断的重复这个添加删除操作看看产品怎么反应”,然后不断反复这个添加删除的动作,看看系统会不会有异常。
Aqsa9z!f\?051Testing软件测试网h4J8N-K7D\!S3X/H] 比如说我想看看在批量查询的过程中随便点击查询窗口会怎么样,看看会不会发生系统停止响应。51Testing软件测试网9a0p1f2dUK)cl` R+LL
51Testing软件测试网&^6u4QiUP 。。。51Testing软件测试网*C%Z$r a M1]ct
51Testing软件测试网'l_E:p9N8Y so(o 正如探索性测试的初衷所说,我们要找到风险所在。在经过了一系列的尝试以后,我们就要给出相应的结论,什么地方出问题或者可能出问题,我们怎么样发现的(做了什么操作,用了什么数据,看到什么现象,等等)。51Testing软件测试网_o sCo&X
*aV hU5Dl0 有时间会找个案例上来详细分析。51Testing软件测试网N#fZ4vq Cku*X.G