1. 自动化测试的优点:
a) 节省人力,只要代码维护的好,不需要那么多人就可完成测试。
b) 节省时间,测试脚本可以晚上或者是周末跑测试脚本。
c) 优化资源分配,在运行测试脚本的同时,QA可以做其他事,比如设计新测试用例。
d) 方便regression,极大提高效率。
e) 增加软件的可信度,测试是机器执行的,排除了手工测试时因人为情绪而发生的随意性或疏忽性,测试结果更可信。
f) 能完成手工不易控制的工作,比如采集系统cpu占有率信息,手工计算很复杂,还要进行数据比对,使用脚本更简单,更方便。 2. 自动化测试的缺点:
a) 不能取代手工测试。
b) 手工测试比自动测试发现的缺陷更多,自动化测试不容易发现新的BUG。
c) 对测试质量的依赖性极大。(理解:自动化测试脚本的正常运转前,需要先经过功能测试的通过)
d) 自动化不能提高有效性。(理解:主要从维护脚本的花费资源上来看,并不能节省资源)
e) 测试自动化可能会制约软件开发。由于自动测试比手动测试更脆弱,所以维护会受到限制,从而制约软件的开发。(无法理解这一块,测试对于软件开发的影响程度还没有达到制约的程度)
f) 工具本身并无想像力综上所述,可以归结自动化完成不了的,手工测试都能弥补,两者有效的结合是测试质量保证的关键。 3. 自动化测试工具的分类:
a) 基于GUI的功能测试工具QTP(现UFT)。
b) 基于IDE的自动化测试,比如开源的selenium/eclipse/visual studio selenium是开源框架,eclipse需要需要插件。
c) 基于纯脚脚本的自动化测试 shell/perl/ruby/python。