自动化测试的目的

2011-07-23  熊志男 

[如需转载,请在转载时注明出处,并保证本文的完整性] 

      翻一翻3年前写的东西,看下自己的技术和想法是否进步了:

    我们在制定测试计划的时候,会考虑是否要运行自动化测试,如何运用等问题。要解决这些问题,我觉得应该首先搞清楚自动化测试的目的是什么,才能继续讨论自动化测试在整个测试阶段中的作用。

    在质量年会上测试时代网站负责人贺炘讲到软件测试的目标是“高效的提高软件测试用例的覆盖度”,假设具备了这个目标是符合我们工作目标的前提,那么其中的高效二字正是自动化测试所需要做的。

    我认为高效体现在我们工作中就是以下两点:一是提高速度,无论做什么事情速度快了,自然效率就高;二是解放生产力,把需要重复做的和不需要思考的体力劳动交给机器来做,我们测试人员就能够用更多的精力来做更重要的事情,比如思考新的测试用例来增加覆盖度等。

    我最开始也曾认为自动化测试最终会取代手工测试,也许还有别的人有这样的想法,但应该不是的,软件的自动化测试只是辅助性的测试,所谓辅,就不能代替了主。谁敢保证,一个软件出来,用自动化脚本跑一跑就ok,就可以发布了?不可以。大家知道测试用例是无法穷尽的,那么自动化测试脚本本身就是有局限性的,更何况我们现在的脚本多是针对纯功能的,覆盖到的也只是单个功能。因此过分的夸大自动化测试是错误的。

    那么也有的人认为自动化测试是没有用的,我们做过自动化的人可以问下自己,自动化测试发现了多少bug?在质量年会上,测试时间网站负责人贺炘讲了一个事情:“他一次去一个公司做培训,然后公司的测试负责人拿了一个用QTP做的功能的脚本,非常详细,整个软件的流程都能够运行下来,那个测试负责人非常自豪得给贺炘演示脚本的运行。后来贺炘问他这个脚本用过吗?那个负责人说没有。那他们为什么要做这个脚本呢?他说是测试人员对这个感兴趣,觉得这个比较有技术含量,而且做出来给老板演示,老板会看得很高兴。”这个故事中没有说为什么这个脚本没有运行起来,我们这里不深究。现在思考一下自动化测试是否有用。答案是肯定的。如果拿bug来衡量自动化测试成果的话,那是错误的。纯粹为了发现bug的话,还是手工测试来的更快些。可以说自动化脚本中覆盖的测试用例大多是已经手工执行过的用例,它起到的作用也就是回归测试和验证软件功能的作用,但是它所作的这些工作也是必不可少的。我们只有正确认识到自动化测试所充当的角色,才能够肯定它的作用。

因此,我认为自动化测试的目的就是,用快速运行的工具替代测试人员的一部分工作,并且随着工具不断改进和脚本的不断完善,使我们的测试工作越来越高效。

                                                         

                                                                GBQ  熊志男

                                                                  2008.12.28

836°/8317 人阅读/5 条评论 发表评论

邓智群  2011-07-26

很不错 ,学习了


付民  2011-07-26

咯咯......


小窝  2011-08-04

同步至官方微博


白云  2011-08-09

测试人员对这个感兴趣,觉得这个比较有技术含量,而且做出来给老板演示,老板会看得很高兴。。
受不了啊。。为了什么工作啊这是?


熊志男  2011-08-09

白云: 测试人员对这个感兴趣,觉得这个比较有技术含量,而且做出来给老板演示,老板会看得很高兴。。
受不了啊。。为了什么工作啊这是?
是啊 这样是不对的啊


登录 后发表评论