qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

关于自动化软件测试

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

  首先说明一下什么是自动化测试, 它主要完成2个方面的工作

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

  ● 把没有办法手动的测试用例自动化,比如让你测试光驱可以打开几次,做个压力测试,人工测试显然不可行(也有人把这部分称之为自动化测试,但是我觉得这样太绕了,就全部称之为测试自动化吧)

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

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

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

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

  接下来回应一下《什么是测试自动化?

  文章里面提到测试自动化是无法自动化所有的测试用例,这点是肯定的,完全同意;所以这里来说说自动化的弊端:

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

  ● 自动化测试需要更多的投入,维护,由于系统需要经常变动,期望值发生改变,所以自动化测试也需要变动

  另外说明一下对API的测试不能算成自动化测试的范畴,因为你本来就是要测试这些API,只是恰好这些都可以写成Code,可以自动的运行而已;

  所以理想的情况是, 自动化的产出大于投入在自动化的人力,物力;然后解放出来的人力,物力可以花在发现新的Bug,解决新的Bug上面;而且由于大家不用去做重复的事情,真个团队的Productivity也很高。

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

posted on 2012-06-13 09:52 顺其自然EVO 阅读(288) 评论(0)  编辑  收藏 所属分类: qtpselenium and watir webdrivers 自动化测试学习


只有注册用户登录后才能发表评论。


网站导航:
 
<2012年6月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜