何时以及对什么进行自动化
2,018 Views『作者:RickyZhu 转载务必注明出处和作者』
Tag:automation
根据我以前的经验,测试自动化最适合的测试类型应该是系统测试,特别是系统的回归测试.但是最近看的一本书<Just Enough Test Automation>中的有些观点,改变了我的一些看法,在这里跟大家分享一下.
对于单元和集成测试,自动化测试是不必可少的.为什么?因为如果没有自动化,用于测试的构建版本质量就会很差.结果本该在开发阶段发现的问题,留到了系统测试工程师了.(其实这里我认为有一个错误的观点,那就是认为系统的缺陷是测试出来的,其实这个问题的正确认识应该是系统的缺陷是设计和开发出来的,另外一个方面,单元测试和集成测试级别引入自动化,还需要保证系统的功能足够稳定,否则在这个阶段进行自动化测试,频繁的改动就会造成系统的自动化测试脚本维护成本很高,我在以前的自动化测试过程中曾经吃过这方面的亏,我们是在系统测试阶段引入的,可是产品本身不够稳定,付出了高昂的维护代价).
同时测试自动化是一项投资.最初的投资可能很高,但是投资的回报也很丰厚.自动化测试运行超过15次以后,测试就是免费的了.为了计算投资回报,一定要确定次数;也就是说,测试集需要执行的次数-要将平台数,操作系统数,以及支持的语言种类,也要与测试要执行的构建数/版本数相乘. 按照这种计算方法,单元和集成测试的自动化就比系统测试的自动化跟值得. 因为系统测试比其他两种测试类型重用的机会少.如果系统级别的测试没有在一个重用程度很高的自动化测试集中实现,系统测试的自动化就不会有很高的投资回报.单单元测试和集成测试的投资回报就高的多.
最后一句很精辟:很少有公司完全意识到自动化测试的价值.他们想拥有,也知道他们需要,但最后他们不能让上层的管理者信服其成本收益. 我认为这有一部分是他们自身的原因,另外一部分原因是由上层管理者的决心决定的.
另外一个关于对什么进行自动化的例子:
被测对象的一个feature需要花费6个小时进行测试.如果执行这些手工测试要花费6个小时,那么使用自动化测试工具记录测试的时间至少要多花费6个小时(可能更长,因为要在手工测试和测试工具/测试脚本之间切换).普遍可以接受的观点是要花费另外的12个小时来把手工测试转换成自动化测试.情况就是这样,这个feature的自动化前期就已经花费了18个小时,是手工执行测试时间的3倍. 一般来说,重新运行一个自动化测试脚本只需要手工执行时间的1/10(GUI的测试有些例外,受限制与工具的执行速度). 假设,自动化执行时间是36分钟.那么,在第四次对这个feature进行自动化测试的时候,就已经比手工测试节省了大约5.5个小时(这就是为什么我们说自动化测试需要执行4-7次才能收回成本的原因).而且此后每次对这个feature进行回归,都可以节省这么多的时间.另外,自动化回归测试不仅能节省时间,而且可以除去人为的因素在里面,使得测试更加准确和精确. 引用我们系统测试部门一位高级经理的话: 你让它执行100次就是100次,它不会偷懒,也不会折扣.
最近一直在看<Just Enough Test Automation> 这本书,机械工业出版社翻译过来的,中文名是<软件测试自动化>以后还会结合我以往几年的自动化测试经验和大家分享一些书中的观点和我的看法.

看了一些你写的文章,感觉不错,顺便转了几篇到我的BLOG里你不介意吧。
转载可以,请保持文章的完整性,注明出处并给出原文链接。多谢
我觉得需要多多看你的博客呀。