关于自动化软件测试

上一篇 / 下一篇  2012-06-13 09:36:14 / 个人分类:自动化测试

看了这篇文章什么是测试自动化?

3eH/^].JO1]0  首先说明一下什么是自动化测试, 它主要完成2个方面的工作

'TM-p;Xu l.z051Testing软件测试网Ef'kN&iF4c

  ● 把手动的测试用例自动化,手动的测试用例可以自动执行

J d+luW-E5|c051Testing软件测试网MEOa8q YVQT2j

  ● 把没有办法手动的测试用例自动化,比如让你测试光驱可以打开几次,做个压力测试,人工测试显然不可行(也有人把这部分称之为自动化测试,但是我觉得这样太绕了,就全部称之为测试自动化吧)51Testing软件测试网 @V:t#q F,U$iF

51Testing软件测试网1tOK3h"Z ]'ffK

  然后再说明一下为什么要自动化,ROI如何;

6C Z0g6L6_J051Testing软件测试网8L?U3Y-Ya

  ● 研发要解决的问题是,一个是效果问题,一个是效率问题, 自动化可以提高效率(大部分人这么认为,虽然其实这个有待商榷),所以自动化有利于提高效率

N0toU yyf6\0

P5R'v8Bx$r&VA5\6A0  ● 这是一种工程师的态度,或者是套用一下流行的词,叫做Facebook的文化,Hacker的文化;因为不喜欢重复的做一个事情,把它自动化,看上去是很Cool的事情

.eEqz[+G.c051Testing软件测试网;O3yfz&ZMr+q

   所以自动化最重要的事情就是提高效率(当然能否提高效率,这个事情是这样的,因为UI经常变动,或者是由于其他的外部因素,自动化需要修改,维护,那么 投入的人力和物力是否大于产出或者小于产出,这个每个公司,每个产品都不一样,具体就不在这里讨论了)以及实现手动无法完成的事情;51Testing软件测试网:`0^l'ARsJd){

?^y N%|e`p0  接下来回应一下《什么是测试自动化?

+X!I g+LC,]051Testing软件测试网B5L1Kd5U!WG

  文章里面提到测试自动化是无法自动化所有的测试用例,这点是肯定的,完全同意;所以这里来说说自动化的弊端:51Testing软件测试网"s7on(a$m0Y [{` hp#@

51Testing软件测试网eu| D#B+E

  ● 自动化其实更多的是一种防御策略,是为了防止Regression,自动化发现的bug数量一般都是不及手动测试发现的bug数量;而且有人提出了有些系统比较难发现Bug的测试用例你即使在不同的版本多跑几次相同的测试用例效果甚微,就像杀虫剂效应一样,由于虫子有抗药性,同样Bug也有;所以不能期望自动化测试发现更多的Bug51Testing软件测试网 ?.[+|T@F9jKG

51Testing软件测试网3d[%S\~&@7W6Y

  ● 自动化测试需要更多的投入,维护,由于系统需要经常变动,期望值发生改变,所以自动化测试也需要变动51Testing软件测试网#]Z$mw%_Zs

P|pJd(k?3I/Q F d0  另外说明一下对API的测试不能算成自动化测试的范畴,因为你本来就是要测试这些API,只是恰好这些都可以写成Code,可以自动的运行而已;51Testing软件测试网"va In/E D3dA

jH)K)U0K1D E0  所以理想的情况是, 自动化的产出大于投入在自动化的人力,物力;然后解放出来的人力,物力可以花在发现新的Bug,解决新的Bug上面;而且由于大家不用去做重复的事情,真个团队的Productivity也很高。51Testing软件测试网@)CB(gUi6lv

Z;r6VD0t m#Kz0  相信这样的解释,大家对自动化就有一个合理的期望,然后心安理得的选择自动化或者是手工的测试。

Jo_H P Y0

TAG:

 

评分:0

我来说两句

Open Toolbar